{"base_readiness_score":80,"commercial_next_step":{"billing_boundary":"No contact form, scope call, invoice, subscription, wallet signature, or payment is created by this handoff. Free routing never authorizes spending.","charged_now":false,"free_first":{"body_template":{"free_preflight_complete":false,"task":"<your public task>","wallet_enabled":false},"charged_now":false,"id":"ontario_purchase_router","label":"Match your task to a free or paid capability","method":"POST","url":"https://ontarioprotocol.com/api/agent/tool-quote"},"human_required":false,"next_steps":["Use the existing report evidence and remediation first; report access is free.","If another capability is needed, supply an explicit public task to the free router.","Do not pay solely because a report is ready, incomplete, or failed.","Only consider payment after free validation, task fit, an explicit budget and local wallet policy allow it."],"payment_recommended_now":false,"qualified_offers":[],"recommended_offer":null,"report_url":"https://ontarioprotocol.com/api/verify/reports/vrf_fac737942c687d6e","required_inputs":["task"],"schema":"ontario.report_commercial_next_step.v1","status":"task_required_no_paid_recommendation","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":3616,"evidence":{"homepage":{"reachable":true,"schema_org_present":true,"status_code":200},"openapi":{"body":{"components":{"schemas":{"AgentCanPayDecision":{"properties":{"agent_policy":{"type":"string"},"auditable_paid_continuation":{"additionalProperties":true,"description":"Optional 0.002 USDC receipt path. It is recommended only after an allow decision and an explicit require_audit_receipt request.","type":"object"},"decision":{"enum":["allow","review","deny"],"type":"string"},"declared_price_usdc":{"nullable":true,"type":"number"},"endpoint":{"type":"string"},"max_usdc":{"nullable":true,"type":"number"},"reason":{"type":"string"},"reasons":{"items":{"type":"string"},"type":"array"},"recommendations":{"items":{"type":"object"},"type":"array"},"report":{"$ref":"#/components/schemas/VerificationSummary"},"report_integrity_ok":{"type":"boolean"},"warnings":{"items":{"type":"string"},"type":"array"}},"type":"object"},"ReportIntegrity":{"properties":{"algorithm":{"type":"string"},"canonical_sha256":{"type":"string"},"canonicalization":{"type":"string"},"key_id":{"type":"string"},"public_key":{"type":"string"},"signature":{"type":"string"},"signed_by":{"type":"string"}},"type":"object"},"VerificationSummary":{"properties":{"grade":{"type":"string"},"normalized_base":{"type":"string"},"readiness_score":{"type":"integer"},"report_id":{"type":"string"},"report_url":{"type":"string"},"target_url":{"type":"string"},"verified_at":{"type":"string"}},"type":"object"},"X402ReadinessReport":{"properties":{"base_readiness_score":{"type":"integer"},"buyer_conversion_next_step":{"additionalProperties":true,"description":"Unsigned handoff from endpoint readiness to the free end-to-end buyer-path diagnostic. A public buyer job is required before any repair is recommended.","properties":{"commercial_boundary":{"type":"string"},"free_diagnostic":{"additionalProperties":true,"type":"object"},"recommended_action":{"additionalProperties":true,"type":"object"},"schema":{"enum":["ontario.buyer_conversion_next_step.v1"],"type":"string"},"signed_evidence_boundary":{"type":"string"},"status":{"enum":["buyer_job_required"],"type":"string"}},"type":"object"},"evidence":{"type":"object"},"grade":{"enum":["ready","close","needs_work"],"type":"string"},"integrity":{"$ref":"#/components/schemas/ReportIntegrity"},"max_score":{"type":"integer"},"normalized_base":{"type":"string"},"provider_listing_next_step":{"additionalProperties":true,"description":"Unsigned grade-aware commercial handoff from free readiness evidence to free listing validation and the optional 2.00 USDC provider publication.","properties":{"free_validation":{"additionalProperties":true,"type":"object"},"publication":{"additionalProperties":true,"properties":{"asset":{"type":"string"},"listing_page":{"format":"uri","type":"string"},"method":{"enum":["POST"],"type":"string"},"network":{"enum":["eip155:8453"],"type":"string"},"price_usdc":{"enum":["2.00"],"type":"string"},"url":{"format":"uri","type":"string"},"value":{"type":"string"}},"type":"object"},"ready_for_listing_preflight":{"type":"boolean"},"recommended_action":{"additionalProperties":true,"type":"object"},"schema":{"enum":["ontario.provider_listing_next_step.v1"],"type":"string"},"sequence":{"items":{"type":"string"},"type":"array"},"signed_evidence_boundary":{"type":"string"},"status":{"enum":["ready_for_free_listing_validation","fix_before_listing"],"type":"string"},"trust_boundary":{"type":"string"}},"type":"object"},"readiness_score":{"type":"integer"},"recommendations":{"items":{"properties":{"detail":{"type":"string"},"docs_url":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"},"report_id":{"type":"string"},"report_url":{"type":"string"},"signals":{"type":"object"},"status":{"type":"string"},"target_url":{"type":"string"},"verifier":{"type":"string"},"warning_penalty":{"type":"integer"},"warnings":{"items":{"properties":{"detail":{"type":"string"},"docs_url":{"type":"string"},"id":{"type":"string"},"severity":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}}},"info":{"contact":{"email":"hello@ontarioprotocol.com"},"description":"Ontario Protocol is a free-first x402 verification and discovery API for autonomous agents, wallets, MCP hosts, and paid-API registries. Verify a paid endpoint before spending, route the task through free and paid eligibility gates, enforce a can-pay policy, audit x402 implementations, inspect trust and reputation evidence, classify settlements, and publish services. Existing paid provider profiles can refresh their readiness evidence without editing metadata or buying a better grade.","license":{"name":"MIT"},"title":"Ontario Protocol Buyer API","version":"1.0.0","x-guidance":"Use Ontario when an agent needs to verify an x402 endpoint before payment, decide whether policy permits a purchase, audit an x402 implementation before launch, inspect agent reputation, classify settlement-demand evidence, or publish an agent or paid API listing, then refresh paid profile evidence. Start with free POST /api/verify/x402-readiness, POST /api/x402/refresh-listing/validate, and POST /api/agent/can-pay. Probe a selected paid route without a payment signature to inspect its HTTP 402 challenge. Pay only when the task, fixed price, network, asset, evidence freshness, and spending policy match.","x-ontario":{"buyer_catalog":{"free_preflight":"https://ontarioprotocol.com/.well-known/agent-buyer.json","full_openapi":"https://ontarioprotocol.com/openapi-full.json","payment_policy":"https://ontarioprotocol.com/.well-known/agent-payment-policy.json","selection_rule":"Call free POST /api/agent/tool-quote first, then use readiness and can-pay; select a paid operation only when its purpose, fixed price, network, asset, and live HTTP 402 challenge match policy.","trust_boundary":"Readiness evidence does not guarantee safety, service quality, financial outcome, independent demand, or future behavior."},"trust_methodology":{"trust_standard":"https://ontarioprotocol.com/trust","what_ontario_checks":"https://ontarioprotocol.com/trust/what-ontario-checks","what_ontario_does_not_check":"https://ontarioprotocol.com/trust/what-ontario-does-not-check"}}},"openapi":"3.0.1","paths":{"/api/agent/can-pay":{"post":{"description":"Free pre-payment policy decision for AI agents deciding whether to pay an x402 endpoint.","operationId":"agentCanPay","requestBody":{"content":{"application/json":{"schema":{"properties":{"agent_policy":{"default":"strict","enum":["strict","standard","permissive"],"type":"string"},"endpoint":{"description":"Paid API endpoint URL the agent wants Ontario to inspect before payment.","type":"string"},"max_usdc":{"type":"string"},"require_audit_receipt":{"default":false,"description":"Set true only when the caller explicitly needs the optional 0.002 USDC settlement-backed evidence receipt after an allow decision.","type":"boolean"},"verify_live":{"default":true,"type":"boolean"}},"required":["endpoint"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCanPayDecision"}}},"description":"Payment decision"},"400":{"description":"Missing endpoint"}},"security":[],"summary":"Evaluate whether an agent should pay an endpoint"}},"/api/agent/tool-quote":{"post":{"description":"Return the matching free Ontario tool or a paid recommendation only after the caller declares completed free preflight, a wallet-enabled x402 client, Base network support, and an explicit USDC ceiling that covers the fixed price. Provider-side publication tasks can route to the 2.00 USDC x402 service-profile product after those gates. The router never calls a tool, signs a payload, increases a budget, or spends funds. Natural x402 endpoint verification wording routes to the free readiness verifier; the response may disclose a non-recommended 0.002 USDC receipt upgrade only when additional settlement-backed audit evidence is required. Existing paid profiles can route to a 0.10 USDC evidence refresh only after the free refresh validator. Empty or commonly wrapped agent calls receive safe free input guidance instead of a guessed purchase.","operationId":"quoteOntarioToolForTask","requestBody":{"content":{"application/json":{"example":{"free_preflight_complete":true,"max_usdc":"2.00","network":"eip155:8453","task":"Publish my x402 endpoint so agents can discover it","wallet_enabled":true},"schema":{"properties":{"free_preflight_complete":{"default":false,"type":"boolean"},"max_usdc":{"type":"string"},"network":{"default":"eip155:8453","type":"string"},"task":{"description":"Canonical public task. Compatibility aliases query, goal, intent, prompt, need, description, and objective are accepted at runtime, including inside input, request, arguments, or params wrappers.","maxLength":500,"minLength":3,"type":"string"},"wallet_enabled":{"default":false,"type":"boolean"}},"required":["task"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Free input guidance, free or gated route, listing refresh route, or paid-recommended tool quote"},"400":{"description":"Invalid public task or budget input"},"503":{"description":"No matching free Ontario tool is available"}},"security":[],"summary":"Route an Ontario task through free and paid eligibility gates","tags":["agent-tools","pre-payment","free-first-routing"]}},"/api/health":{"get":{"operationId":"health","responses":{"200":{"description":"Live counters and stats"}},"security":[],"summary":"Return Ontario service health and counters"}},"/api/intelligence/x402-tools-by-buyer-activity.json":{"get":{"description":"Return dated task-level rankings using public source-reported 30-day calls and endpoint payer-count signals. Activity is not endpoint safety, service quality, endorsement, independent demand, or verified revenue.","operationId":"getX402BuyerActivityRankings","responses":{"200":{"description":"Buyer-task rankings, activity signals, prices, networks, source rows, methodology, and pre-payment links"}},"security":[],"summary":"Compare x402 tools by observed buyer activity and agent job","tags":["x402-discovery","buyer-activity","market-intelligence"]}},"/api/tools/agent-buyer-conversion-diagnostic":{"post":{"description":"Run one free read-only provider diagnostic across payment readiness, exact CDP Bazaar activation, five buyer-task retrieval samples, a submitted buyer budget and network policy, and public demand fields. Returns the earliest observable blocker and withholds paid recommendations when the sample does not justify work. It never signs or settles a payment.","operationId":"diagnoseAgentBuyerConversion","requestBody":{"content":{"application/json":{"example":{"agent_policy":"strict","allowed_network":"eip155:8453","buyer_query":"verify an x402 endpoint before payment","endpoint_url":"https://example.com/api/paid","max_budget_usdc":"0.05"},"schema":{"properties":{"agent_policy":{"default":"strict","enum":["strict","standard","permissive"],"type":"string"},"allowed_network":{"description":"Optional CAIP-2 network such as eip155:8453.","type":"string"},"buyer_query":{"description":"One public task phrase a funded agent should use to find the endpoint.","maxLength":160,"minLength":3,"type":"string"},"endpoint_url":{"description":"Public x402 paid endpoint. Query strings are removed from output.","format":"uri","type":"string"},"max_budget_usdc":{"description":"Optional non-negative simulated buyer budget.","type":"string"},"publish_report":{"default":false,"description":"Explicitly publish a public Buyer Path Receipt and badge. The receipt exposes the public endpoint and buyer-task phrases but omits the simulated budget, raw evidence, credentials, and wallet data.","type":"boolean"},"remote_url":{"format":"uri","type":"string"},"repository_url":{"format":"uri","type":"string"},"server_json_url":{"format":"uri","type":"string"},"server_name":{"type":"string"}},"required":["endpoint_url","buyer_query"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Earliest observable purchase blocker and evidence stages"},"400":{"description":"Invalid public endpoint, buyer phrase, or budget"},"429":{"description":"Per-client free diagnostic limit reached"}},"security":[],"summary":"Find why agents are not buying an x402 endpoint","tags":["x402-discovery","buyer-conversion","provider-diagnostic"]}},"/api/tools/agent-buyer-conversion-diagnostic/{report_id}":{"get":{"description":"Return a point-in-time public receipt that the diagnostic caller explicitly chose to publish. The receipt contains public endpoint and buyer-task evidence but omits the submitted budget, raw verifier evidence, credentials, wallet data, payment payloads, and signatures.","operationId":"getAgentBuyerConversionReceipt","parameters":[{"in":"path","name":"report_id","required":true,"schema":{"pattern":"^buyerconv_[a-f0-9]{18}$","type":"string"}}],"responses":{"200":{"description":"Published point-in-time Buyer Path Receipt"},"404":{"description":"Receipt not found or not published"}},"security":[],"summary":"Read an opt-in x402 Buyer Path Receipt","tags":["x402-discovery","buyer-conversion","public-evidence"]}},"/api/tools/coinbase-bazaar-readiness":{"post":{"description":"Run a free readiness check and a bounded live Coinbase Bazaar semantic search for one public x402 endpoint and buyer task phrase. Return the observed sample rank, competing services, and Base USDC price band without making a payment or claiming full-market coverage.","operationId":"checkCoinbaseBazaarBuyerIntentGap","requestBody":{"content":{"application/json":{"example":{"buyer_query":"verify an x402 endpoint before payment","target_url":"https://example.com/api/paid"},"schema":{"properties":{"buyer_query":{"description":"Public task phrase a paying agent could use in Bazaar search; do not include credentials or private data.","maxLength":160,"minLength":3,"type":"string"},"target_url":{"description":"Public x402 endpoint or service origin to assess.","format":"uri","type":"string"}},"required":["target_url"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Free endpoint-readiness and buyer-intent gap report"},"400":{"description":"Invalid endpoint or unsafe buyer query"}},"security":[],"summary":"Measure whether a paying-agent query can find an x402 endpoint","tags":["x402-discovery","bazaar-readiness","buyer-intent"]}},"/api/tools/x402-demand-claim-boundary":{"post":{"description":"Free aggregate calculator for settlement claims. Separates direct self-payment, declared related-party activity, user-declared external attribution, and unattributed settlements without accepting hashes, wallet addresses, contacts, or payment data. Population-level research percentages are context only and are never applied as a provider verdict.","externalDocs":{"description":"Primary July 2026 population-scale x402 authenticity study","url":"https://arxiv.org/abs/2607.12575"},"operationId":"calculateX402DemandClaimBoundary","requestBody":{"content":{"application/json":{"example":{"declared_related_party":25,"direct_self_payments":10,"externally_attributed_transactions":5,"has_counterparty_attribution":true,"has_http_request_evidence":true,"total_settlements":100,"unique_payers":12},"schema":{"properties":{"declared_related_party":{"default":0,"maximum":1000000000,"minimum":0,"type":"integer"},"direct_self_payments":{"default":0,"maximum":1000000000,"minimum":0,"type":"integer"},"externally_attributed_transactions":{"default":0,"maximum":1000000000,"minimum":0,"type":"integer"},"has_counterparty_attribution":{"default":false,"type":"boolean"},"has_http_request_evidence":{"default":false,"type":"boolean"},"total_settlements":{"maximum":1000000000,"minimum":1,"type":"integer"},"unique_payers":{"maximum":1000000000,"minimum":0,"type":"integer"}},"required":["total_settlements"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Bounded public wording, evidence gaps, and aggregate classification"},"400":{"description":"Invalid or inconsistent aggregate counts"}},"security":[],"summary":"Calculate the strongest supportable x402 demand claim","tags":["x402-settlement","demand-evidence","claim-boundary"]}},"/api/tools/x402-settlement-authenticity":{"post":{"description":"Free single-receipt check for related-party and self-payment evidence. An unattributed address is not treated as a proven independent customer.","operationId":"checkX402SettlementAuthenticity","requestBody":{"content":{"application/json":{"schema":{"properties":{"expected_recipient":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"related_addresses":{"items":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"maxItems":50,"type":"array"},"tx_hash":{"pattern":"^0x[0-9a-fA-F]{64}$","type":"string"}},"required":["tx_hash"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Free receipt classification"},"400":{"description":"Invalid or unsupported transaction input"}},"security":[],"summary":"Classify one Base USDC settlement receipt without payment"}},"/api/tools/x402-tool-router":{"post":{"description":"Search fresh strict-ready Ontario paid profiles, Agentic Market, and Coinbase CDP Bazaar. Rank credential-free endpoint metadata by task relevance plus bounded source-reported activity; paid Ontario publication adds no ranking score. Optional network and USDC budget filters fail closed. Candidates are not safety certifications; run preflight before payment.","operationId":"findX402ToolsForTask","requestBody":{"content":{"application/json":{"example":{"limit":5,"max_usdc":"0.01","network":"eip155:8453","query":"find recent crypto news"},"schema":{"properties":{"active_only":{"default":true,"description":"Require recent source-reported activity or fresh strict-ready Ontario profile evidence.","type":"boolean"},"limit":{"maximum":10,"minimum":1,"type":"integer"},"max_usdc":{"type":"string"},"network":{"type":"string"},"query":{"maxLength":160,"minLength":3,"type":"string"}},"required":["query"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Ranked candidate metadata and preflight instructions"},"400":{"description":"Invalid public task or filter"},"502":{"description":"Public marketplace source unavailable"}},"security":[],"summary":"Find task-matched x402 tools before payment","tags":["x402-discovery","agent-tools","pre-payment"]}},"/api/verify/reports/{report_id}":{"get":{"description":"Fetch a public x402 readiness verification report by id.","operationId":"getVerificationReport","parameters":[{"description":"Stable Ontario report identifier returned by a readiness verification.","in":"path","name":"report_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402ReadinessReport"}}},"description":"Full verification report"},"404":{"description":"Report not found"}},"security":[],"summary":"Retrieve a saved x402 readiness report"}},"/api/verify/x402-readiness":{"post":{"description":"Run a free point-in-time readiness scan before an agent pays or a provider publishes. The response includes signed evidence plus an unsigned, grade-aware provider listing handoff: ready endpoints can validate metadata free before optionally buying the 2.00 USDC publication; non-ready endpoints are told to fix and re-verify before paying. Publication never buys readiness, ranking, traffic, leads, purchases, or safety.","operationId":"verifyX402Readiness","requestBody":{"content":{"application/json":{"schema":{"properties":{"target_url":{"description":"Service origin or paid endpoint URL to verify.","type":"string"}},"required":["target_url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402ReadinessReport"}}},"description":"Readiness report with fix recommendations"},"400":{"description":"Missing or invalid target_url"}},"security":[],"summary":"Verify an x402 endpoint and decide whether it is ready to publish","tags":["x402-readiness","provider-preflight","agent-discovery"]}},"/api/x402/list-agent":{"post":{"description":"Validate and submit an agent card for discoverability by agent builders and marketplace operators. The 0.10 USDC fee is an anti-spam listing fee and does not purchase certification or guarantee traffic.","operationId":"listAgent","requestBody":{"content":{"application/json":{"example":{"agent_card_url":"https://example.com/.well-known/agent.json","name":"Example agent"},"schema":{"properties":{"agent_card_url":{"format":"uri","type":"string"},"description":{"type":"string"},"name":{"minLength":1,"type":"string"},"owner_contact":{"type":"string"},"owner_url":{"format":"uri","type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["name","agent_card_url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"listing":{"additionalProperties":true,"type":"object"},"status":{"type":"string"}},"type":"object"}}},"description":"Listing accepted"},"402":{"description":"Payment required"}},"security":[],"summary":"Publish an agent profile to Ontario's paid discovery directory","tags":["agent-listing","agent-discovery","directory"],"x-payment-info":{"price":{"amount":"0.100000","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/api/x402/list-service":{"post":{"description":"List your paid x402 API for agent discovery: a 2.00 USDC Bazaar Launch Passport with readiness evidence, a five-query Coinbase Bazaar retrieval audit and a signed HTML/JSON profile. Also includes a badge, MCP/catalog copy and 30 days of freshness maintenance for a Base USDC endpoint; validate free first. The fee covers evidence processing and publication, not placement, ranking, buyers, or safety.","operationId":"listService","requestBody":{"content":{"application/json":{"example":{"description":"A bounded paid API resource.","endpoint":"https://example.com/api/paid","name":"Example paid API","price_usdc":"0.01"},"schema":{"properties":{"description":{"minLength":1,"type":"string"},"endpoint":{"format":"uri","type":"string"},"method":{"default":"POST","type":"string"},"name":{"minLength":1,"type":"string"},"network":{"default":"base","type":"string"},"owner_contact":{"type":"string"},"owner_url":{"format":"uri","type":"string"},"price_usdc":{"type":"string"},"source":{"default":"direct_or_unknown","description":"Privacy-safe aggregate acquisition bucket; never a URL or query.","enum":["coinbase_bazaar","direct_or_unknown","github","google_search","internal_navigation","mcp_registry","other_search"],"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["name","description","endpoint","price_usdc"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"listing":{"additionalProperties":true,"type":"object"},"status":{"type":"string"}},"type":"object"}}},"description":"Service registered"},"402":{"description":"Payment required"}},"security":[],"summary":"List a paid Base USDC x402 API in agent directories","tags":["x402-listing","paid-api-discovery","directory"],"x-payment-info":{"price":{"amount":"2.000000","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/api/x402/refresh-listing":{"post":{"description":"Run a new live readiness scan for an existing paid provider profile and update its canonical HTML, JSON twin, badge, report link, score, and observation time after included maintenance expires. Use the free validator first. Payment buys a fresh observation, not a better grade, metadata edit, ranking, or traffic.","operationId":"refreshX402ServiceProfile","requestBody":{"content":{"application/json":{"example":{"listing_id":"lst_example"},"schema":{"properties":{"listing_id":{"pattern":"^lst_[A-Za-z0-9_-]+$","type":"string"},"paid_refresh_tx":{"description":"One-use retry reference returned only after a settled refresh could not be completed.","type":"string"}},"required":["listing_id"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Profile evidence refreshed"},"402":{"description":"x402 payment challenge"},"422":{"description":"Listing id is not eligible for refresh"},"503":{"description":"Scan could not complete; settled payment receives a retry credit"}},"security":[],"summary":"Refresh a paid x402 service profile with current readiness evidence","tags":["x402-listing-refresh","readiness-evidence","provider-distribution"],"x-payment-info":{"price":{"amount":"0.100000","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/api/x402/refresh-listing/validate":{"post":{"description":"Confirm that listing_id identifies an existing paid Ontario provider profile and inspect its current public evidence and fixed refresh price. This route is free, prevents payment during the included 30-day maintenance window, enforces the one-hour refresh cooldown, and does not run a scan or change the profile.","operationId":"validateX402ServiceProfileRefresh","requestBody":{"content":{"application/json":{"example":{"listing_id":"lst_example"},"schema":{"properties":{"listing_id":{"pattern":"^lst_[A-Za-z0-9_-]+$","type":"string"}},"required":["listing_id"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Paid profile is eligible for refresh"},"400":{"description":"Listing is missing or not a paid provider profile"}},"security":[],"summary":"Validate a paid listing before buying a profile refresh","tags":["x402-listing-refresh","free-preflight","provider-distribution"]}}},"servers":[{"url":"https://ontarioprotocol.com"}],"x-agentcash-guidance":{"llmsTxtUrl":"https://ontarioprotocol.com/llms.txt"},"x-agentcash-provenance":{"ownershipProofs":["https://ontarioprotocol.com/.well-known/entity.json","https://ontarioprotocol.com/trust"]}},"reachable":true,"url":"https://ontarioprotocol.com/.well-known/openapi.json","valid_json":true,"version":"3.0.1","well_formed":true},"robots":{"excerpt":"User-agent: *\nAllow: /\nAllow: /listings\nAllow: /verify\nAllow: /trust\nAllow: /leaderboard\nAllow: /scan\nAllow: /docs\nAllow: /treasury\nAllow: /whitepaper\nAllow: /legal\nAllow: /terms\nAllow: /privacy\nAllow: /resources/\nAllow: /tools/\nAllow: /compare/\nAllow: /playbooks\nAllow: /playbooks/\nAllow: /answers/\nAllow: /glossary\nAllow: /changelog\nAllow: /intelligence\nAllow: /integrations/\nAllow: /feed.xml\nAllow: /feed.json\nAllow: /static/\nAllow: /discover\nAllow: /.well-known/\n\nDisallow: /admin/\nDisallow: /api/treasury/ledger\nDisallow: /api/listings/regenerate-manifests\n\n# AI crawler directives for agent and non-Google LLM discovery. Google AI\n# Search visibility is handled through normal Search crawlability, indexing,\n# useful content, and Search Console feedback; this file is not a shortcut.\n# CCBot is intentionally allowed: Common Crawl is a primary training-data\n# source for LLMs and blocking it is self-defeating for a GEO surface.\n\nUser-agent: GPTBot\nAllow: /\n\nUser-agent: OAI-SearchBot\nAllow: /\n","reachable":true,"status_code":200},"target":{"method":"GET","payment_challenge":false,"payment_headers":{},"reachable":true,"status_code":404},"x402_manifest":{"bazaar_metadata":true,"body":{"_compacted_by":"ontario.x402-readiness","accepts":[{"agent_pay_visibility":"visible_in_first_party_catalog","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","buyer_catalog_eligible":true,"buyer_catalog_status":"ready_for_first_settlement","category":"directory","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"description":"Submit an AI agent for inclusion in the Ontario Protocol directory. Pays 0.10 USDC up front to deter spam.","discovery_status":"first_party_stale_not_strict_discoverable","endpoint":"https://ontarioprotocol.com/api/x402/list-agent","evidence_freshness":{"age_hours":443.12,"fresh_until":"2026-09-30T13:53:06.350798Z","max_age_hours":168,"observed_at":"2026-09-23T13:53:06.350798+00:00","refresh_reason":"Evidence is older than Ontario's 168-hour strict-payment freshness window.","refresh_recommended":true,"schema":"ontario.listing_evidence_freshness.v1","status":"stale"},"id":"ontario.list-agent","method":"POST","name":"Submit Agent Listing","network":"base","network_id":"eip155:8453","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_3355f5c590ee28a3","label":"Refresh Ontario's first-party evidence","reason":"Ontario first-party tools do not require provider publication, but strict buyer routing still requires fresh ready-grade evidence."},"owner_url":"https://ontarioprotocol.com","price_atomic":100000,"price_usdc":"0.10","service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ontarioprotocol-com-api-x402-list-agent-2214da9d","history_count":25,"last_verified":"2026-09-23T13:53:06.350798+00:00","score_delta":0,"slug":"ontarioprotocol-com-api-x402-list-agent-2214da9d","url":"https://ontarioprotocol.com/services/ontarioprotocol-com-api-x402-list-agent-2214da9d"},"tags":["directory","submit","agent"],"verification":{"checked_by":"ontario_public_verifier_first_party","disclosure":"Ontario operates both this service and the verifier that checked it; rerun the free verifier to reproduce.","grade":"ready","independent":false,"normalized_base":"https://ontarioprotocol.com","readiness_score":100,"report_id":"vrf_3355f5c590ee28a3","report_url":"https://ontarioprotocol.com/verify/report/vrf_3355f5c590ee28a3","target_url":"https://ontarioprotocol.com/api/x402/list-agent","verified_at":"2026-09-23T13:53:06.350798+00:00"},"verification_status":"ready","verified":true,"x402_version":2},{"agent_pay_visibility":"visible_in_first_party_catalog","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","buyer_catalog_eligible":true,"buyer_catalog_status":"ready_for_first_settlement","category":"marketplace","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"description":"List your paid API for agents with an Ontario provider profile and Bazaar Launch Passport: a live readiness scan, sanitized Coinbase indexing preflight, five-query buyer-intent audit, optional signed MCP + x402 procurement evidence, copy-ready distribution bundle, canonical HTML and JSON evidence, badge, 30 days of included automatic freshness maintenance, and conditional strict-discovery eligibility. Ontario is not Coinbase. The 2.00 USDC fee buys processing and evidence, not Bazaar placement, ranking, traffic, leads, or purchases.","discovery_status":"first_party_stale_not_strict_discoverable","endpoint":"https://ontarioprotocol.com/api/x402/list-service","evidence_freshness":{"age_hours":253.9,"fresh_until":"2026-10-08T11:06:21.316673Z","max_age_hours":168,"observed_at":"2026-10-01T11:06:21.316673+00:00","refresh_reason":"Evidence is older than Ontario's 168-hour strict-payment freshness window.","refresh_recommended":true,"schema":"ontario.listing_evidence_freshness.v1","status":"stale"},"id":"ontario.list-service","method":"POST","name":"Publish your x402 API for agent discovery","network":"base","network_id":"eip155:8453","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_e36a7cdad8ef3d5b","label":"Refresh Ontario's first-party evidence","reason":"Ontario first-party tools do not require provider publication, but strict buyer routing still requires fresh ready-grade evidence."},"owner_url":"https://ontarioprotocol.com","price_atomic":2000000,"price_usdc":"2.00","service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ontarioprotocol-com-api-x402-list-service-2f037d57","history_count":25,"last_verified":"2026-10-01T11:06:21.316673+00:00","score_delta":0,"slug":"ontarioprotocol-com-api-x402-list-service-2f037d57","url":"https://ontarioprotocol.com/services/ontarioprotocol-com-api-x402-list-service-2f037d57"},"tags":["provider-distribution","bazaar-launch-passport","buyer-intent-audit","agent-tool-procurement-passport","mcp-registry","service-profile","readiness-report","marketplace","x402"],"verification":{"checked_by":"ontario_public_verifier_first_party","disclosure":"Ontario operates both this service and the verifier that checked it; rerun the free verifier to reproduce.","grade":"ready","independent":false,"normalized_base":"https://ontarioprotocol.com","readiness_score":100,"report_id":"vrf_e36a7cdad8ef3d5b","report_url":"https://ontarioprotocol.com/verify/report/vrf_e36a7cdad8ef3d5b","target_url":"https://ontarioprotocol.com/api/x402/list-service","verified_at":"2026-10-01T11:06:21.316673+00:00"},"verification_status":"ready","verified":true,"x402_version":2},{"agent_pay_visibility":"visible_in_first_party_catalog","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","buyer_catalog_eligible":true,"buyer_catalog_status":"ready_for_first_settlement","category":"marketplace","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"description":"Run a fresh readiness scan for an existing paid Ontario provider profile after its included 30-day maintenance window and update its public evidence, JSON twin, and badge. The 0.10 USDC fee buys a new observation, not a better grade, ranking, traffic, or metadata edit.","discovery_status":"first_party_stale_not_strict_discoverable","endpoint":"https://ontarioprotocol.com/api/x402/refresh-listing","evidence_freshness":{"age_hours":443.12,"fresh_until":"2026-09-30T13:53:09.912530Z","max_age_hours":168,"observed_at":"2026-09-23T13:53:09.912530+00:00","refresh_reason":"Evidence is older than Ontario's 168-hour strict-payment freshness window.","refresh_recommended":true,"schema":"ontario.listing_evidence_freshness.v1","status":"stale"},"id":"ontario.refresh-listing","method":"POST","name":"Refresh an x402 Service Profile","network":"base","network_id":"eip155:8453","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_32052e6ed6186703","label":"Refresh Ontario's first-party evidence","reason":"Ontario first-party tools do not require provider publication, but strict buyer routing still requires fresh ready-grade evidence."},"owner_url":"https://ontarioprotocol.com","price_atomic":100000,"price_usdc":"0.10","service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ontarioprotocol-com-api-x402-refresh-listing-4b3b8e31","history_count":2,"last_verified":"2026-09-23T13:53:09.912530+00:00","score_delta":0,"slug":"ontarioprotocol-com-api-x402-refresh-listing-4b3b8e31","url":"https://ontarioprotocol.com/services/ontarioprotocol-com-api-x402-refresh-listing-4b3b8e31"},"tags":["provider-distribution","listing-refresh","readiness-evidence","profile-freshness","x402"],"verification":{"checked_by":"ontario_public_verifier_first_party","disclosure":"Ontario operates both this service and the verifier that checked it; rerun the free verifier to reproduce.","grade":"ready","independent":false,"normalized_base":"https://ontarioprotocol.com","readiness_score":100,"report_id":"vrf_32052e6ed6186703","report_url":"https://ontarioprotocol.com/verify/report/vrf_32052e6ed6186703","target_url":"https://ontarioprotocol.com/api/x402/refresh-listing","verified_at":"2026-09-23T13:53:09.912530+00:00"},"verification_status":"ready","verified":true,"x402_version":2},{"agent_pay_visibility":"eligible_for_strict_discover","agent_tool_procurement_passport":{"bazaar_buyer_retrieval":{"buyer_intent":{"best_sample_rank":null,"queries_checked":5,"query":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-n","state":"implementation_gap","visibility_rate_percent":0,"visible_queries":0},"catalog_visibility":{"exact_match_count":0,"source":"https://docs.cdp.coinbase.com/x402/seller/get-discovered","status":"not_found"},"report_id":"bazaar_9868a8f58187776440","report_url":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness/bazaar_9868a8f58187776440","status":"complete"},"boundary":"This is an Ontario point-in-time procurement record, not an official MCP Registry or Coinbase certification. It does not guarantee identity, safety, service quality, placement, ranking, settlement, delivery, traffic, or future behavior.","buyer_task":null,"checked_at":"2026-10-02T23:30:16.959363Z","integrity":{"algorithm":"Ed25519","canonical_sha256":"15a98e200aa2edc4ea3b2226b98fe1a5eb6cb3099b19b14cac33971df2ea2656","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"3D/iu8CCtpYfl8Xem2YawLhtvF7W7vJal55C4QVZGF37Op90ukflZRRLCAUmPWspZXNJqsmcF5eOWXN8+SmeAw==","signed_by":"ontario-protocol"},"integrity_key_url":"https://ontarioprotocol.com/.well-known/ontario-report-signing-key.json","mcp_identity_and_contracts":{"checks":[{"id":"registry_identity","max_points":15,"name":"Registry namespace and identity","observed":"name=missing","points":0,"remediation":"Use a stable reverse-DNS namespace such as com.example/tool-name; do not rename a published server casually.","status":"fail"},{"id":"descriptive_metadata","max_points":10,"name":"Title and buyer-facing description","observed":"title=missing, description_chars=0","points":0,"remediation":"Add a specific title and a 40+ character description explaining the tool, its inputs, and the buyer outcome before an agent selects it.","status":"fail"},{"id":"version","max_points":10,"name":"Published version","observed":"version=missing","points":0,"remediation":"Publish an explicit version and update it when tool contracts or payment behavior changes.","status":"fail"},{"id":"website_url","max_points":10,"name":"Canonical HTTPS website","observed":"website=missing_or_non_https","points":0,"remediation":"Set websiteUrl to the canonical HTTPS page where humans can inspect documentation, ownership, and trust boundaries.","status":"fail"},{"evidence":["https://ioswarm.io/mcp"],"id":"remote_transport","max_points":15,"name":"HTTPS MCP remote","observed":"supplied remote_url; transport=HTTPS","points":15,"remediation":"Use a stable HTTPS remote URL. Ontario does not send credentials or payment headers during this check.","status":"pass"},{"evidence":["https://ioswarm.io/mcp"],"id":"initialize_handshake","max_points":15,"name":"Read-only MCP initialize","observed":"protocol=2025-06-18; server_name=swarmio; server_version=0.1.0; registry_alignment=pass","points":15,"remediation":"Keep the advertised protocol version, serverInfo name/version, and published Registry record aligned; publish a new unique version when the public contract changes.","status":"pass"},{"evidence":["market.pulse","search","fetch","web.search","news.brief"],"id":"tool_contracts","max_points":15,"name":"Tool metadata and input schemas","observed":"tools=14; invalid_entries=0","points":15,"remediation":"Give every tool a stable name, useful description, and JSON inputSchema. Do not make payment or safety claims the schema cannot support.","status":"pass"},{"evidence":["https://ioswarm.io/.well-known/x402.json"],"id":"x402_discovery","max_points":10,"name":"x402 discovery context","observed":"mcp_json=missing_or_unavailable; x402_json=present","points":10,"remediation":"Publish /.well-known/x402.json when the MCP server has paid tools, and keep price, network, asset, and free-first policy metadata aligned with the live 402 challenge.","status":"pass"}],"error":null,"error_code":null,"grade":"needs_work","machine_surfaces":{"mcp_json":"missing_or_unavailable","mcp_json_code":"invalid_json_response","mcp_server_info":{"name":"swarmio","registry_alignment":"pass","version":"0.1.0"},"x402_json":"present","x402_json_fields":["asset","catalogue","description","docs","enabled","facilitator","free_first","how","name","payTo","primitives","protocol","resources","url","x402Versions"]},"max_score":100,"read_only_probe":{"initialize":"pass","tools":"pass"},"registry_record":{"has_description":false,"name":"","remote_count":0,"title":"","version":""},"score":55,"share_url":"https://ontarioprotocol.com/tools/mcp-registry-readiness?remote_url=https%3A%2F%2Fioswarm.io%2Fmcp","status":"complete","summary":{"failed":4,"passed":4,"warnings":0},"target":{"canonical_target":"https://ioswarm.io/mcp","remote_url":"https://ioswarm.io/mcp","server_json_url":null,"server_name":null}},"methodology":{"bazaar_probe":"Point-in-time public validator and sampled buyer-task retrieval evidence.","mcp_probe":"Read-only initialize and tools/list; no tool invocation, credentials, or payment headers.","x402_probe":"Point-in-time observable endpoint and payment-challenge readiness checks."},"provider":{"endpoint":"https://ioswarm.io/api/v1/search","method":"POST","name":"SwarmIO Cloud"},"report_id":"proc_0f466bf040a0a22f04","schema":"ontario.agent_tool_procurement_passport.v1","status":"complete","x402_readiness":{"grade":"needs_work","report_id":"vrf_7063b558a4da8545","report_url":null,"score":52,"status":"ok","verified_at":"2026-10-02T23:30:11.774552+00:00"}},"asset":"USDC","bazaar_launch_passport":{"badge_url":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness/bazaar_9868a8f58187776440/badge.svg","boundary":"This is an Ontario point-in-time snapshot of public Coinbase validator and Bazaar search responses. Ontario is not Coinbase; the launch passport is not an official certification and does not guarantee placement, ranking, traffic, or revenue.","buyer_intent":{"best_sample_rank":null,"queries_checked":5,"query":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-n","state":"implementation_gap","visibility_rate_percent":0,"visible_queries":0},"catalog_visibility":{"exact_match_count":0,"source":"https://docs.cdp.coinbase.com/x402/seller/get-discovered","status":"not_found"},"cdp_validation":{"advisory_failures":2,"index_active":false,"required_failures":20,"source":"https://docs.cdp.coinbase.com/x402/seller/get-discovered#validate-your-endpoint","status":"rejected","valid":false},"checked_at":"2026-10-02T23:30:16Z","grade":"needs_work","readiness_report_storage":"stored","report_id":"bazaar_9868a8f58187776440","report_storage":"stored","report_url":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness/bazaar_9868a8f58187776440","schema":"ontario.bazaar_launch_passport.v1","score":33,"settlement_activation":{"activation_required":false,"catalog_placement_verified":false,"status":"configuration_rejected"},"share_url":"https://ontarioprotocol.com/tools/coinbase-bazaar-readiness?report_id=bazaar_9868a8f58187776440","status":"complete"},"buyer_query":"","category":"agent","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"created_at":"2026-10-02T23:30:17.444177Z","description":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-news briefs 5c, market quotes 1c, browser-grade page fetch 2c, chat completions 2c) plus a 17-mode pay-per-run deep-research catalogue (25c-1.40 USD per run). USDC on Base via x402 v1+v2 (EIP-3009), CDP facilitator. No signup - the paying wallet is the account. Machine-readable discovery: https://ioswarm.io/.well-known/x402.json","discovery_status":"strict_discovery_ready","endpoint":"https://ioswarm.io/api/v1/search","evidence_freshness":{"age_hours":47.01,"fresh_until":"2026-10-17T02:00:04.106515Z","max_age_hours":168,"observed_at":"2026-10-10T02:00:04.106515+00:00","refresh_reason":"Evidence remains inside Ontario's 168-hour strict-payment freshness window; refresh only after a material endpoint change or when the evidence becomes stale.","refresh_recommended":false,"schema":"ontario.listing_evidence_freshness.v1","status":"fresh"},"id":"lst_c768759e6d74","included_maintenance":{"automatic_refresh_eligible":false,"automatic_refresh_retry_after":null,"boundary":"Included maintenance refreshes observable readiness evidence only. It cannot edit metadata, improve a grade by payment, buy ranking or traffic, or guarantee strict discovery, purchases, safety, or future behavior.","freshness":{"age_hours":47.01,"fresh_until":"2026-10-17T02:00:04.106515Z","max_age_hours":168,"observed_at":"2026-10-10T02:00:04.106515+00:00","refresh_reason":"Evidence remains inside Ontario's 168-hour strict-payment freshness window; refresh only after a material endpoint change or when the evidence becomes stale.","refresh_recommended":false,"schema":"ontario.listing_evidence_freshness.v1","status":"fresh"},"included_active":true,"included_days":30,"included_refresh_count":1,"included_until":"2026-11-01T23:30:17.444177Z","last_automatic_refresh_at":"2026-10-10T02:00:04.360035Z","paid_refresh":{"endpoint":"https://ontarioprotocol.com/api/x402/refresh-listing","method":"POST","price_usdc":"0.10","validate":"https://ontarioprotocol.com/api/x402/refresh-listing/validate"},"paid_refresh_recommended":false,"renewal":{"days":30,"endpoint":"https://ontarioprotocol.com/api/x402/renew-listing","includes":["readiness evidence kept fresh automatically","Bazaar buyer-search re-check every 7 days with history","optional webhook alert when the grade changes or the endpoint stops answering"],"method":"POST","price_usdc":"5.00","validate":"https://ontarioprotocol.com/api/x402/renew-listing/validate"},"renewed":false,"schema":"ontario.paid_listing_maintenance.v1","status":"included_active_evidence_fresh"},"included_refresh_count":1,"last_auto_refresh_at":"2026-10-10T02:00:04.360035Z","last_auto_refresh_attempt_at":"2026-10-10T02:00:04.360035Z","last_auto_refresh_status":"updated","last_refresh_source":"included_maintenance","last_refreshed_at":"2026-10-10T02:00:04.360035Z","mcp_remote_url":"https://ioswarm.io/mcp","mcp_server_json_url":"","mcp_server_name":"","method":"POST","name":"SwarmIO Cloud","network":"base","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_06750c7ebd3e2569","label":"Keep evidence fresh","reason":"This listing has ready-grade evidence; re-verify before agents spend."},"owner_url":"https://ioswarm.io","price_atomic":20000,"price_usdc":"0.02","publication":{"badge_url":"https://ontarioprotocol.com/listings/lst_c768759e6d74/badge.svg","indexable_profile":true,"paid_submission":true,"profile_json_url":"https://ontarioprotocol.com/listings/lst_c768759e6d74.json","profile_url":"https://ontarioprotocol.com/listings/lst_c768759e6d74","status":"paid_submission_processed"},"refresh_count":2,"service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ioswarm-io-api-v1-search-4c61f22f","history_count":4,"last_verified":"2026-10-10T02:00:04.106515+00:00","score_delta":48,"slug":"ioswarm-io-api-v1-search-4c61f22f","url":"https://ontarioprotocol.com/services/ioswarm-io-api-v1-search-4c61f22f"},"tags":[],"verification":{"grade":"ready","normalized_base":"https://ioswarm.io","readiness_score":100,"report_id":"vrf_06750c7ebd3e2569","report_url":"https://ontarioprotocol.com/verify/report/vrf_06750c7ebd3e2569","target_url":"https://ioswarm.io/api/v1/search","verified_at":"2026-10-10T02:00:04.106515+00:00"},"verification_status":"ready","verified":true}],"accepts_payment":true,"contact":"hello@ontarioprotocol.com","default_asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","default_network":"base","description":"Pre-payment verification and discovery layer for x402-paid AI-agent endpoints. Includes first-party paid APIs (trust scans, reputation lookups) and verified third-party service aggregation. Defaults: USDC on Base.","discovery":{"agent_buyer_guide":"https://ontarioprotocol.com/.well-known/agent-buyer.json","agent_payment_policy":"https://ontarioprotocol.com/.well-known/agent-payment-policy.json","coinbase_bazaar_activation":{"boundary":"Ontario cannot guarantee Bazaar placement, traffic, ranking, safety, or purchases, and does not execute production settlements for providers.","documentation":"https://docs.cdp.coinbase.com/x402/seller/get-discovered","recommended_sequence":["run_free_catalog_scorecard","rehearse_without_production_spend","approve_smallest_controlled_production_settlement","verify_external_catalog_entry"],"requirement":"Bazaar-enabled routes need a successful settlement observed by the CDP Facilitator before a Bazaar catalog entry can be expected.","status":"provider_controlled_and_unconfirmed"},"free_bazaar_buyer_intent_audit":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness","free_listing_validation":"https://ontarioprotocol.com/api/x402/list-service/validate","free_provider_launch_preflight":{"endpoint":"https://ontarioprotocol.com/api/x402/list-service/request","purpose":"Validate provider metadata and return the paid launch-passport decision without publishing.","stores_listing":false},"high_intent_pages":{"agent_catalog_launch_pack":"https://ontarioprotocol.com/services/x402-agent-catalog-launch-pack","agent_catalog_publish":"https://ontarioprotocol.com/services/agent-catalog-publish","agent_payment_policy":"https://ontarioprotocol.com/docs/agent-payment-policy","agent_payment_preflight":"https://ontarioprotocol.com/docs/agent-payment-preflight","agent_plugin_marketplace_comparison":"https://ontarioprotocol.com/compare/agent-plugin-marketplaces/wshobson-agents","best_x402_verification_tools":"https://ontarioprotocol.com/compare/x402-verification-tools","enterprise_trust_review":"https://ontarioprotocol.com/pricing?offer=enterprise_review#scope","enterprise_x402_trust_audit":"https://ontarioprotocol.com/tools/enterprise-x402-trust-audit","marketplace_trust_feed":"https://ontarioprotocol.com/services/x402-marketplace-trust-feed","rail_fit_review":"https://ontarioprotocol.com/services/x402-rail-fit-review","readiness_watch":"https://ontarioprotocol.com/services/x402-readiness-watch","verify_endpoint_before_agent_pays":"https://ontarioprotocol.com/answers/verify-endpoint-before-agent-pays","x402_bazaar_extension_debugger":"https://ontarioprotocol.com/tools/x402-bazaar-extension-debugger","x402_code_review_service":"https://ontarioprotocol.com/services/x402-code-review","x402_github_action":"https://ontarioprotocol.com/tools/x402-github-action","x402_paid_api_directory":"https://ontarioprotocol.com/answers/x402-paid-api-directory","x402_pricing_calculator":"https://ontarioprotocol.com/tools/x402-pricing-calculator","x402_tool_router":"https://ontarioprotocol.com/tools/x402-tool-router"},"human":"https://ontarioprotocol.com/listings","machine":"https://ontarioprotocol.com/discover","manifest":"https://ontarioprotocol.com/.well-known/x402.json","marketplace_trust_feed_sample":"https://ontarioprotocol.com/api/x402/marketplace-trust-feed?limit=25","mcp_manifest":"https://ontarioprotocol.com/.well-known/mcp.json","registry_listing_hint":"List Ontario with the MCP manifest, x402 manifest, agent buyer guide, and agent payment policy together. Agents should discover, run free preflight, probe 402, then pay only after policy allow.","service_catalog":"https://ontarioprotocol.com/api/x402/services","service_catalog_aliases":["https://ontarioprotocol.com/api/discover","https://ontarioprotocol.com/api/services"],"task_to_tool_router":"https://ontarioprotocol.com/api/tools/x402-tool-router","trust_standard":"https://ontarioprotocol.com/.well-known/x402-trust.json","verification_reports":"https://ontarioprotocol.com/api/verify/reports","verifier":"https://ontarioprotocol.com/api/verify/x402-readiness"},"facilitator":{"default":"https://api.cdp.coinbase.com/platform/v2/x402","self":"https://ontarioprotocol.com/facilitator"},"generated_at":"2026-10-12T01:00:30.183855Z","homepage":"https://ontarioprotocol.com","name":"Ontario Protocol","pay_to":"0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec","payment_protocols":["x402"],"resources":[{"agent_pay_visibility":"visible_in_first_party_catalog","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","buyer_catalog_eligible":true,"buyer_catalog_status":"ready_for_first_settlement","category":"directory","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"description":"Submit an AI agent for inclusion in the Ontario Protocol directory. Pays 0.10 USDC up front to deter spam.","discovery_status":"first_party_stale_not_strict_discoverable","endpoint":"https://ontarioprotocol.com/api/x402/list-agent","evidence_freshness":{"age_hours":443.12,"fresh_until":"2026-09-30T13:53:06.350798Z","max_age_hours":168,"observed_at":"2026-09-23T13:53:06.350798+00:00","refresh_reason":"Evidence is older than Ontario's 168-hour strict-payment freshness window.","refresh_recommended":true,"schema":"ontario.listing_evidence_freshness.v1","status":"stale"},"id":"ontario.list-agent","method":"POST","name":"Submit Agent Listing","network":"base","network_id":"eip155:8453","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_3355f5c590ee28a3","label":"Refresh Ontario's first-party evidence","reason":"Ontario first-party tools do not require provider publication, but strict buyer routing still requires fresh ready-grade evidence."},"owner_url":"https://ontarioprotocol.com","price_atomic":100000,"price_usdc":"0.10","service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ontarioprotocol-com-api-x402-list-agent-2214da9d","history_count":25,"last_verified":"2026-09-23T13:53:06.350798+00:00","score_delta":0,"slug":"ontarioprotocol-com-api-x402-list-agent-2214da9d","url":"https://ontarioprotocol.com/services/ontarioprotocol-com-api-x402-list-agent-2214da9d"},"tags":["directory","submit","agent"],"verification":{"checked_by":"ontario_public_verifier_first_party","disclosure":"Ontario operates both this service and the verifier that checked it; rerun the free verifier to reproduce.","grade":"ready","independent":false,"normalized_base":"https://ontarioprotocol.com","readiness_score":100,"report_id":"vrf_3355f5c590ee28a3","report_url":"https://ontarioprotocol.com/verify/report/vrf_3355f5c590ee28a3","target_url":"https://ontarioprotocol.com/api/x402/list-agent","verified_at":"2026-09-23T13:53:06.350798+00:00"},"verification_status":"ready","verified":true,"x402_version":2},{"agent_pay_visibility":"visible_in_first_party_catalog","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","buyer_catalog_eligible":true,"buyer_catalog_status":"ready_for_first_settlement","category":"marketplace","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"description":"List your paid API for agents with an Ontario provider profile and Bazaar Launch Passport: a live readiness scan, sanitized Coinbase indexing preflight, five-query buyer-intent audit, optional signed MCP + x402 procurement evidence, copy-ready distribution bundle, canonical HTML and JSON evidence, badge, 30 days of included automatic freshness maintenance, and conditional strict-discovery eligibility. Ontario is not Coinbase. The 2.00 USDC fee buys processing and evidence, not Bazaar placement, ranking, traffic, leads, or purchases.","discovery_status":"first_party_stale_not_strict_discoverable","endpoint":"https://ontarioprotocol.com/api/x402/list-service","evidence_freshness":{"age_hours":253.9,"fresh_until":"2026-10-08T11:06:21.316673Z","max_age_hours":168,"observed_at":"2026-10-01T11:06:21.316673+00:00","refresh_reason":"Evidence is older than Ontario's 168-hour strict-payment freshness window.","refresh_recommended":true,"schema":"ontario.listing_evidence_freshness.v1","status":"stale"},"id":"ontario.list-service","method":"POST","name":"Publish your x402 API for agent discovery","network":"base","network_id":"eip155:8453","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_e36a7cdad8ef3d5b","label":"Refresh Ontario's first-party evidence","reason":"Ontario first-party tools do not require provider publication, but strict buyer routing still requires fresh ready-grade evidence."},"owner_url":"https://ontarioprotocol.com","price_atomic":2000000,"price_usdc":"2.00","service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ontarioprotocol-com-api-x402-list-service-2f037d57","history_count":25,"last_verified":"2026-10-01T11:06:21.316673+00:00","score_delta":0,"slug":"ontarioprotocol-com-api-x402-list-service-2f037d57","url":"https://ontarioprotocol.com/services/ontarioprotocol-com-api-x402-list-service-2f037d57"},"tags":["provider-distribution","bazaar-launch-passport","buyer-intent-audit","agent-tool-procurement-passport","mcp-registry","service-profile","readiness-report","marketplace","x402"],"verification":{"checked_by":"ontario_public_verifier_first_party","disclosure":"Ontario operates both this service and the verifier that checked it; rerun the free verifier to reproduce.","grade":"ready","independent":false,"normalized_base":"https://ontarioprotocol.com","readiness_score":100,"report_id":"vrf_e36a7cdad8ef3d5b","report_url":"https://ontarioprotocol.com/verify/report/vrf_e36a7cdad8ef3d5b","target_url":"https://ontarioprotocol.com/api/x402/list-service","verified_at":"2026-10-01T11:06:21.316673+00:00"},"verification_status":"ready","verified":true,"x402_version":2},{"agent_pay_visibility":"visible_in_first_party_catalog","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","buyer_catalog_eligible":true,"buyer_catalog_status":"ready_for_first_settlement","category":"marketplace","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"description":"Run a fresh readiness scan for an existing paid Ontario provider profile after its included 30-day maintenance window and update its public evidence, JSON twin, and badge. The 0.10 USDC fee buys a new observation, not a better grade, ranking, traffic, or metadata edit.","discovery_status":"first_party_stale_not_strict_discoverable","endpoint":"https://ontarioprotocol.com/api/x402/refresh-listing","evidence_freshness":{"age_hours":443.12,"fresh_until":"2026-09-30T13:53:09.912530Z","max_age_hours":168,"observed_at":"2026-09-23T13:53:09.912530+00:00","refresh_reason":"Evidence is older than Ontario's 168-hour strict-payment freshness window.","refresh_recommended":true,"schema":"ontario.listing_evidence_freshness.v1","status":"stale"},"id":"ontario.refresh-listing","method":"POST","name":"Refresh an x402 Service Profile","network":"base","network_id":"eip155:8453","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_32052e6ed6186703","label":"Refresh Ontario's first-party evidence","reason":"Ontario first-party tools do not require provider publication, but strict buyer routing still requires fresh ready-grade evidence."},"owner_url":"https://ontarioprotocol.com","price_atomic":100000,"price_usdc":"0.10","service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ontarioprotocol-com-api-x402-refresh-listing-4b3b8e31","history_count":2,"last_verified":"2026-09-23T13:53:09.912530+00:00","score_delta":0,"slug":"ontarioprotocol-com-api-x402-refresh-listing-4b3b8e31","url":"https://ontarioprotocol.com/services/ontarioprotocol-com-api-x402-refresh-listing-4b3b8e31"},"tags":["provider-distribution","listing-refresh","readiness-evidence","profile-freshness","x402"],"verification":{"checked_by":"ontario_public_verifier_first_party","disclosure":"Ontario operates both this service and the verifier that checked it; rerun the free verifier to reproduce.","grade":"ready","independent":false,"normalized_base":"https://ontarioprotocol.com","readiness_score":100,"report_id":"vrf_32052e6ed6186703","report_url":"https://ontarioprotocol.com/verify/report/vrf_32052e6ed6186703","target_url":"https://ontarioprotocol.com/api/x402/refresh-listing","verified_at":"2026-09-23T13:53:09.912530+00:00"},"verification_status":"ready","verified":true,"x402_version":2},{"agent_pay_visibility":"eligible_for_strict_discover","agent_tool_procurement_passport":{"bazaar_buyer_retrieval":{"buyer_intent":{"best_sample_rank":null,"queries_checked":5,"query":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-n","state":"implementation_gap","visibility_rate_percent":0,"visible_queries":0},"catalog_visibility":{"exact_match_count":0,"source":"https://docs.cdp.coinbase.com/x402/seller/get-discovered","status":"not_found"},"report_id":"bazaar_9868a8f58187776440","report_url":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness/bazaar_9868a8f58187776440","status":"complete"},"boundary":"This is an Ontario point-in-time procurement record, not an official MCP Registry or Coinbase certification. It does not guarantee identity, safety, service quality, placement, ranking, settlement, delivery, traffic, or future behavior.","buyer_task":null,"checked_at":"2026-10-02T23:30:16.959363Z","integrity":{"algorithm":"Ed25519","canonical_sha256":"15a98e200aa2edc4ea3b2226b98fe1a5eb6cb3099b19b14cac33971df2ea2656","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"3D/iu8CCtpYfl8Xem2YawLhtvF7W7vJal55C4QVZGF37Op90ukflZRRLCAUmPWspZXNJqsmcF5eOWXN8+SmeAw==","signed_by":"ontario-protocol"},"integrity_key_url":"https://ontarioprotocol.com/.well-known/ontario-report-signing-key.json","mcp_identity_and_contracts":{"checks":[{"id":"registry_identity","max_points":15,"name":"Registry namespace and identity","observed":"name=missing","points":0,"remediation":"Use a stable reverse-DNS namespace such as com.example/tool-name; do not rename a published server casually.","status":"fail"},{"id":"descriptive_metadata","max_points":10,"name":"Title and buyer-facing description","observed":"title=missing, description_chars=0","points":0,"remediation":"Add a specific title and a 40+ character description explaining the tool, its inputs, and the buyer outcome before an agent selects it.","status":"fail"},{"id":"version","max_points":10,"name":"Published version","observed":"version=missing","points":0,"remediation":"Publish an explicit version and update it when tool contracts or payment behavior changes.","status":"fail"},{"id":"website_url","max_points":10,"name":"Canonical HTTPS website","observed":"website=missing_or_non_https","points":0,"remediation":"Set websiteUrl to the canonical HTTPS page where humans can inspect documentation, ownership, and trust boundaries.","status":"fail"},{"evidence":["https://ioswarm.io/mcp"],"id":"remote_transport","max_points":15,"name":"HTTPS MCP remote","observed":"supplied remote_url; transport=HTTPS","points":15,"remediation":"Use a stable HTTPS remote URL. Ontario does not send credentials or payment headers during this check.","status":"pass"},{"evidence":["https://ioswarm.io/mcp"],"id":"initialize_handshake","max_points":15,"name":"Read-only MCP initialize","observed":"protocol=2025-06-18; server_name=swarmio; server_version=0.1.0; registry_alignment=pass","points":15,"remediation":"Keep the advertised protocol version, serverInfo name/version, and published Registry record aligned; publish a new unique version when the public contract changes.","status":"pass"},{"evidence":["market.pulse","search","fetch","web.search","news.brief"],"id":"tool_contracts","max_points":15,"name":"Tool metadata and input schemas","observed":"tools=14; invalid_entries=0","points":15,"remediation":"Give every tool a stable name, useful description, and JSON inputSchema. Do not make payment or safety claims the schema cannot support.","status":"pass"},{"evidence":["https://ioswarm.io/.well-known/x402.json"],"id":"x402_discovery","max_points":10,"name":"x402 discovery context","observed":"mcp_json=missing_or_unavailable; x402_json=present","points":10,"remediation":"Publish /.well-known/x402.json when the MCP server has paid tools, and keep price, network, asset, and free-first policy metadata aligned with the live 402 challenge.","status":"pass"}],"error":null,"error_code":null,"grade":"needs_work","machine_surfaces":{"mcp_json":"missing_or_unavailable","mcp_json_code":"invalid_json_response","mcp_server_info":{"name":"swarmio","registry_alignment":"pass","version":"0.1.0"},"x402_json":"present","x402_json_fields":["asset","catalogue","description","docs","enabled","facilitator","free_first","how","name","payTo","primitives","protocol","resources","url","x402Versions"]},"max_score":100,"read_only_probe":{"initialize":"pass","tools":"pass"},"registry_record":{"has_description":false,"name":"","remote_count":0,"title":"","version":""},"score":55,"share_url":"https://ontarioprotocol.com/tools/mcp-registry-readiness?remote_url=https%3A%2F%2Fioswarm.io%2Fmcp","status":"complete","summary":{"failed":4,"passed":4,"warnings":0},"target":{"canonical_target":"https://ioswarm.io/mcp","remote_url":"https://ioswarm.io/mcp","server_json_url":null,"server_name":null}},"methodology":{"bazaar_probe":"Point-in-time public validator and sampled buyer-task retrieval evidence.","mcp_probe":"Read-only initialize and tools/list; no tool invocation, credentials, or payment headers.","x402_probe":"Point-in-time observable endpoint and payment-challenge readiness checks."},"provider":{"endpoint":"https://ioswarm.io/api/v1/search","method":"POST","name":"SwarmIO Cloud"},"report_id":"proc_0f466bf040a0a22f04","schema":"ontario.agent_tool_procurement_passport.v1","status":"complete","x402_readiness":{"grade":"needs_work","report_id":"vrf_7063b558a4da8545","report_url":null,"score":52,"status":"ok","verified_at":"2026-10-02T23:30:11.774552+00:00"}},"asset":"USDC","bazaar_launch_passport":{"badge_url":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness/bazaar_9868a8f58187776440/badge.svg","boundary":"This is an Ontario point-in-time snapshot of public Coinbase validator and Bazaar search responses. Ontario is not Coinbase; the launch passport is not an official certification and does not guarantee placement, ranking, traffic, or revenue.","buyer_intent":{"best_sample_rank":null,"queries_checked":5,"query":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-n","state":"implementation_gap","visibility_rate_percent":0,"visible_queries":0},"catalog_visibility":{"exact_match_count":0,"source":"https://docs.cdp.coinbase.com/x402/seller/get-discovered","status":"not_found"},"cdp_validation":{"advisory_failures":2,"index_active":false,"required_failures":20,"source":"https://docs.cdp.coinbase.com/x402/seller/get-discovered#validate-your-endpoint","status":"rejected","valid":false},"checked_at":"2026-10-02T23:30:16Z","grade":"needs_work","readiness_report_storage":"stored","report_id":"bazaar_9868a8f58187776440","report_storage":"stored","report_url":"https://ontarioprotocol.com/api/tools/coinbase-bazaar-readiness/bazaar_9868a8f58187776440","schema":"ontario.bazaar_launch_passport.v1","score":33,"settlement_activation":{"activation_required":false,"catalog_placement_verified":false,"status":"configuration_rejected"},"share_url":"https://ontarioprotocol.com/tools/coinbase-bazaar-readiness?report_id=bazaar_9868a8f58187776440","status":"complete"},"buyer_query":"","category":"agent","certification":{"agent_policy":"review","integrity_ok":false,"label":"Ready - integrity pending","level":"ready_integrity_pending"},"created_at":"2026-10-02T23:30:17.444177Z","description":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-news briefs 5c, market quotes 1c, browser-grade page fetch 2c, chat completions 2c) plus a 17-mode pay-per-run deep-research catalogue (25c-1.40 USD per run). USDC on Base via x402 v1+v2 (EIP-3009), CDP facilitator. No signup - the paying wallet is the account. Machine-readable discovery: https://ioswarm.io/.well-known/x402.json","discovery_status":"strict_discovery_ready","endpoint":"https://ioswarm.io/api/v1/search","evidence_freshness":{"age_hours":47.01,"fresh_until":"2026-10-17T02:00:04.106515Z","max_age_hours":168,"observed_at":"2026-10-10T02:00:04.106515+00:00","refresh_reason":"Evidence remains inside Ontario's 168-hour strict-payment freshness window; refresh only after a material endpoint change or when the evidence becomes stale.","refresh_recommended":false,"schema":"ontario.listing_evidence_freshness.v1","status":"fresh"},"id":"lst_c768759e6d74","included_maintenance":{"automatic_refresh_eligible":false,"automatic_refresh_retry_after":null,"boundary":"Included maintenance refreshes observable readiness evidence only. It cannot edit metadata, improve a grade by payment, buy ranking or traffic, or guarantee strict discovery, purchases, safety, or future behavior.","freshness":{"age_hours":47.01,"fresh_until":"2026-10-17T02:00:04.106515Z","max_age_hours":168,"observed_at":"2026-10-10T02:00:04.106515+00:00","refresh_reason":"Evidence remains inside Ontario's 168-hour strict-payment freshness window; refresh only after a material endpoint change or when the evidence becomes stale.","refresh_recommended":false,"schema":"ontario.listing_evidence_freshness.v1","status":"fresh"},"included_active":true,"included_days":30,"included_refresh_count":1,"included_until":"2026-11-01T23:30:17.444177Z","last_automatic_refresh_at":"2026-10-10T02:00:04.360035Z","paid_refresh":{"endpoint":"https://ontarioprotocol.com/api/x402/refresh-listing","method":"POST","price_usdc":"0.10","validate":"https://ontarioprotocol.com/api/x402/refresh-listing/validate"},"paid_refresh_recommended":false,"renewal":{"days":30,"endpoint":"https://ontarioprotocol.com/api/x402/renew-listing","includes":["readiness evidence kept fresh automatically","Bazaar buyer-search re-check every 7 days with history","optional webhook alert when the grade changes or the endpoint stops answering"],"method":"POST","price_usdc":"5.00","validate":"https://ontarioprotocol.com/api/x402/renew-listing/validate"},"renewed":false,"schema":"ontario.paid_listing_maintenance.v1","status":"included_active_evidence_fresh"},"included_refresh_count":1,"last_auto_refresh_at":"2026-10-10T02:00:04.360035Z","last_auto_refresh_attempt_at":"2026-10-10T02:00:04.360035Z","last_auto_refresh_status":"updated","last_refresh_source":"included_maintenance","last_refreshed_at":"2026-10-10T02:00:04.360035Z","mcp_remote_url":"https://ioswarm.io/mcp","mcp_server_json_url":"","mcp_server_name":"","method":"POST","name":"SwarmIO Cloud","network":"base","next_action":{"href":"https://ontarioprotocol.com/verify/report/vrf_06750c7ebd3e2569","label":"Keep evidence fresh","reason":"This listing has ready-grade evidence; re-verify before agents spend."},"owner_url":"https://ioswarm.io","price_atomic":20000,"price_usdc":"0.02","publication":{"badge_url":"https://ontarioprotocol.com/listings/lst_c768759e6d74/badge.svg","indexable_profile":true,"paid_submission":true,"profile_json_url":"https://ontarioprotocol.com/listings/lst_c768759e6d74.json","profile_url":"https://ontarioprotocol.com/listings/lst_c768759e6d74","status":"paid_submission_processed"},"refresh_count":2,"service_profile":{"api_url":"https://ontarioprotocol.com/api/verify/services/ioswarm-io-api-v1-search-4c61f22f","history_count":4,"last_verified":"2026-10-10T02:00:04.106515+00:00","score_delta":48,"slug":"ioswarm-io-api-v1-search-4c61f22f","url":"https://ontarioprotocol.com/services/ioswarm-io-api-v1-search-4c61f22f"},"tags":[],"verification":{"grade":"ready","normalized_base":"https://ioswarm.io","readiness_score":100,"report_id":"vrf_06750c7ebd3e2569","report_url":"https://ontarioprotocol.com/verify/report/vrf_06750c7ebd3e2569","target_url":"https://ioswarm.io/api/v1/search","verified_at":"2026-10-10T02:00:04.106515+00:00"},"verification_status":"ready","verified":true}],"services":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","category":"directory","description":"Submit an AI agent for inclusion in the Ontario Protocol directory. Pays 0.10 USDC up front to deter spam.","endpoint":"https://ontarioprotocol.com/api/x402/list-agent","id":"ontario.list-agent","method":"POST","name":"Submit Agent Listing","network":"base","owner_url":"https://ontarioprotocol.com","price_atomic":100000,"price_usdc":"0.10","tags":["directory","submit","agent"]},{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","category":"marketplace","description":"List your paid API for agents with an Ontario provider profile and Bazaar Launch Passport: a live readiness scan, sanitized Coinbase indexing preflight, five-query buyer-intent audit, optional signed MCP + x402 procurement evidence, copy-ready distribution bundle, canonical HTML and JSON evidence, badge, 30 days of included automatic freshness maintenance, and conditional strict-discovery eligibility. Ontario is not Coinbase. The 2.00 USDC fee buys processing and evidence, not Bazaar placement, ranking, traffic, leads, or purchases.","endpoint":"https://ontarioprotocol.com/api/x402/list-service","id":"ontario.list-service","method":"POST","name":"Publish your x402 API for agent discovery","network":"base","owner_url":"https://ontarioprotocol.com","price_atomic":2000000,"price_usdc":"2.00","tags":["provider-distribution","bazaar-launch-passport","buyer-intent-audit","agent-tool-procurement-passport","mcp-registry","service-profile","readiness-report","marketplace","x402"]},{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","category":"marketplace","description":"Run a fresh readiness scan for an existing paid Ontario provider profile after its included 30-day maintenance window and update its public evidence, JSON twin, and badge. The 0.10 USDC fee buys a new observation, not a better grade, ranking, traffic, or metadata edit.","endpoint":"https://ontarioprotocol.com/api/x402/refresh-listing","id":"ontario.refresh-listing","method":"POST","name":"Refresh an x402 Service Profile","network":"base","owner_url":"https://ontarioprotocol.com","price_atomic":100000,"price_usdc":"0.10","tags":["provider-distribution","listing-refresh","readiness-evidence","profile-freshness","x402"]},{"asset":"USDC","category":"agent","description":"Hosted agent harness over x402: six synchronous pay-per-call primitives (live web search with 25 free/day then 2c, cited search-report briefs 5c, cited market-news briefs 5c, market quotes 1c, browser-grade page fetch 2c, chat completions 2c) plus a 17-mode pay-per-run deep-research catalogue (25c-1.40 USD per run). USDC on Base via x402 v1+v2 (EIP-3009), CDP facilitator. No signup - the paying wallet is the account. Machine-readable discovery: https://ioswarm.io/.well-known/x402.json","endpoint":"https://ioswarm.io/api/v1/search","id":"lst_c768759e6d74","method":"POST","name":"SwarmIO Cloud","network":"base","owner_url":"https://ioswarm.io","price_atomic":20000,"price_usdc":"0.02","tags":[]}],"site":"https://ontarioprotocol.com","x402Version":1},"reachable":true,"service_count":4,"status_code":200,"valid_json":true,"well_formed":true}},"grade":"close","integrity":{"algorithm":"Ed25519","canonical_sha256":"8c73e0db580d77d20a0505f324e1c35e9a09aaccb101b9acffb7915bf4d73bd3","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"nd7P+8b3TmnYizpDqtcy2pgOomASR0uc/Tew6rZWNQaXphFSlNRp5cCXCdqKj9eNjCVg//zitO0ibW2MY2sFBA==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://ontarioprotocol.com","provider_listing_next_step":{"endpoint":"https://ontarioprotocol.com/api/agent/pay/v2","free_validation":{"charged_now":false,"method":"POST","stores_listing":false,"url":"https://ontarioprotocol.com/api/x402/list-service/validate"},"grade":"close","publication":{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","listing_page":"https://ontarioprotocol.com/listings?report_id=vrf_fac737942c687d6e&endpoint=https%3A%2F%2Fontarioprotocol.com%2Fapi%2Fagent%2Fpay%2Fv2#submit-service","method":"POST","network":"eip155:8453","price_usdc":"0.50","url":"https://ontarioprotocol.com/api/x402/list-service","value":"One canonical provider profile, machine-readable JSON twin, badge, live readiness evidence, 30 days of included automatic freshness maintenance, and conditional fresh ready-grade eligibility in strict discovery and Ontario's task-to-tool buyer search."},"ready_for_listing_preflight":false,"recommended_action":{"id":"remediate_before_publication","label":"Fix readiness warnings and re-run the free verifier","payment_recommended_now":false,"reason":"This report is not ready-grade. Do not buy publication expecting it to override readiness or strict-discovery eligibility.","url":"https://ontarioprotocol.com/verify"},"report_id":"vrf_fac737942c687d6e","schema":"ontario.provider_listing_next_step.v1","sequence":["Fix readiness warnings until a fresh report is ready-grade.","Validate the complete provider listing payload without payment.","Probe the publication endpoint and inspect its HTTP 402 challenge.","Pay only if the fixed 0.50 USDC price, Base network, USDC asset, and publication purpose match policy."],"signed_evidence_boundary":"This commercial handoff is added after report signing and is not part of the signed readiness evidence.","status":"fix_before_listing","trust_boundary":"Publication processing does not buy a readiness grade, ranking, traffic, leads, purchases, safety, listing acceptance, or future availability."},"readiness_score":80,"recommendations":[{"detail":"A paid endpoint should reply with HTTP 402 and a payment requirements header when called without payment.","docs_url":"https://ontarioprotocol.com/docs","id":"payment_challenge_missing","title":"Expose a real HTTP 402 payment challenge"}],"report_id":"vrf_fac737942c687d6e","report_url":"https://ontarioprotocol.com/verify/report/vrf_fac737942c687d6e","signals":{"accepts_entries":true,"bazaar_metadata":true,"endpoint_reachable":true,"facilitator_metadata":true,"homepage_reachable":true,"https":true,"manifest_fresh":true,"network_consistent":true,"openapi_schema":true,"payment_challenge":false,"price_format_valid":true,"robots_present":true,"schema_org_present":true,"x402_manifest_present":true,"x402_manifest_well_formed":true},"status":"ok","submitted_url":"https://ontarioprotocol.com/api/agent/pay/v2","target_url":"https://ontarioprotocol.com/api/agent/pay/v2","verified_at":"2026-10-12T01:00:33.104517+00:00","verifier":"ontario.x402-readiness.v1","warning_penalty":0,"warnings":[]}
