{"base_readiness_score":75,"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_b05da7e982302b78","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":2759,"evidence":{"homepage":{"reachable":true,"schema_org_present":true,"status_code":200},"openapi":{"body":{"components":{"schemas":{"CreditRouteRequest":{"properties":{"country":{"default":"US","pattern":"^[A-Z]{2}$","type":"string"},"intent":{"maxLength":500,"minLength":2,"type":"string"},"language":{"default":"en","enum":["en","pt"],"type":"string"},"market":{"default":"services","enum":["services","commerce"],"type":"string"}},"required":["intent"],"type":"object"},"RouteRequest":{"properties":{"country":{"default":"US","pattern":"^[A-Z]{2}$","type":"string"},"intent":{"description":"Plain-language task or buying/research intent","maxLength":500,"minLength":2,"type":"string"},"language":{"default":"en","enum":["en","pt"],"type":"string"},"market":{"default":"auto","enum":["auto","services","commerce","information","travel"],"type":"string"}},"required":["intent"],"type":"object"},"RouteResponse":{"properties":{"alternatives":{"items":{"additionalProperties":true,"type":"object"},"maxItems":3,"type":"array"},"intent":{"type":"string"},"paid":{"const":true,"type":"boolean"},"recommendation":{"additionalProperties":true,"type":"object"},"settlement":{"additionalProperties":true,"type":"object"},"viaTollUsd":{"type":"number"}},"required":["paid","intent","viaTollUsd","recommendation","alternatives"],"type":"object"}}},"info":{"description":"Paid buyer-side routing for agents and humans across software/services, commerce, information and travel. x402 V2, USDC on Base.","title":"VIA Router","version":"2.3.0"},"openapi":"3.1.0","paths":{"/_api/api_compare":{"post":{"description":"Purpose-built agent endpoint for API and software-service discovery/comparison. Market is fixed to services.","operationId":"compareApisAndServices","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"description":"Recommendation plus alternatives"},"402":{"description":"x402 payment challenge"},"422":{"description":"No result; no settlement"}},"summary":"Compare APIs and software services for $0.01","tags":["api","software","service-discovery","comparison"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/buyer_contract":{"post":{"description":"Declare objective buying constraints before payment: maximum known supplier price, minimum alternatives, allowed upstream sources and whether supplier price must be known. VIA settles only when the returned shortlist passes every declared constraint and returns a machine-readable PASS receipt.","operationId":"viaBuyerContract","requestBody":{"content":{"application/json":{"schema":{"properties":{"constraints":{"properties":{"allowedSources":{"items":{"enum":["Apify Store","Circle Marketplace","Shopify Catalog"],"type":"string"},"type":"array"},"maxSupplierPriceUsd":{"exclusiveMinimum":0,"type":"number"},"minAlternatives":{"default":1,"maximum":3,"minimum":0,"type":"integer"},"requireKnownPrice":{"default":false,"type":"boolean"}},"type":"object"},"country":{"default":"US","pattern":"^[A-Z]{2}$","type":"string"},"intent":{"maxLength":500,"minLength":2,"type":"string"},"language":{"default":"en","enum":["en","pt"],"type":"string"},"market":{"default":"services","enum":["services","commerce"],"type":"string"}},"required":["intent"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Buyer Contract satisfied; shortlist plus machine-readable PASS receipt delivered"},"402":{"description":"x402 payment challenge"},"422":{"description":"Buyer Contract not satisfied; no payment settled"}},"summary":"Buyer-side constrained procurement for $0.02","tags":["procurement","buyer-side","constraints","outcome","comparison"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/buyer_contract_quote":{"post":{"description":"Free no-payment preflight. Returns satisfiableNow, qualifying candidate count and timestamp; candidate identities/details are withheld.","operationId":"checkBuyerContractFree","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"description":"Free satisfiability check"}},"summary":"Free preflight: can VIA satisfy these buyer constraints?","tags":["free","preflight","budget","procurement","constraints"]}},"/_api/credits_balance":{"get":{"operationId":"viaCreditBalance","parameters":[{"in":"header","name":"x-credit-token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Current credit balance and expiry"},"404":{"description":"Unknown credit token"}},"summary":"Check VIA prepaid credit balance","tags":["credits"]}},"/_api/credits_buy":{"post":{"description":"Buy $1 credit for $1, $5.50 credit for $5, or $24 credit for $20. Token returned once after successful x402 settlement.","operationId":"viaBuyCredits","requestBody":{"content":{"application/json":{"schema":{"properties":{"tier":{"enum":["1","5","20"],"type":"string"}},"required":["tier"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Credit token and funded balance returned"},"402":{"description":"x402 payment challenge for selected pack"}},"summary":"Buy prepaid VIA credits","tags":["credits","prepaid"]}},"/_api/credits_route":{"post":{"description":"Consumes $0.01 credit only when a services or commerce result is available. Requires x-credit-token.","operationId":"viaRouteWithCredits","parameters":[{"in":"header","name":"x-credit-token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRouteRequest"}}},"required":true},"responses":{"200":{"description":"Recommendation delivered and $0.01 credit atomically deducted"},"401":{"description":"Missing or invalid credit token"},"402":{"description":"Expired or insufficient credit"},"422":{"description":"No result; no credit deducted"}},"summary":"Route using prepaid credits","tags":["credits","routing","api-comparison","product-search"]}},"/_api/deep_route":{"post":{"description":"Premium buyer-side decision route. Evaluates up to 8 real candidates and returns a decision brief, selection rationale and explicit watchouts in addition to recommendation and alternatives. Payment settles only after candidates and decision analysis are successfully prepared.","operationId":"viaDeepRoute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"alternatives":{"items":{"additionalProperties":true,"type":"object"},"maxItems":7,"type":"array"},"decisionBrief":{"type":"string"},"intent":{"type":"string"},"paid":{"const":true,"type":"boolean"},"recommendation":{"additionalProperties":true,"type":"object"},"selectionRationale":{"items":{"type":"string"},"type":"array"},"settlement":{"additionalProperties":true,"type":"object"},"sourcesConsidered":{"maximum":8,"minimum":1,"type":"integer"},"tier":{"const":"deep","type":"string"},"viaTollUsd":{"const":1,"type":"number"},"watchouts":{"items":{"type":"string"},"type":"array"}},"required":["paid","tier","intent","viaTollUsd","recommendation","alternatives","decisionBrief","selectionRationale","watchouts","sourcesConsidered","settlement"],"type":"object"}}},"description":"Deep paid decision delivered"},"402":{"description":"x402 payment challenge"},"422":{"description":"No matching route; payment not settled"}},"summary":"Deep multi-source route for $1 USDC","tags":["deep-research","comparison","travel-research","information-research"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"1.00","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/procure_under_budget":{"post":{"description":"Declare maximum supplier price and minimum alternatives. VIA settles only if enough qualifying candidates exist, then returns recommendation, alternatives and a PASS receipt.","operationId":"findUnderBudgetWithAlternatives","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"description":"Contract passed and paid result delivered"},"402":{"description":"x402 payment challenge"},"422":{"description":"Constraints not satisfied; no settlement"}},"summary":"Find services or products under budget with alternatives for $0.02","tags":["budget","procurement","alternatives","buyer-side","constraints"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/product_search":{"post":{"description":"Search product catalogs and compare available commerce offers. Returns one recommended route plus alternatives. Market is fixed to commerce.","operationId":"searchProductsAndCompareOffers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"description":"Recommendation plus alternatives"},"402":{"description":"x402 payment challenge"},"422":{"description":"No result; no settlement"}},"summary":"Search products and compare offers for $0.01","tags":["products","commerce","shopping","comparison"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/sourced_research":{"post":{"description":"Research current web information with source URLs, preferring official and authoritative sources when available. Returns one recommended source route plus alternatives. Market is fixed to information.","operationId":"officialSourcesResearch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"description":"Sourced recommendation plus alternatives"},"402":{"description":"x402 payment challenge"},"422":{"description":"No result; no settlement"}},"summary":"Sourced web research with official sources for $0.01","tags":["research","web","information","sources"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/toll":{"post":{"description":"Find and compare APIs/software services, products, information sources or travel research. Returns one recommendation and up to three alternatives. Supplier execution and supplier charges are separate.","operationId":"viaRoute","requestBody":{"content":{"application/json":{"examples":{"apiComparison":{"summary":"Compare APIs and software services","value":{"country":"US","intent":"Find a PDF text extraction API and compare alternatives","language":"en","market":"services"}},"informationResearch":{"summary":"Research current information","value":{"country":"US","intent":"Find current official sources about this topic","language":"en","market":"information"}},"productSearch":{"summary":"Find products and compare offers","value":{"country":"US","intent":"Find noise cancelling headphones","language":"en","market":"commerce"}},"travelResearch":{"summary":"Research travel sources","value":{"country":"PT","intent":"Find useful sources for a Lisbon weekend trip","language":"en","market":"travel"}}},"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteResponse"}}},"description":"Paid recommendation delivered"},"402":{"description":"x402 payment challenge"},"422":{"description":"No matching route; payment not settled"}},"summary":"Route a request to a real source for $0.01 USDC","tags":["routing","api-comparison","software-services","product-search","information-research","travel-research"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/_api/travel_research":{"post":{"description":"Purpose-built agent endpoint for current travel research. Does not claim booking availability or execute bookings. Market is fixed to travel.","operationId":"researchTravel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"description":"Travel research recommendation plus alternatives"},"402":{"description":"x402 payment challenge"},"422":{"description":"No result; no settlement"}},"summary":"Research travel sources for $0.01","tags":["travel","research","sources"],"x-payment-info":{"asset":"USDC","network":"eip155:8453","price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":["x402"]}}}},"servers":[{"url":"https://via-router.floot.app"}]},"reachable":true,"url":"https://via-router.floot.app/openapi.json","valid_json":true,"version":"3.1.0","well_formed":true},"robots":{"excerpt":"User-agent: *\nAllow: /\nSitemap: https://via-router.floot.app/sitemap.xml\n","reachable":true,"status_code":200},"target":{"method":"POST","payment_challenge":false,"payment_headers":{},"reachable":true,"status_code":400},"x402_manifest":{"bazaar_metadata":false,"body":{"asset":"USDC","category":"agent-infrastructure","description":"Paid buyer-side x402 router for APIs, software services, commerce, sourced information, travel research and constrained procurement.","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","name":"VIA Router","network":"eip155:8453","owner_url":"https://via-router.floot.app","payTo":"0x4dd30c8D8615B9d9F47e01ED5Ff7507a2415fdAA","scheme":"exact","services":[{"asset":"USDC","category":"routing","endpoint":"https://via-router.floot.app/_api/toll","method":"POST","name":"VIA Standard Route","network":"base","price":"0.01","price_usdc":"0.01","tags":["routing","comparison","agent-tool"]},{"asset":"USDC","category":"software","endpoint":"https://via-router.floot.app/_api/api_compare","method":"POST","name":"VIA API Compare","network":"base","price":"0.01","price_usdc":"0.01","tags":["api","software","comparison"]},{"asset":"USDC","category":"commerce","endpoint":"https://via-router.floot.app/_api/product_search","method":"POST","name":"VIA Product Search","network":"base","price":"0.01","price_usdc":"0.01","tags":["products","commerce","shopping"]},{"asset":"USDC","category":"data","endpoint":"https://via-router.floot.app/_api/sourced_research","method":"POST","name":"VIA Sourced Research","network":"base","price":"0.01","price_usdc":"0.01","tags":["research","sources","information"]},{"asset":"USDC","category":"travel","endpoint":"https://via-router.floot.app/_api/travel_research","method":"POST","name":"VIA Travel Research","network":"base","price":"0.01","price_usdc":"0.01","tags":["travel","research"]},{"asset":"USDC","category":"procurement","endpoint":"https://via-router.floot.app/_api/buyer_contract","method":"POST","name":"VIA Buyer Contract","network":"base","price":"0.02","price_usdc":"0.02","tags":["procurement","constraints","buyer-side"]},{"asset":"USDC","category":"research","endpoint":"https://via-router.floot.app/_api/deep_route","method":"POST","name":"VIA Deep Route","network":"base","price":"1.00","price_usdc":"1.00","tags":["deep-research","decision-analysis","comparison"]},{"asset":"USDC","category":"payments","endpoint":"https://via-router.floot.app/_api/credits_buy","method":"POST","name":"VIA Prepaid Credits","network":"base","price":"1.00+","price_usdc":"1.00+","tags":["credits","prepaid","agent-tools"]}],"tags":["x402","ai-agent","routing","procurement","api-comparison","commerce","research","base","usdc"],"updated_at":"2026-10-04"},"reachable":true,"service_count":8,"status_code":200,"valid_json":true,"well_formed":true}},"grade":"needs_work","integrity":{"algorithm":"Ed25519","canonical_sha256":"a52a3c00f44c189be60b628b4b448d9b4b9e19ca7131c128a317f6777a077918","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"SBNoWeKzV8TTMsom+BoT17x1mZBaGVvlp2VP0W5lEm/j7ZKMDRkqFDJZcQsvRk7D2Zw5CSnLY4XyWXeW8c1cDw==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://via-router.floot.app","provider_listing_next_step":{"endpoint":"https://via-router.floot.app/_api/toll","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_b05da7e982302b78&endpoint=https%3A%2F%2Fvia-router.floot.app%2F_api%2Ftoll#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_b05da7e982302b78","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":60,"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"},{"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_b05da7e982302b78","report_url":"https://ontarioprotocol.com/verify/report/vrf_b05da7e982302b78","signals":{"accepts_entries":true,"bazaar_metadata":false,"endpoint_reachable":true,"facilitator_metadata":false,"homepage_reachable":true,"https":true,"manifest_fresh":true,"network_consistent":true,"openapi_schema":true,"payment_challenge":false,"price_format_valid":false,"robots_present":true,"schema_org_present":true,"x402_manifest_present":true,"x402_manifest_well_formed":true},"status":"ok","submitted_url":"https://via-router.floot.app/_api/toll","target_url":"https://via-router.floot.app/_api/toll","verified_at":"2026-10-04T15:39:22.029374+00:00","verifier":"ontario.x402-readiness.v1","warning_penalty":15,"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":"Declare price_atomic as a non-negative integer and price_usdc as a decimal string; keep maxAmountRequired consistent with the advertised service price.","docs_url":"https://ontarioprotocol.com/listings","evidence":{"issues":["service.price_atomic must be a non-negative integer"]},"id":"invalid_price_format","severity":"warning","title":"Use machine-parseable x402 price fields"}]}
