{"base_readiness_score":60,"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_7063b558a4da8545","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":830,"evidence":{"homepage":{"reachable":true,"schema_org_present":true,"status_code":200},"openapi":{"content_type":"text/html","reachable":true,"url":"https://ioswarm.io/.well-known/openapi.json","valid_json":false,"version":null,"well_formed":false},"robots":{"excerpt":"# Swarmio \u2014 humans and machines are both first-class visitors here.\nUser-agent: *\nAllow: /\nDisallow: /admin\nDisallow: /api/\n\n# AI crawlers are explicitly welcome \u2014 GPTBot, ClaudeBot, PerplexityBot,\n# Google-Extended, Applebot-Extended, Amazonbot, Bytespider, and the rest.\n# The machine front door is /llms.txt: an agent can sign up, mint an API\n# key, and start runs with no human in the loop. Sibling interfaces:\n# /.well-known/agent-card.json (A2A), /.well-known/agents.json (flows),\n# /api/v1/openapi.json (OpenAPI 3.1), /mcp (Model Context Protocol).\nSitemap: https://ioswarm.io/sitemap.xml\n","reachable":true,"status_code":200},"target":{"method":"GET","payment_challenge":false,"payment_headers":{},"reachable":true,"status_code":200},"x402_manifest":{"bazaar_metadata":false,"body":{"asset":{"chain_id":8453,"network":"base","symbol":"USDC"},"catalogue":"https://ioswarm.io/api/v1/x402/run","description":"Hosted agent harness over x402: synchronous primitives (live web search, cited research briefs, market quotes, page fetch, chat) and pay-per-run deep-research swarms. No account needed \u2014 the paying wallet is the account.","docs":"https://ioswarm.io/llms.txt","enabled":true,"facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","free_first":"https://ioswarm.io/api/v1/pulse \u2014 live prices and today's stories, no payment; /api/v1/search has 25 free searches a day per caller","how":"POST any resource or primitive URL with its JSON body and no payment header; the 402 carries PaymentRequirements (v1 in the body, v2 in the PAYMENT-REQUIRED header); sign the EIP-3009 authorization it describes and repeat the POST with X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2). Primitives return the answer in the paid response; runs return a run id and a poll URL.","name":"SwarmIO Cloud","payTo":"0xe4b6e29305B5EEF77aA296dC87D8683E9750eD8F","primitives":[{"description":"Live web search across keyless providers \u2014 organic results with title, URL, snippet and publication date when known. 25 free searches a day per caller (\u22645 results each, burst-limited); over the quota $0.02 per call (\u226420 results), paid over x402 \u2014 no account. A valid payment header is never quota-blocked.","name":"search","url":"https://ioswarm.io/api/v1/search","usd":0.02},{"description":"One-call research brief: live web search synthesized into a cited bullet report \u2014 every claim tied to a source URL from the results. Same shape as /api/v1/search (query, optional k/freshness/domains) with a written summary on top. $0.05 per call over x402 \u2014 no account, no API key.","name":"search-report","url":"https://ioswarm.io/api/v1/search/report","usd":0.05},{"description":"Today's market-news brief in one call: the platform's newest published news digest synthesized with the live market wire into a cited bullet brief \u2014 every finding ends with its source URL. $0.05 per call, pay-only over x402 \u2014 no account, no free tier, no input required.","name":"news-brief","url":"https://ioswarm.io/api/v1/news/brief","usd":0.05},{"description":"Live quotes for up to 8 symbols \u2014 stocks, ETFs, crypto pairs (BTC-USD), FX \u2014 price, session change and currency, in the paid response. $0.01 per call, no account.","name":"quote","url":"https://ioswarm.io/api/v1/x402/quote","usd":0.01},{"description":"Fetch any public web page as readable text \u2014 a browser-grade fingerprint, boilerplate stripped, links kept \u2014 or just its links or its SEO metadata. Plain HTTP (JS-rendered and bot-walled pages are reported as such; a browser-driven read is a run). $0.02 per call, no account.","name":"fetch","url":"https://ioswarm.io/api/v1/x402/fetch","usd":0.02},{"description":"One language-model completion, paid per call \u2014 the same engine the swarm runs on, in the OpenAI messages shape. Up to 24 messages in and 1024 tokens out. USD 0.02 per call, no account, no key.","name":"chat","url":"https://ioswarm.io/api/v1/x402/chat","usd":0.02}],"protocol":"x402","resources":[{"credits":1050000,"description":"A cited, evidence-graded research report on any question: a swarm of agents searches the live web, reads the sources, cross-checks the claims, and grades its own evidence (sourced / partial / unsupported).","mode":"research","url":"https://ioswarm.io/api/v1/x402/run/research","usd":1.05},{"credits":750000,"description":"A same-day, cross-outlet news digest on a topic or region, every item dated and attributed, with the primary source separated from corroboration.","mode":"news","url":"https://ioswarm.io/api/v1/x402/run/news","usd":0.75},{"credits":1200000,"description":"A data-grounded market brief: live prices and technicals, fundamentals, recent insider and congressional trades, a per-asset thesis and a comparison table \u2014 numbers pulled, not generated.","mode":"finance","url":"https://ioswarm.io/api/v1/x402/run/finance","usd":1.2},{"credits":250000,"description":"A cross-retailer product scan: the same items priced across many stores, structured specs and reviews, ranked by price-to-value, bot walls included.","mode":"product","url":"https://ioswarm.io/api/v1/x402/run/product","usd":0.25},{"credits":1400000,"description":"A severity-ranked SEO audit of a live site with an action plan \u2014 every finding verified against the site itself.","mode":"seo","url":"https://ioswarm.io/api/v1/x402/run/seo","usd":1.4},{"credits":1250000,"description":"A researched itinerary: real inventory, prices, and timing for a destination and dates.","mode":"trips","url":"https://ioswarm.io/api/v1/x402/run/trips","usd":1.25},{"credits":700000,"description":"A personalized, progressive training program from stated goals and constraints.","mode":"trainer","url":"https://ioswarm.io/api/v1/x402/run/trainer","usd":0.7},{"credits":1100000,"description":"A week of meals planned around stated goals, with a shopping list.","mode":"meals","url":"https://ioswarm.io/api/v1/x402/run/meals","usd":1.1},{"credits":1850000,"description":"A literature-grounded wellness plan around a stated goal.","mode":"wellness","url":"https://ioswarm.io/api/v1/x402/run/wellness","usd":1.85},{"credits":1500000,"description":"A learning plan for a stated skill: sequence, resources, milestones.","mode":"mentor","url":"https://ioswarm.io/api/v1/x402/run/mentor","usd":1.5},{"credits":950000,"description":"A personal-finance plan around stated goals and numbers.","mode":"money","url":"https://ioswarm.io/api/v1/x402/run/money","usd":0.95},{"credits":1350000,"description":"A brief on a bill, rule, or policy area: status, positions, what changes and for whom, cited.","mode":"policy","url":"https://ioswarm.io/api/v1/x402/run/policy","usd":1.35},{"credits":1400000,"description":"A supply-chain brief on a product or component: suppliers, risks, alternatives.","mode":"supply","url":"https://ioswarm.io/api/v1/x402/run/supply","usd":1.4},{"credits":1150000,"description":"Matching grants and funders for a stated organization and need, with deadlines and requirements.","mode":"grants","url":"https://ioswarm.io/api/v1/x402/run/grants","usd":1.15},{"credits":950000,"description":"Quotes gathered for a stated service or purchase, compared.","mode":"quote","url":"https://ioswarm.io/api/v1/x402/run/quote","usd":0.95},{"credits":500000,"description":"A natal reading from server-computed chart positions (birth date required in the input as '- Birth date: YYYY-MM-DD').","mode":"astrology","url":"https://ioswarm.io/api/v1/x402/run/astrology","usd":0.5},{"credits":500000,"description":"The sky right now, computed server-side, read for the caller.","mode":"horoscope","url":"https://ioswarm.io/api/v1/x402/run/horoscope","usd":0.5}],"url":"https://ioswarm.io","x402Versions":[1,2]},"reachable":true,"service_count":0,"status_code":200,"valid_json":true,"well_formed":false}},"grade":"needs_work","integrity":{"algorithm":"Ed25519","canonical_sha256":"ff0f75b487d6475815ce0844241d0c65863c071e33da90c8c58ffcf44d08cf6e","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"x8RNTIDQfVE/MWrbHwJsbC2jOLsbNOe10HnWl2ErXEfkYoRsRHNeh+Nz7dn78Ffk0HHHfbhuFNifdqjJGkSyCw==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://ioswarm.io","provider_listing_next_step":{"endpoint":"https://ioswarm.io/api/v1/search","free_validation":{"charged_now":false,"method":"POST","stores_listing":false,"url":"https://ontarioprotocol.com/api/x402/list-service/validate"},"grade":"needs_work","publication":{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","listing_page":"https://ontarioprotocol.com/listings?report_id=vrf_7063b558a4da8545&endpoint=https%3A%2F%2Fioswarm.io%2Fapi%2Fv1%2Fsearch#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_7063b558a4da8545","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":52,"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":"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"},{"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_7063b558a4da8545","report_url":"https://ontarioprotocol.com/verify/report/vrf_7063b558a4da8545","signals":{"accepts_entries":true,"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":false,"price_format_valid":true,"robots_present":true,"schema_org_present":true,"x402_manifest_present":true,"x402_manifest_well_formed":false},"status":"ok","submitted_url":"https://ioswarm.io/api/v1/search","target_url":"https://ioswarm.io/api/v1/search","verified_at":"2026-10-02T23:30:11.774552+00:00","verifier":"ontario.x402-readiness.v1","warning_penalty":8,"warnings":[{"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"]},"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"}]}
