{"slug":"gateway-stride20k-com-v1-preflight-7ff826","title":"Spend-guard preflight","host":"gateway.stride20k.com","method":"GET","resource":"https://gateway.stride20k.com/v1/preflight","category":"market","description":"Spend-guard preflight: deterministic 0-100 score for any x402 resource URL before an agent pays it. One SSRF-guarded probe of the live 402 (terms decode, payTo, price sanity) plus origin /.well-known/x402.json plus our collector's Bazaar presence and observed age. Rubric: start 50; +15 valid 402; +1","price_listed":0.01,"price_asked":0.01,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":22,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"resource":"https://gateway.stride20k.com/fx/:base/:quote"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"properties":{"resource":{"description":"The x402 resource URL to preflight, exactly as advertised.","pattern":"^https?://.+","type":"string","urlSafety":true}},"required":["resource"],"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"data":{"properties":{"flags":{"items":{"type":"string"},"type":"array"},"note":{"type":"string"},"resource":{"type":"string"},"score":{"description":"0-100, deterministic published rubric.","type":"number"},"signals":{"properties":{"is402":{"type":"boolean"},"listedInBazaarNow":{"type":["boolean","null"]},"network":{"type":["string","null"]},"observedAgeDays":{"type":["number","null"]},"onChainBuyerCounts":{"type":"string"},"payToPresent":{"type":"boolean"},"priceUsd":{"type":["number","null"]},"reachable":{"type":"boolean"},"scheme":{"type":["string","null"]},"status":{"type":["number","null"]},"termsDecodable":{"type":"boolean"},"wellKnownPresent":{"type":"boolean"}},"type":"object"}},"required":["resource","score","flags","signals"],"type":"object"},"endpoint":{"description":"Always \"/v1/preflight\".","type":"string"},"meta":{"properties":{"attribution":{"description":"Licensing attribution when the source requires it.","type":["string","null"]},"cached":{"description":"Whether this response was served from cache.","type":"boolean"},"fetchedAt":{"description":"ISO 8601 time the data was actually retrieved from the upstream.","type":"string"},"source":{"description":"Upstream source: direct probe of the target + Stride20k collector archive.","type":"string"}},"required":["source","cached","fetchedAt"],"type":"object"},"ok":{"description":"true on success.","type":"boolean"}},"required":["ok","endpoint","data","meta"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.01,"price_match":true,"latency_ms":22,"error":null}],"description_full":"Spend-guard preflight: deterministic 0-100 score for any x402 resource URL before an agent pays it. One SSRF-guarded probe of the live 402 (terms decode, payTo, price sanity) plus origin /.well-known/x402.json plus our collector's Bazaar presence and observed age. Rubric: start 50; +15 valid 402; +10 terms decode; +5 payTo; +5 price<=$5 (-10 above); +10 catalog; +15 Bazaar-listed; +10 age>=7d (+5 >=1d); -20 unreachable. Raw signals in every response; auditable. Not an endorsement.","last_updated":"2026-08-30T12:07:00.592Z","schemes":["exact"]}