{"id":451538,"recorded_at":"2026-10-27T11:28:27.112632Z","observed_at":"2026-10-27T11:28:27.112516Z","subject_kind":"source_record","subject":"x402_bazaar:https://scrapecheck.fly.dev/verify-redirect","kind":"listing","method":"sync.x402_bazaar/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-27T10:13:00.216Z","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":"fa91a566eba840d89e139bc2bc68adc9844773b40da318c6d3f8a9ca9cfef801","prev_id":120989,"leaf":"0xf1689d3cd831d4ab427ff710ba06c2fc3ba1701dd533e6be0ecbb2e8ee23bc60","leaf_text":"{\"body\":\"fa91a566eba840d89e139bc2bc68adc9844773b40da318c6d3f8a9ca9cfef801\",\"id\":451538,\"kind\":\"listing\",\"method\":\"sync.x402_bazaar/1\",\"observed_us\":1793100507112516,\"prev\":120989,\"subject\":\"x402_bazaar:https://scrapecheck.fly.dev/verify-redirect\",\"subject_kind\":\"source_record\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0xf168b5405b3864daf01150583f2238c49417f8d7f03f6a61f474552cf6a9424f","0x2212b0635bf61f90369413fa28a17d9e21db810830b8b489b142cf59d91e65d6","0xa543764b8e4897fa8ae82170fbd5216a2dd489881794c726caa70b1c038ee49d","0x29377a12d493c67f39a40ad8422364a2dd1179f145873c82369d3d4dbd5a7ded","0xa9d556c2e8eec3e12c890aaa6f533150470712c06d7a26d9c2c7aa12623a87ff","0x3b42f6b1825aac04de19ca713c2029081735e9990c584bd5637d1b10af36ed31","0x7fbfc6d1259d2bb6516988e39a63e9a0f63a95b65713acf1b163c10cbaaa40cc","0x9104cbf01e2462dd091e9d2dde29ec1091549e09855ffed86d634fde60b3642e","0x408b2980e1a312eb9f3052f9d690fe0e9acc82b7fbe6f1ac5268bbf479fed591","0x2b7b48941a3379f5a787ec59fd9622a2181c200c0026ebeed35b926bb1e44cbb","0x86a162701c5c4382d7e2217c5bfe590eb52de9faf1001063b4fb50d51cc6745b","0x8b1294df8f40a2bb6ff0bafdf2505700af24dfe2985fb999b2353f4c85cb56ba","0xe0ddf3e1c8349b7fe55d4b2a6864486a77de3e3c0e371df44d69aeb837cfd79c","0xce1471491ffb52101d7cd9884cca0fb37a9496f6e8250375054907d24a35d04f","0x56f7109d4cde42492651beb1237c13cdcbf95e6fee2b2482391a2388e04c4629","0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f","0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}