{"info":{"title":"Fly","version":"1.0.0"},"openapi":"3.1.0","paths":{"/verify":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"10000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"Checks whether a value you did not fetch yourself is actually on the page it came from. Independently re-fetches the source and returns a signed pass/fail/unverifiable verdict. A claim is never certified unless the re-fetched page contains it, and anything unconfirmed is unverifiable, never pass. Server-rendered pages only. $0.01 per check. First 100 checks per client are free: resend this exact r"},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"10000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"Checks whether a value you did not fetch yourself is actually on the page it came from. Independently re-fetches the source and returns a signed pass/fail/unverifiable verdict. A claim is never certified unless the re-fetched page contains it, and anything unconfirmed is unverifiable, never pass. Server-rendered pages only. $0.01 per check. First 100 checks per client are free: resend this exact r"}},"/verify-hash":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Hash","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"Checksum tier (deterministic, no LLM): verifies the exact bytes served at a public URL hash to a claimed sha256, by independent double re-fetch. Use it to confirm a download or artifact matches its published checksum. Bodies up to 3 MB; dynamic pages return unverifiable, never a guess. sha256 only. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to"},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Hash","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"Checksum tier (deterministic, no LLM): verifies the exact bytes served at a public URL hash to a claimed sha256, by independent double re-fetch. Use it to confirm a download or artifact matches its published checksum. Bodies up to 3 MB; dynamic pages return unverifiable, never a guess. sha256 only. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to"}},"/verify-json":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Json","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"JSON tier (deterministic, no LLM): verifies a claimed value lives at a named JSON path in a public endpoint's response, by independent double re-fetch. Use it for machine-readable API responses; for HTML pages use /verify. Claim keys are paths (data.items[0].price). Type-strict; volatile values return unverifiable, never a guess. Public HTTPS JSON only. First 100 checks per client are free: resend"},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Json","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"JSON tier (deterministic, no LLM): verifies a claimed value lives at a named JSON path in a public endpoint's response, by independent double re-fetch. Use it for machine-readable API responses; for HTML pages use /verify. Claim keys are paths (data.items[0].price). Type-strict; volatile values return unverifiable, never a guess. Public HTTPS JSON only. First 100 checks per client are free: resend"}},"/verify-presence":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Presence","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"PRESENCE tier (deterministic, no LLM): confirms the claimed value appears on the live page — it does NOT confirm the value is the right answer to the question. Positive verdict is \"present\", never \"pass\"; check_type web_field_presence_v1. For full verification use /verify. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Presence","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"PRESENCE tier (deterministic, no LLM): confirms the claimed value appears on the live page — it does NOT confirm the value is the right answer to the question. Positive verdict is \"present\", never \"pass\"; check_type web_field_presence_v1. For full verification use /verify. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them."}},"/verify-redirect":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Redirect","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"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-All"},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Redirect","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"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-All"}},"/verify-xml":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Xml","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"XML tier (deterministic, no LLM): verifies a claimed value lives at a named path in a public XML document, by independent double re-fetch. Use it for feeds and sitemaps; for JSON use /verify-json, for HTML use /verify. Paths address elements and @attributes (urlset.url[0].loc). String-exact; ambiguous or volatile values return unverifiable, never a guess. First 100 checks per client are free: rese"},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fly: Verify Xml","intent":"charge","method":"evm","recipient":"0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"}]},"summary":"XML tier (deterministic, no LLM): verifies a claimed value lives at a named path in a public XML document, by independent double re-fetch. Use it for feeds and sitemaps; for JSON use /verify-json, for HTML use /verify. Paths address elements and @attributes (urlset.url[0].loc). String-exact; ambiguous or volatile values return unverifiable, never a guess. First 100 checks per client are free: rese"}}},"x-service-info":{"description":"Fly is an x402-native service at https://scrapecheck.fly.dev, indexed from the x402 Bazaar (Coinbase's public discovery directory). It charges callers itself in USDC on Base and is paid directly at its own wallet; Monex Protocol passes your request and payment headers through untouched. 6 endpoints listed."}}