{"base_readiness_score":98,"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_2a79b252f8b8f935","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":799,"evidence":{"homepage":{"reachable":true,"schema_org_present":false,"status_code":200},"openapi":{"body":{"components":{"securitySchemes":{"x402Payment":{"description":"x402 v2 payment payload matching the PAYMENT-REQUIRED challenge","in":"header","name":"PAYMENT-SIGNATURE","type":"apiKey"}}},"info":{"description":"Deterministic static inspection of an inline x402 manifest. A clean report is not a security certification.","title":"R2 x402 Manifest Audit API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/v1/check":{"post":{"description":"x402 v2 payment of 2.00 canonical Base USDC per successful report. Invalid input returns non-2xx and is not settled by the middleware.","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"manifest":{"additionalProperties":true,"type":"object"}},"required":["manifest"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Static audit report"},"400":{"description":"Invalid JSON or input shape"},"402":{"description":"Payment required; decode the PAYMENT-REQUIRED response header"},"413":{"description":"Request exceeds 256 KiB"},"503":{"description":"Payment service unavailable; checker is not invoked"}},"security":[{"x402Payment":[]}],"summary":"Audit an inline x402 manifest"}}},"servers":[{"url":"https://r2-x402-manifest-audit.dragonfly27.workers.dev"}],"x-boundaries":["Inline JSON only; input URLs are never fetched","Static checks do not prove runtime enforcement, settlement, replay safety, facilitator trust, or security"]},"reachable":true,"url":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/.well-known/openapi.json","valid_json":true,"version":"3.1.0","well_formed":true},"robots":{"excerpt":"# As a condition of accessing this website, you agree to abide by the following\n# content signals:\n\n# (a)  If a content-signal = yes, you may collect content for the corresponding\n#      use.\n# (b)  If a content-signal = no, you may not collect content for the\n#      corresponding use.\n# (c)  If the website operator does not include a content signal for a\n#      corresponding use, the website operator neither grants nor restricts\n#      permission via content signal with respect to the corresponding use.\n\n# The content signals and their meanings are:\n\n# search:   building a search index and providing search results (e.g., returning\n#           hyperlinks and short excerpts from your website's contents). Search does not\n#           include providing AI-generated search summaries.\n# ai-input: inputting content into one or more AI models (e.g., retrieval\n#           augmented generation, grounding, or other real-time taking of content for\n#           generative AI search answers).\n# ai-tr","reachable":true,"status_code":200},"target":{"challenge":{"accepts":[{"amount":"2000000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra_keys":["name","version"],"maxTimeoutSeconds":60,"network":"eip155:8453","payTo":"0x605519164197f8464503950196BdB9a932c90Cdb","scheme":"exact"}],"accepts_count":1,"accepts_missing_required_fields":[],"body_accepts_count":0,"body_accepts_missing":true,"body_valid_json":true,"header_accepts_count":1,"missing_accepts":false,"resource":{"description":"Deterministic static x402 manifest audit (inline JSON only)","mimeType":"application/json","url":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check"},"resource_missing_required_fields":[],"source":"payment-required-header","x402Version":2},"method":"POST","payment_challenge":true,"payment_headers":{"payment-required":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9yMi14NDAyLW1hbmlmZXN0LWF1ZGl0LmRyYWdvbmZseTI3LndvcmtlcnMuZGV2L3YxL2NoZWNrIiwiZGVzY3JpcHRpb24iOiJEZXRlcm1pbmlzdGljIHN0YXRpYyB4NDAyIG1hbmlmZXN0IGF1ZGl0IChpbmxpbmUgSlNPTiBvbmx5KSIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6IjIwMDAwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsInBheVRvIjoiMHg2MDU1MTkxNjQxOTdmODQ2NDUwMzk1MDE5NkJkQjlhOTMyYzkwQ2RiIiwibWF4VGltZW91dFNlY29uZHMiOjYwLCJleHRyYSI6eyJuYW1lIjoiVVNEIENvaW4iLCJ2ZXJzaW9uIjoiMiJ9fV19"},"reachable":true,"status_code":402},"x402_manifest":{"bazaar_metadata":true,"body":{"category":"tools","description":"Paid deterministic static analysis of an inline x402 manifest.","facilitator":{"url":"https://facilitator.xpay.sh"},"generated_at":"2026-08-07T05:47:41.778Z","limitations":["Static JSON inspection only","No runtime enforcement or settlement testing","Not a security certification"],"name":"R2 x402 Manifest Audit API","openapi":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/.well-known/openapi.json","operatorDisclosure":"Operated by an authorized AI agent for R2 Advisory.","owner_url":"https://github.com/ruizmr/x402-api-readiness-review","resources":[{"accepts":[{"amount":"2000000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxTimeoutSeconds":60,"network":"eip155:8453","payTo":"0x605519164197f8464503950196BdB9a932c90Cdb","scheme":"exact"}],"method":"POST","mimeType":"application/json","resource":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check"}],"services":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","category":"tools","description":"Structured static binding findings for supplied inline JSON; no URL fetching.","endpoint":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check","facilitator":{"url":"https://facilitator.xpay.sh"},"maxAmountRequired":"2000000","maxTimeoutSeconds":60,"method":"POST","name":"Static x402 manifest audit","network":"eip155:8453","owner_url":"https://github.com/ruizmr/x402-api-readiness-review","payTo":"0x605519164197f8464503950196BdB9a932c90Cdb","price":"2.00","price_atomic":2000000,"price_usdc":"2.00","resource":"https://r2-x402-manifest-audit.dragonfly27.workers.dev/v1/check","scheme":"exact","tags":["x402","manifest","verification","static-analysis"]}],"source":"https://github.com/ruizmr/x402-api-readiness-review","tags":["x402","manifest","verification","static-analysis"],"version":1},"reachable":true,"service_count":1,"status_code":200,"valid_json":true,"well_formed":true}},"grade":"ready","integrity":{"algorithm":"Ed25519","canonical_sha256":"702143d1039c13e6778230c3c0195b75d4d2787b88575d5ce6e8a4a36d8a2c38","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"NPk7UEytx7XHKQUAOPaMsHXKRR74+Eg+jO1vphKpez1PkHw+pddYd9Qc4uOcGvI27EMVdkfPFhPLRzRnnC1WCg==","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":"ready","publication":{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","listing_page":"https://ontarioprotocol.com/listings?report_id=vrf_2a79b252f8b8f935&endpoint=https%3A%2F%2Fr2-x402-manifest-audit.dragonfly27.workers.dev%2Fv1%2Fcheck#submit-service","method":"POST","network":"eip155:8453","price_usdc":"2.00","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":true,"recommended_action":{"id":"validate_listing_payload","label":"Validate listing payload free, then publish for 2.00 USDC","payment_recommended_now":false,"reason":"The readiness report is ready-grade. Validate the provider metadata without payment before choosing the paid publication step.","url":"https://ontarioprotocol.com/listings?report_id=vrf_2a79b252f8b8f935&endpoint=https%3A%2F%2Fr2-x402-manifest-audit.dragonfly27.workers.dev%2Fv1%2Fcheck#submit-service"},"report_id":"vrf_2a79b252f8b8f935","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 2.00 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":"ready_for_free_listing_validation","trust_boundary":"Publication processing does not buy a readiness grade, ranking, traffic, leads, purchases, safety, listing acceptance, or future availability."},"readiness_score":98,"recommendations":[],"report_id":"vrf_2a79b252f8b8f935","report_url":"https://ontarioprotocol.com/verify/report/vrf_2a79b252f8b8f935","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":true,"price_format_valid":true,"robots_present":true,"schema_org_present":false,"x402_manifest_present":true,"x402_manifest_well_formed":true},"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:47:42.404252+00:00","verifier":"ontario.x402-readiness.v1","warning_penalty":0,"warnings":[]}
