{"base_readiness_score":78,"commercial_next_step":{"billing_boundary":"Scope and deliverables are confirmed before any invoice; no wallet payload, subscription, SLA, or deployment is created by this handoff.","charged_now":false,"free_first":{"charged_now":false,"id":"free_scope","label":"Request a free scope decision","url":"https://ontarioprotocol.com/pricing?offer=free_scope&report_id=vrf_3871fddd19df23c6#scope"},"human_required":true,"qualified_offers":[{"billing":"outcome_based_invoice_after_public_evidence","id":"catalog_publish","name":"Founding Agent Catalog Publish Pilot","price_interval":null,"price_usd":49,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=catalog_publish&report_id=vrf_3871fddd19df23c6#scope","status":"first_10_qualified_providers"},{"billing":"one_time_invoice_after_scope","id":"launch_review","name":"MCP + x402 Agent Catalog Launch Pack","price_interval":null,"price_usd":199,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=launch_review&report_id=vrf_3871fddd19df23c6#scope","status":"qualified_fixed_scope"},{"billing":"one_time_invoice_after_scope","id":"buyer_intent_rewrite","name":"x402 Buyer Intent Metadata Rewrite","price_interval":null,"price_usd":49,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=buyer_intent_rewrite&report_id=vrf_3871fddd19df23c6#scope","status":"qualified_fixed_scope"},{"billing":"one_time_invoice_after_scope","id":"firewall_implementation","name":"Payment Firewall Implementation","price_interval":null,"price_usd":499,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=firewall_implementation&report_id=vrf_3871fddd19df23c6#scope","status":"qualified_fixed_scope"},{"billing":"pilot_invoice_after_qualification","id":"readiness_watch","name":"Readiness Watch pilot","price_interval":"month","price_usd":99,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=readiness_watch&report_id=vrf_3871fddd19df23c6#scope","status":"pilot_interest"}],"recommended_offer":{"billing":"one_time_invoice_after_scope","id":"launch_review","name":"MCP + x402 Agent Catalog Launch Pack","price_interval":null,"price_usd":199,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=launch_review&report_id=vrf_3871fddd19df23c6#scope","status":"qualified_fixed_scope"},"required_inputs":["contact_email","endpoint","requested_offer"],"schema":"ontario.report_commercial_next_step.v1","status":"scope_first","trust_boundary":"This commercial handoff is not part of the signed readiness evidence. It does not guarantee safety, traffic, ranking, listing acceptance, revenue, or future endpoint behavior."},"duration_ms":2546,"evidence":{"homepage":{"reachable":true,"schema_org_present":false,"status_code":200},"openapi":{"body":{"info":{"contact":{"email":"ops@400860.xyz"},"description":"x402-native paid API tools for DeFi yields, protocol TVL, AI pricing, paid MCP calls, and web scraping.","title":"400860 Data API","version":"2.0.0"},"openapi":"3.0.3","paths":{"/.well-known/x402":{"get":{"operationId":"getX402Manifest","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"x402 manifest, payTo, live resources, default buyer entry, and first-purchase action"}},"summary":"x402 discovery manifest with default first-purchase path (free)"}},"/v1/ai/pricing":{"get":{"operationId":"getAiPricing","parameters":[{"in":"query","name":"provider","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"provider":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Pricing dataset"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"LLM API pricing (paid x402)"}},"/v1/buyer/first-purchase-action":{"get":{"operationId":"getFirstPurchaseAction","parameters":[{"in":"query","name":"product","schema":{"default":"ai_pricing_snapshot","type":"string"}},{"in":"query","name":"channel","schema":{"default":"openapi","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Machine-readable first-purchase action with tracked checkout, pay-now, command, and revenue truth"}},"summary":"First external x402 purchase action (free)"}},"/v1/buyer/pay-now":{"get":{"operationId":"getBuyerPayNow","parameters":[{"in":"query","name":"product","schema":{"default":"ai_pricing_snapshot","type":"string"}},{"in":"query","name":"channel","schema":{"default":"openapi","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"No-secret buyer entry with product, checkout links, x402 client command, and revenue proof URL"}},"summary":"Buyer pay-now entrypoint (free)"}},"/v1/defi/tvl":{"get":{"operationId":"getDefiTvl","parameters":[{"in":"query","name":"chain","schema":{"type":"string"}},{"in":"query","name":"category","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":100,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"category":{"type":"string"},"chain":{"type":"string"},"limit":{"maximum":100,"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"TVL list"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"DeFi TVL deltas (paid x402)"}},"/v1/defi/yields":{"get":{"operationId":"getDefiYields","parameters":[{"in":"query","name":"chain","schema":{"type":"string"}},{"in":"query","name":"stableOnly","schema":{"type":"boolean"}},{"in":"query","name":"minApy","schema":{"type":"number"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":200,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chain":{"type":"string"},"limit":{"maximum":200,"type":"integer"},"minApy":{"type":"number"},"stableOnly":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Yield pool list"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"DeFi yield pools (paid x402)"}},"/v1/mcp/call":{"post":{"operationId":"callMcpTool","requestBody":{"content":{"application/json":{"schema":{"properties":{"params":{"additionalProperties":true,"type":"object"},"tool":{"enum":["get_defi_yields","get_defi_tvl","get_ai_pricing"],"type":"string"}},"required":["tool"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Tool result"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"MCP tool call (paid x402)"}},"/v1/revenue/summary":{"get":{"operationId":"getRevenueSummary","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"External paid success count, excluded test count, and funnel attribution"}},"summary":"External revenue truth and funnel summary (free)"}},"/v1/scrape/extract":{"post":{"operationId":"scrapeExtract","requestBody":{"content":{"application/json":{"schema":{"properties":{"maxLength":{"type":"integer"},"selector":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","selector"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Scraped extraction result"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"Scrape page selector extraction (paid x402)"}},"/v1/scrape/page":{"post":{"operationId":"scrapePage","requestBody":{"content":{"application/json":{"schema":{"properties":{"maxLength":{"type":"integer"},"url":{"format":"uri","type":"string"}},"required":["url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Scraped page result"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"Scrape page text (paid x402)"}},"/v1/scrape/stealth":{"post":{"operationId":"scrapeStealth","requestBody":{"content":{"application/json":{"schema":{"properties":{"maxLength":{"type":"integer"},"selector":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Stealth scraped result"},"402":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Payment required"}},"summary":"Stealth scrape page (paid x402)"}}},"servers":[{"url":"https://api.400860.xyz"}]},"reachable":true,"url":"https://api.400860.xyz/openapi.json","valid_json":true,"version":"3.0.3","well_formed":true},"robots":{"excerpt":"# As a condition of accessing this website, you agree to abide by the following\n# content signals:\n\n# (a)  If a Content-Signal = yes, you may collect content for the corresponding\n#      use.\n# (b)  If a Content-Signal = no, you may not collect content for the\n#      corresponding use.\n# (c)  If the website operator does not include a Content-Signal for a\n#      corresponding use, the website operator neither grants nor restricts\n#      permission via Content-Signal with respect to the corresponding use.\n\n# The content signals and their meanings are:\n\n# search:   building a search index and providing search results (e.g., returning\n#           hyperlinks and short excerpts from your website's contents). Search does not\n#           include providing AI-generated search summaries.\n# ai-input: inputting content into one or more AI models (e.g., retrieval\n#           augmented generation, grounding, or other real-time taking of content for\n#           generative AI search answers).\n# ai-tr","reachable":true,"status_code":200},"target":{"challenge":{"accepts":[{"resource":{"description":"","mimeType":"","url":"https://api.400860.xyz/v1/ai/pricing"}}],"accepts_count":1,"accepts_missing_required_fields":[{"index":0,"missing":["asset","description","extra","maxAmountRequired","maxTimeoutSeconds","mimeType","network","payTo","scheme"]}],"body_accepts_count":0,"body_accepts_missing":true,"body_valid_json":true,"header_accepts_count":1,"missing_accepts":false,"source":"payment-required-header","x402Version":null},"method":"GET","payment_challenge":true,"payment_headers":{"payment-required":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9hcGkuNDAwODYwLnh5ei92MS9haS9wcmljaW5nIiwiZGVzY3JpcHRpb24iOiIiLCJtaW1lVHlwZSI6IiJ9LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6IjEwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsInBheVRvIjoiMHgwMTUwNEQ2NkU2MzlkYzRiQTQ5NDc3NTk5MjIxMzU1OTRkOURGM2U5IiwibWF4VGltZW91dFNlY29uZHMiOjMwMCwiZXh0cmEiOnsibmFtZSI6IlVTRCBDb2luIiwidmVyc2lvbiI6IjIifX0seyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJzb2xhbmE6NWV5a3Q0VXNGdjhQOE5KZFRSRXBZMXZ6cUtxWkt2ZHAiLCJhbW91bnQiOiIxMDAwIiwiYXNzZXQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsInBheVRvIjoiN1o3WGVRbk4zcFcyZUNUNUtjbWlYYVhUcjNOWXdNeUc3UGhUTEdwTnNGOGIiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MzAwLCJleHRyYSI6eyJmZWVQYXllciI6IjJ3S3VwTFI5cTZ3WFlwcHc4R3IyTnZXeEtCVXFtNFBQSktrUWZveEhEQmc0In19XX0="},"reachable":true,"status_code":402},"x402_manifest":{"bazaar_metadata":false,"body":{"buyerEntry":"https://api.400860.xyz/v1/buyer/pay-now?product=ai_pricing_snapshot&channel=x402-manifest","checkoutJson":"https://x402.400860.xyz/checkout/pay-now.json?product=ai_pricing_snapshot&channel=x402-manifest","checkoutPage":"https://x402.400860.xyz/checkout/pay-now.html?product=ai_pricing_snapshot&channel=x402-manifest","description":"x402-native paid API tools for DeFi yields, protocol TVL, AI pricing, paid MCP calls, and web scraping.","facilitator":"https://facilitator.payai.network","firstPaidProductId":"ai_pricing_snapshot","firstPurchaseAction":"https://api.400860.xyz/v1/buyer/first-purchase-action?product=ai_pricing_snapshot&channel=x402-manifest","homepage":"https://x402.400860.xyz","name":"400860 Radar x402 API","network":"eip155:8453","payTo":"0x01504D66E639dc4bA4947759922135594d9DF3e9","pricingJson":"https://x402.400860.xyz/pricing.json?channel=x402-manifest","resources":[{"description":"Top DeFi yield pools from DeFiLlama","method":"GET","path":"/v1/defi/yields","price":"$0.001"},{"description":"Protocol TVL deltas from DeFiLlama","method":"GET","path":"/v1/defi/tvl","price":"$0.001"},{"description":"LLM API pricing comparison","method":"GET","path":"/v1/ai/pricing","price":"$0.001"},{"description":"Paid MCP-style tool call","method":"POST","path":"/v1/mcp/call","price":"$0.01"},{"description":"Scrape any URL and return clean text","method":"POST","path":"/v1/scrape/page","price":"$0.005"},{"description":"Scrape URL with CSS selector extraction","method":"POST","path":"/v1/scrape/extract","price":"$0.01"},{"description":"Stealth scrape through Scrapling and Playwright","method":"POST","path":"/v1/scrape/stealth","price":"$0.02"}],"revenueSummary":"https://api.400860.xyz/v1/revenue/summary","version":"1"},"reachable":true,"service_count":0,"status_code":200,"valid_json":true,"well_formed":false}},"grade":"needs_work","integrity":{"algorithm":"Ed25519","canonical_sha256":"75c0ddd4b8d6aa7ade845569a386a24bed977051c9643db3f86ff6912346e97e","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"V6GZYahaaCBOpxWlKh4yDlYyIu7tyxZX9CcCfSp6aGl2i6tFQVE7e0qg02MLQbg9LL6LSshSxDmDE+EgawbaBw==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://api.400860.xyz","readiness_score":55,"recommendations":[{"detail":"The manifest should be JSON and include a services array with endpoint, method, price, network, and asset metadata.","docs_url":"https://ontarioprotocol.com/.well-known/x402.json","id":"x402_malformed","title":"Fix the x402 manifest shape"},{"detail":"Name, description, category, tags, owner URL, and contact fields make services usable in agent marketplaces.","docs_url":"https://ontarioprotocol.com/listings","id":"bazaar_metadata_missing","title":"Add listing metadata for Bazaar-style catalogs"}],"report_id":"vrf_3871fddd19df23c6","report_url":"https://ontarioprotocol.com/verify/report/vrf_3871fddd19df23c6","signals":{"accepts_entries":false,"bazaar_metadata":false,"endpoint_reachable":true,"facilitator_metadata":false,"homepage_reachable":true,"https":true,"manifest_fresh":false,"network_consistent":true,"openapi_schema":true,"payment_challenge":true,"price_format_valid":true,"robots_present":true,"schema_org_present":false,"x402_manifest_present":true,"x402_manifest_well_formed":false},"status":"ok","submitted_url":"https://api.400860.xyz/v1/ai/pricing","target_url":"https://api.400860.xyz/v1/ai/pricing","verified_at":"2026-07-04T17:03:51.950978+00:00","verifier":"ontario.x402-readiness.v1","warning_penalty":23,"warnings":[{"detail":"The 402 response body should include accepts: [PaymentRequirements] so clients can choose a compatible asset and network without scraping headers.","docs_url":"https://ontarioprotocol.com/docs","evidence":{"body_accepts_count":0,"header_accepts_count":1,"source":"payment-required-header","status_code":402},"id":"accepts_missing","severity":"warning","title":"Return non-empty accepts entries in HTTP 402 responses"},{"detail":"Expose facilitator details plus asset, payTo, scheme, timeout, and resource fields so clients can verify and settle payments deterministically.","docs_url":"https://ontarioprotocol.com/docs#facilitator","evidence":{"issues":["manifest.facilitator or service.facilitator is missing","accepts[0] missing asset, description, extra, maxAmountRequired, maxTimeoutSeconds, mimeType, network, payTo, scheme"]},"id":"facilitator_metadata_gap","severity":"warning","title":"Publish facilitator and settlement metadata"},{"detail":"A stale or missing manifest timestamp makes agents doubt whether prices, networks, and facilitator metadata still describe the live endpoint.","docs_url":"https://ontarioprotocol.com/.well-known/x402.json","evidence":{"issue":"manifest has no generated_at, updated_at, last_updated, or dateModified timestamp"},"id":"manifest_stale","severity":"warning","title":"Refresh the x402 manifest timestamp"}]}
