{"id":525795,"recorded_at":"2026-10-27T18:12:46.433230Z","observed_at":"2026-10-27T18:12:46.433174Z","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":6,"l30DaysUniquePayers":5,"lastCalledAt":"2026-10-27T10:13:00.111Z"},"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":"61b96367529a6639611a452c502bb12d0095d458e1827ba3f5f11fa8151910e3","prev_id":451538,"leaf":"0x8dfcfe77690e1f84983737efcacf48fd46d72df249f123695b0ce9fa28a003cf","leaf_text":"{\"body\":\"61b96367529a6639611a452c502bb12d0095d458e1827ba3f5f11fa8151910e3\",\"id\":525795,\"kind\":\"listing\",\"method\":\"sync.x402_bazaar/1\",\"observed_us\":1793124766433174,\"prev\":451538,\"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":["0x8dfcf3505db9b8946f7f1400a5eec9e8ee9e4d6706004b8fdfe98e9da6fcaa48","0xdb89e2279478f1ebae0c6df211c54828a544352fc5cd039da0f779e30087fcb6","0xca7938ae16913cae924d532e5968532c8ed484b21a930a38f3b194be2846ddf5","0x11265065b5e3ec131e12e49437140ae51ea998ef2ce93d6d1e1bbea1d7c190c4","0x76f511bc36b229703c9be6b9b8d59c57371b3a07cd01234ceb49ac3d31dc37f0","0x9bbf24b88b74eb0ca59b68218cb6370770b5b670c7ee6b3fc392549fdb8240d2","0x67b4b233a810d2b1079295dd57c3395fb5d1ff800d3b4b4384f0525bdc5d107d","0xad9da946c76c0aec993a79743b78fc1deeceee7b2bf34363778738747b6681c3","0x4a55d286c4db5ceeaed423a1385261deefc68fa3f8e051419a4fd0a2591c7d64","0x606878f266f778f939af6be0d71dc52de6d8db326fec0de336f70b06c21cfd23","0x5d0dfc183bf4faa332fcfb11ba54acfc81c21a52f31b623cbcf436e9be1faf44","0xe0e69ccf3eae9f1603c5f7e4a938a5ebe41708a9b4f6cb15a530b2e2aa69d8a0","0xea3d566bf95ca7a3a7f6de9c4f77180bd8c5ffd160486a27d870e8a2fb6d0b9e","0x06e3b43165f5b3c31d850bc32f20b2e25b844564c4e042c141b9748c26a5a600","0xb4f7223140c8a36cb87a63d77cf617086d9968dc4658f03e102571ebe06e9ed6","0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d","0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}