{"base_readiness_score":48,"commercial_next_step":{"billing_boundary":"Scope and deliverables are confirmed before any invoice; no wallet payload, subscription, SLA, or deployment is created by this handoff.","charged_now":false,"free_first":{"charged_now":false,"id":"free_scope","label":"Request a free scope decision","url":"https://ontarioprotocol.com/pricing?offer=free_scope&report_id=vrf_855d7dc0744f16ec#scope"},"human_required":true,"qualified_offers":[{"billing":"outcome_based_invoice_after_public_evidence","id":"catalog_publish","name":"Founding Agent Catalog Publish Pilot","price_interval":null,"price_usd":49,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=catalog_publish&report_id=vrf_855d7dc0744f16ec#scope","status":"first_10_qualified_providers"},{"billing":"one_time_invoice_after_scope","id":"launch_review","name":"MCP + x402 Agent Catalog Launch Pack","price_interval":null,"price_usd":199,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=launch_review&report_id=vrf_855d7dc0744f16ec#scope","status":"qualified_fixed_scope"},{"billing":"one_time_invoice_after_scope","id":"buyer_intent_rewrite","name":"x402 Buyer Intent Metadata Rewrite","price_interval":null,"price_usd":49,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=buyer_intent_rewrite&report_id=vrf_855d7dc0744f16ec#scope","status":"qualified_fixed_scope"},{"billing":"one_time_invoice_after_scope","id":"firewall_implementation","name":"Payment Firewall Implementation","price_interval":null,"price_usd":499,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=firewall_implementation&report_id=vrf_855d7dc0744f16ec#scope","status":"qualified_fixed_scope"},{"billing":"pilot_invoice_after_qualification","id":"readiness_watch","name":"Readiness Watch pilot","price_interval":"month","price_usd":99,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=readiness_watch&report_id=vrf_855d7dc0744f16ec#scope","status":"pilot_interest"}],"recommended_offer":{"billing":"one_time_invoice_after_scope","id":"launch_review","name":"MCP + x402 Agent Catalog Launch Pack","price_interval":null,"price_usd":199,"scope_request_url":"https://ontarioprotocol.com/pricing?offer=launch_review&report_id=vrf_855d7dc0744f16ec#scope","status":"qualified_fixed_scope"},"required_inputs":["contact_email","endpoint","requested_offer"],"schema":"ontario.report_commercial_next_step.v1","status":"scope_first","trust_boundary":"This commercial handoff is not part of the signed readiness evidence. It does not guarantee safety, traffic, ranking, listing acceptance, revenue, or future endpoint behavior."},"duration_ms":1000,"evidence":{"homepage":{"reachable":true,"schema_org_present":false,"status_code":200},"openapi":{"reachable":false},"robots":{"excerpt":"# As a condition of accessing this website, you agree to abide by the following\n# content signals:\n\n# (a)  If a content-signal = yes, you may collect content for the corresponding\n#      use.\n# (b)  If a content-signal = no, you may not collect content for the\n#      corresponding use.\n# (c)  If the website operator does not include a content signal for a\n#      corresponding use, the website operator neither grants nor restricts\n#      permission via content signal with respect to the corresponding use.\n\n# The content signals and their meanings are:\n\n# search:   building a search index and providing search results (e.g., returning\n#           hyperlinks and short excerpts from your website's contents). Search does not\n#           include providing AI-generated search summaries.\n# ai-input: inputting content into one or more AI models (e.g., retrieval\n#           augmented generation, grounding, or other real-time taking of content for\n#           generative AI search answers).\n# ai-tr","reachable":true,"status_code":200},"target":{"method":"GET","payment_challenge":false,"payment_headers":{},"reachable":true,"status_code":404},"x402_manifest":{"bazaar_metadata":false,"body":{"description":"Paid deterministic static analysis of an inline x402 manifest.","limitations":["Static JSON inspection only","No runtime enforcement or settlement testing","Not a security certification"],"name":"R2 x402 Manifest Audit API","operatorDisclosure":"Operated by an authorized AI agent for R2 Advisory.","resources":[{"accepts":[{"amount":"2000000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0x605519164197f8464503950196BdB9a932c90Cdb","scheme":"exact"}],"method":"POST","mimeType":"application/json","resource":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check"}],"source":"https://github.com/ruizmr/x402-api-readiness-review","version":1},"reachable":true,"service_count":0,"status_code":200,"valid_json":true,"well_formed":false}},"grade":"needs_work","integrity":{"algorithm":"Ed25519","canonical_sha256":"07b762995df301a1e87e8560e9afbce19f83353df776279ea653cbfc6b76d069","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"vgiuYSXleTP5w9d7LacsGVEV5mh15EpD+rcf0FkU9mP0ObXH1vnYVP7hou+F0PJJuBlhFisol/x2auJ+yNuEBA==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://r2-x402-manifest-audit.dragonfly27.workers.dev","provider_listing_next_step":{"endpoint":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check","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_855d7dc0744f16ec&endpoint=https%3A%2F%2Fr2-x402-manifest-audit.dragonfly27.workers.dev%2Fv1%2Fcheck#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_855d7dc0744f16ec","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":40,"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":"OpenAPI lets agents understand request bodies, response shapes, and error states without guessing.","docs_url":"https://ontarioprotocol.com/.well-known/openapi.json","id":"openapi_missing","title":"Publish an OpenAPI schema"},{"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_855d7dc0744f16ec","report_url":"https://ontarioprotocol.com/verify/report/vrf_855d7dc0744f16ec","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":false,"payment_challenge":false,"price_format_valid":true,"robots_present":true,"schema_org_present":false,"x402_manifest_present":true,"x402_manifest_well_formed":false},"status":"ok","submitted_url":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check","target_url":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check","verified_at":"2026-08-07T05:45:17.588908+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"}]}
