{"id":120989,"recorded_at":"2026-10-26T14:40:19.088612Z","observed_at":"2026-10-26T14:40:19.088578Z","subject_kind":"source_record","subject":"x402_bazaar:https://scrapecheck.fly.dev/verify-redirect","kind":"listing","method":"baseline/1","body":{"endpoints":[["x402","https://scrapecheck.fly.dev/verify-redirect"]],"name":"ScrapeCheck","owner_address":"0x455f20ec147477cafcd6d77c1604529f3c4ff665","raw":{"accepts":[{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"maxTimeoutSeconds":300,"network":"eip155:8453","payTo":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665","scheme":"exact"},{"amount":"2000","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","extra":{"name":"USD Coin","version":"2"},"maxTimeoutSeconds":300,"network":"eip155:137","payTo":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665","scheme":"exact"},{"amount":"2000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP"},"maxTimeoutSeconds":300,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payTo":"4HuSbgqgKkeUM5jEzAzLGpxtivCGda9eEtYc2Sp1fLpM","scheme":"exact"}],"description":"Redirect tier (deterministic, no LLM): verifies where a public URL actually leads: final URL (byte-exact), first response status, and hop count of the HTTP chain, walked twice with per-hop SSRF checks. Use it to confirm a link or a moved page points where it claims. Loops and unstable chains return unverifiable, never a guess. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them.","extensions":{"bazaar":{"info":{"input":{"body":{"claim":{"final_url":"https://scrapecheck.fly.dev/price-mismatch-checker","first_status":301,"hops":1},"url":"https://scrapecheck.fly.dev/audit"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"check_type":"redirect_chain_v1","confidence":0.95,"engine":"web_field_v1/0.3.2+17e21204a029","evidence":{"lens_votes":{},"refetch_excerpt":"301 https://scrapecheck.fly.dev/audit -> 200 https://scrapecheck.fly.dev/price-mismatch-checker","refetched_at":"2026-08-28T00:00:00.000Z","second_fetch_at":"2026-08-28T00:00:01.000Z"},"key_id":"k2","reasons":["the chain settles at the claimed final URL (byte-exact)","first response status is 301 as claimed","the chain has 1 redirect hop(s) as claimed"],"signature":"ed25519:…","source_hash":"sha256:…","verdict":"pass","verdict_id":"00000000-0000-0000-0000-000000000000","verifier_url":"https://scrapecheck.fly.dev"},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"claim":{"description":"see the route description; there is no asked field - this tier adjudicates exactly what it accepts","type":"object"},"url":{"description":"public HTTPS URL","type":"string"}},"required":["url","claim"]},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"check_type":{"description":"The check contract used, e.g. web_field_v1.","type":"string"},"confidence":{"description":"The engine's confidence in the verdict, 0 to 1.","type":"number"},"engine":{"description":"Engine name and version digest that produced the verdict.","type":"string"},"evidence":{"description":"What the re-fetch observed.","properties":{"lens_votes":{"description":"Boolean votes is_real, is_current, does_answer from the judging lenses.","properties":{"does_answer":{"type":"boolean"},"is_current":{"type":"boolean"},"is_real":{"type":"boolean"}},"type":"object"},"refetch_excerpt":{"description":"Excerpt of the re-fetched page content the verdict was judged against.","type":"string"},"refetched_at":{"description":"UTC timestamp of the engine's own fetch of the page.","type":"string"}},"type":"object"},"key_id":{"description":"Identifier of the signing key; resolve against GET /pubkey.","type":"string"},"reasons":{"description":"The stated reasons for the verdict.","items":{"type":"string"},"type":"array"},"signature":{"description":"ed25519 signature over canonical sorted-key JSON of every field except signature.","type":"string"},"source_hash":{"description":"sha256 of the normalized page text the verdict judged; null when no anchor text was obtained.","type":["string","null"]},"verdict":{"description":"One of pass, fail, unverifiable.","enum":["pass","fail","unverifiable"],"type":"string"},"verdict_id":{"description":"Unique identifier for this verdict; its issuance is confirmable at GET /verdicts/{verdict_id}.","type":"string"},"verifier_url":{"description":"The issuing service's URL; display only, never a trust root.","type":"string"}},"required":["verdict_id","verdict","confidence","reasons","evidence","check_type","engine","key_id","verifier_url","source_hash","signature"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"errorNote":"A page that cannot be verified is NOT an error: unverifiable (or fail on /verify-presence) is a signed 200 verdict. 4xx means the request never reached the engine.","errors":[{"body":{},"name":"Payment Required","note":"the x402 v2 challenge is not in the body; it is base64-encoded JSON in the PAYMENT-REQUIRED response header","status":402,"when":"any request without valid payment, a free-allowance header, or a service key — including requests with malformed bodies: payment is checked before input validation"},{"body":{"details":["url: Invalid url","claim: Required","asked: Required"],"error":"invalid input contract"},"name":"Bad Request","note":"details lists one entry per failing field, in the form \"<field>: <problem>\"","status":400,"when":"payment or allowance has cleared but the body does not match the input contract"},{"body":{"error":"rate limit exceeded — try again shortly"},"name":"Too Many Requests","status":429,"when":"requests exceed the per-minute rate limit, paid or not"}]},"lastUpdated":"2026-10-26T00:14:43.021Z","quality":{"l30DaysTotalCalls":5,"l30DaysUniquePayers":4,"lastCalledAt":"2026-10-26T00:14:42.916Z"},"resource":"https://scrapecheck.fly.dev/verify-redirect","serviceName":"ScrapeCheck","tags":["verification","redirects","links","web"],"type":"http","x402Version":2},"source":"x402_bazaar","summary":"Redirect tier (deterministic, no LLM): verifies where a public URL actually leads: final URL (byte-exact), first response status, and hop count of the HTTP chain, walked twice with per-hop SSRF checks. Use it to confirm a link or a moved page points where it claims. Loops and unstable chains return unverifiable, never a guess. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them."},"body_sha256":"49fac77af3158a3a0dff5aa6b26e04975db1b7ef71f6e1fce8c8b3e445c18f3e","prev_id":null,"leaf":"0x8b3f8660265271a283cb0f5087b7195baafbc5371ad5bc1eecfa7f6fe1a604f1","leaf_text":"{\"body\":\"49fac77af3158a3a0dff5aa6b26e04975db1b7ef71f6e1fce8c8b3e445c18f3e\",\"id\":120989,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025619088578,\"prev\":null,\"subject\":\"x402_bazaar:https://scrapecheck.fly.dev/verify-redirect\",\"subject_kind\":\"source_record\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x8b3fa289e567c2ae9f18437ba820c691614c9fe833456410c00823e9eb79f42c","0x252fae9d448805f30491b53ee0867d145cb3c34d30fd4bf4a5f2caf872a3372a","0x1d4c9aa362bb5b8a75c3d5ae085485282f21fdd875e4db837f173f689ee8f0e1","0x8fc4b63af9dcb7b740e50556cf8225a225fa44b6195fd83ed7e447a497c03621","0x9be23c74991d04b7b6c8af862aec26660fd2b44e5a0d76bc8e38a614133b9887","0x6e76c7db38c8e146f2827626da3c1b5bcf0153e401a3b93b44f3f68dc478549f","0xb2d7872403b63e988ced4004f66e5c8db313b940eb8100aaa6a85ecfb00b64de","0x846eab73106c3cd8b899337bce966b558505a82d7cc8b02b4c1c7faff06c3367","0xee88fbeb53bd37ff3d897ec35c283d35063b90a3724c4194b03f948ccf02349f","0x06e192564a33f8e5303c5b3f24c4a64be258d0a0274ef3cfee7f4221b7582bc5","0x7d887da17795602ff54a7a2d145692904e47f8d3ab035b8db85d274d00bc9bfe","0x8cb11bf3bc7d3a6f859c170a167821024ffc4758cdfd2cc96f61a3291aefb637","0xd5ec7ffaecac790d8adfa0620b0a5494758f862e3090b49e556a6ecbad2f0782","0x78ac2b34737774659a6a411f4d10b8ba570d40699d9f277321c3a32ff03d1dc9","0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2","0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76","0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}