{"base_readiness_score":90,"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_bc0063304e896862#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_bc0063304e896862#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_bc0063304e896862#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_bc0063304e896862#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_bc0063304e896862#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_bc0063304e896862#scope","status":"pilot_interest"}],"recommended_offer":{"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_bc0063304e896862#scope","status":"first_10_qualified_providers"},"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":506,"evidence":{"homepage":{"reachable":true,"schema_org_present":false,"status_code":200},"openapi":{"body":{"components":{"schemas":{"ApiError":{"properties":{"error":{"description":"Alias of message (backward compatible)","type":"string"},"error_code":{"description":"Stable machine code \u2014 branch on this, not on message text","enum":["PAYMENT_REQUIRED","INVALID_ADDRESS_FORMAT","INVALID_PROOF_FORMAT","TX_HASH_CONSUMED","TX_HASH_BOUND_OTHER","INSUFFICIENT_USDC","PAYMENT_INVALID","UPSTREAM_TIMEOUT","KV_LIMIT_EXCEEDED","RATE_LIMITED","PAYMENT_EXPIRED","TX_HASH_BUSY","INVALID_JSON","METHOD_NOT_ALLOWED","NOT_FOUND"],"type":"string"},"message":{"type":"string"}},"required":["error_code","message","error"],"type":"object"}}},"info":{"description":"Multi-source Base threat intel: local bytecode heuristics, GoPlus token security, and honeypot.is buy/sell simulation with dual-source consensus. Continuous coverage of Uniswap V2/V3, Aerodrome, Clanker, and Virtuals bonding launches. Returns SAFE / SUSPICIOUS / SCAM plus agent verdict CLEAR / CAUTION / AVOID. Pay-per-call via HTTP 402 + USDC tx proof bound to the target resource.","title":"BaseSentinel","version":"0.1.0"},"openapi":"3.1.0","paths":{"/.well-known/ai-plugin.json":{"get":{"operationId":"getAiPluginManifest","responses":{"200":{"description":"AI plugin / agent discovery JSON"}},"summary":"Agent discovery manifest"}},"/.well-known/x402.json":{"get":{"operationId":"getX402Discovery","responses":{"200":{"description":"x402 discovery JSON for agents"}},"summary":"x402 / Bazaar discovery catalog"}},"/dossier/{address}":{"get":{"description":"Security scan plus deployer/top-holder concentration and LP lock heuristics. Requires 0.25 USDC via X-Payment-Proof.","operationId":"getPremiumDossier","parameters":[{"description":"EVM contract address","in":"path","name":"address","required":true,"schema":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},{"description":"USDC tx hash for 0.25 USDC, bound to this address","in":"header","name":"X-Payment-Proof","required":true,"schema":{"pattern":"^0x[a-fA-F0-9]{64}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"address":{"type":"string"},"creator_attribution":{"description":"When \"aa_bundler_mislabel\", GoPlus creator is ERC-4337 bundler/EntryPoint infra \u2014 not proof the token is safe.","enum":["aa_bundler_mislabel",null],"type":["string","null"]},"market_structure":{"properties":{"deployer_balance_pct":{"type":["number","null"]},"is_whale_concentrated":{"type":"boolean"},"lp_status":{"enum":["LOCKED","BURNED","UNLOCKED","UNKNOWN"],"type":"string"},"notes":{"items":{"type":"string"},"type":"array"},"top_5_holders_pct":{"type":["number","null"]}},"type":"object"},"network":{"type":"string"},"risk_flags":{"items":{"type":"string"},"type":"array"},"security":{"additionalProperties":true,"description":"Full /scan payload","type":"object"},"verdict":{"enum":["CLEAR","CAUTION","AVOID"],"type":"string"},"verdict_score":{"type":"integer"}},"type":"object"}}},"description":"Premium dossier"},"400":{"description":"Invalid address or payment proof"},"402":{"description":"Payment required"}},"summary":"Premium security + market-structure dossier"}},"/scan/{address}":{"get":{"description":"Bytecode heuristics + GoPlus + honeypot.is (dual-source consensus). Watches Uni V2/V3, Aerodrome, Clanker, and Virtuals launches on Base. Agent verdict: CLEAR/CAUTION/AVOID. Requires X-Payment-Proof (USDC tx hash bound to this address). Without payment proof returns HTTP 402.","operationId":"scanContract","parameters":[{"description":"EVM contract address to scan","in":"path","name":"address","required":true,"schema":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},{"description":"Transaction hash proving transfer of 0.005 USDC to the payment address. Bound to this contract \u2014 cannot be reused for another address.","in":"header","name":"X-Payment-Proof","required":true,"schema":{"pattern":"^0x[a-fA-F0-9]{64}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"address":{"type":"string"},"bytecodeLength":{"type":"integer"},"cachedAt":{"format":"date-time","type":"string"},"creator_attribution":{"description":"When \"aa_bundler_mislabel\", GoPlus creator is ERC-4337 bundler/EntryPoint infra \u2014 not proof the token is safe.","enum":["aa_bundler_mislabel",null],"type":["string","null"]},"dossier":{"description":"Buyer dossier: GoPlus + honeypot.is simulation + optional listing context","properties":{"ageHintSeconds":{"type":["integer","null"]},"dualSourceConsensus":{"type":"boolean"},"goplus":{"additionalProperties":true,"type":["object","null"]},"honeypotIs":{"additionalProperties":true,"type":["object","null"]},"listing":{"properties":{"blockNumber":{"type":"integer"},"pair":{"type":"string"},"pairedWith":{"type":"string"},"source":{"type":"string"},"txHash":{"type":"string"}},"type":["object","null"]}},"type":"object"},"network":{"example":"base","type":"string"},"reasons":{"items":{"type":"string"},"type":"array"},"riskScore":{"description":"Internal risk 0=clean \u2026 100=deadly","maximum":100,"minimum":0,"type":"integer"},"risk_flags":{"description":"Machine flags for agent branching (e.g. HONEYPOT, AA_BUNDLER_CREATOR, STUB_OR_HIDDEN_CODE). AA_BUNDLER_CREATOR = ignore GoPlus prior-honeypot-on-creator only; not a safe-token signal.","items":{"type":"string"},"type":"array"},"status":{"enum":["SAFE","SUSPICIOUS","SCAM"],"type":"string"},"verdict":{"enum":["CLEAR","CAUTION","AVOID"],"type":"string"},"verdict_score":{"description":"Agent score 100=clean \u2026 0=deadly","maximum":100,"minimum":0,"type":"integer"}},"type":"object"}}},"description":"Scan result with agent verdict"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"INVALID_ADDRESS_FORMAT or INVALID_PROOF_FORMAT"},"402":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiError"},{"properties":{"payment_info":{"type":"object"},"x402":{"type":"object"}},"type":"object"}]}}},"description":"PAYMENT_REQUIRED \u2014 pay USDC then retry with X-Payment-Proof","headers":{"X-Payment-Address":{"description":"0x21360A04853b85a8d2E918b73f97C8ccf5939946","schema":{"type":"string"}},"X-Payment-Amount":{"description":"0.005 USDC","schema":{"type":"string"}},"X-Payment-Network":{"description":"base","schema":{"type":"string"}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"TX_HASH_CONSUMED or TX_HASH_BOUND_OTHER"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"INSUFFICIENT_USDC or PAYMENT_INVALID"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"UPSTREAM_TIMEOUT"}},"summary":"Scan a smart contract address"}},"/tools.json":{"get":{"operationId":"listAgentTools","responses":{"200":{"description":"Tool definitions + payment notes"}},"summary":"OpenAI-compatible tool schemas for LLM agents"}},"/watch":{"post":{"description":"Pay 0.50 USDC to watch a Base address. Cron re-scans (batched) and POSTs STATUS_CHANGED to webhook_url when verdict, tax, or risk_flags change. Auto-expires after 7 days.","operationId":"createWatchSubscription","parameters":[{"description":"USDC tx hash for 0.50 USDC, bound to target_address + webhook_url","in":"header","name":"X-Payment-Proof","required":true,"schema":{"pattern":"^0x[a-fA-F0-9]{64}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"target_address":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"webhook_url":{"description":"HTTPS webhook URL (no private/loopback hosts)","format":"uri","type":"string"}},"required":["target_address","webhook_url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"baseline":{"properties":{"risk_flags":{"items":{"type":"string"},"type":"array"},"tax":{"type":["number","null"]},"verdict":{"enum":["CLEAR","CAUTION","AVOID",null],"type":["string","null"]}},"type":"object"},"expires_at":{"format":"date-time","type":"string"},"ok":{"type":"boolean"},"target_address":{"type":"string"},"ttl_seconds":{"example":604800,"type":"integer"},"watch_id":{"type":"string"},"webhook_url":{"type":"string"}},"type":"object"}}},"description":"Watch created"},"400":{"description":"Invalid body, address, webhook, or payment"},"402":{"description":"Payment required"}},"summary":"7-day watchdog webhook subscription"}}},"servers":[{"url":"https://api.blackswanlabs.pl"}]},"reachable":true,"url":"https://api.blackswanlabs.pl/openapi.json","valid_json":true,"version":"3.1.0","well_formed":true},"robots":{"reachable":false,"status_code":404},"target":{"challenge":{"accepts":[{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra_keys":["name","version"],"maxTimeoutSeconds":300,"network":"eip155:8453","payTo":"0x21360A04853b85a8d2E918b73f97C8ccf5939946","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":"On-demand Base contract scan (bytecode + GoPlus + honeypot.is) with CLEAR/CAUTION/AVOID verdict","mimeType":"application/json","url":"https://api.blackswanlabs.pl/scan/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"resource_missing_required_fields":[],"source":"payment-required-header","x402Version":2},"method":"GET","payment_challenge":true,"payment_headers":{"payment-required":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJYLVBheW1lbnQtUHJvb2YgKFVTREMgVHJhbnNmZXIgdHggaGFzaCkgaXMgcmVxdWlyZWQuIENvaW5iYXNlIGZhY2lsaXRhdG9yIC8gRUlQLTMwMDkgUEFZTUVOVC1TSUdOQVRVUkUgcGF5bG9hZHMgYXJlIG5vdCBhY2NlcHRlZC4iLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL2FwaS5ibGFja3N3YW5sYWJzLnBsL3NjYW4vMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwiZGVzY3JpcHRpb24iOiJPbi1kZW1hbmQgQmFzZSBjb250cmFjdCBzY2FuIChieXRlY29kZSArIEdvUGx1cyArIGhvbmV5cG90LmlzKSB3aXRoIENMRUFSL0NBVVRJT04vQVZPSUQgdmVyZGljdCIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6IjUwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsInBheVRvIjoiMHgyMTM2MEEwNDg1M2I4NWE4ZDJFOTE4YjczZjk3QzhjY2Y1OTM5OTQ2IiwibWF4VGltZW91dFNlY29uZHMiOjMwMCwiZXh0cmEiOnsibmFtZSI6IlVTREMiLCJ2ZXJzaW9uIjoiMiJ9fV0sImV4dGVuc2lvbnMiOnsiYmF6YWFyIjp7ImluZm8iOnsiaW5wdXQiOnsidHlwZSI6Imh0dHAiLCJtZXRob2QiOiJHRVQiLCJoZWFkZXJzIjp7IlgtUGF5bWVudC1Qcm9vZiI6IjxiYXNlX3VzZGNfdHhfaGFzaD4ifX0sIm91dHB1dCI6eyJ0eXBlIjoianNvbiIsImV4YW1wbGUiOnsic3RhdHVzIjoiU0FGRSIsInJpc2tTY29yZSI6MTIsInZlcmRpY3QiOiJDTEVBUiIsInZlcmRpY3Rfc2NvcmUiOjg4LCJyaXNrX2ZsYWdzIjpbXSwiY3JlYXRvcl9hdHRyaWJ1dGlvbiI6bnVsbCwicmVhc29ucyI6WyJOb25lIl19fX0sInNjaGVtYSI6eyIkc2NoZW1hIjoiaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWEiLCJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJpbnB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJ0eXBlIjp7InR5cGUiOiJzdHJpbmciLCJjb25zdCI6Imh0dHAifSwibWV0aG9kIjp7InR5cGUiOiJzdHJpbmciLCJlbnVtIjpbIkdFVCIsIkhFQUQiLCJERUxFVEUiXX0sInF1ZXJ5UGFyYW1zIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJoZWFkZXJzIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19fSwicmVxdWlyZWQiOlsidHlwZSIsIm1ldGhvZCJdLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6ZmFsc2V9LCJvdXRwdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJ0eXBlIjoic3RyaW5nIn0sImV4YW1wbGUiOnsidHlwZSI6Im9iamVjdCJ9fSwicmVxdWlyZWQiOlsidHlwZSJdfX0sInJlcXVpcmVkIjpbImlucHV0Il19fSwiYmFzZVNlbnRpbmVsIjp7InByb2R1Y3QiOiJzY2FuIiwicHJvb2ZIZWFkZXIiOiJYLVBheW1lbnQtUHJvb2YiLCJiaW5kaW5nIjoib25lX3R4X2hhc2hfcGVyX2NvbnRyYWN0IiwiaHVtYW5OZXR3b3JrIjoiYmFzZSIsInNldHRsZW1lbnQiOiJ0eF9oYXNoX3Byb29mIiwiZmFjaWxpdGF0b3IiOmZhbHNlLCJub3RlIjoiUGF5IHdpdGggYW4gb24tY2hhaW4gVVNEQyBUcmFuc2ZlciB0byBwYXlUbywgdGhlbiBzZW5kIHRoYXQgdHggaGFzaCBpbiBYLVBheW1lbnQtUHJvb2YuIERvIG5vdCB1c2UgQ29pbmJhc2UgZmFjaWxpdGF0b3Igc2V0dGxlbWVudC4ifX19","x-payment-required":"true"},"reachable":true,"status_code":402},"x402_manifest":{"bazaar_metadata":false,"body":{"ai_plugin":"https://api.blackswanlabs.pl/.well-known/ai-plugin.json","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","capabilities":{"agent_verdicts":["CLEAR","CAUTION","AVOID"],"chain":"Base (eip155:8453)","consensus":"dual_source_goplus_and_honeypot_is","discovery_coverage":["uniswap_v2","uniswap_v3","aerodrome","clanker","virtuals_bonding"],"dossier_fields":["goplus","honeypotIs","listing","dualSourceConsensus"],"enrichment_providers":["local_bytecode_heuristics","goplus_token_security","honeypot_is_simulation"],"premium_market_structure":["deployer_balance_pct","top_5_holders_pct","lp_status","is_whale_concentrated"],"verdicts":["SAFE","SUSPICIOUS","SCAM"]},"category":"trust","description":"Multi-source Base threat intel: local bytecode heuristics, GoPlus token security, and honeypot.is buy/sell simulation with dual-source consensus. Continuous coverage of Uniswap V2/V3, Aerodrome, Clanker, and Virtuals bonding launches. Returns SAFE / SUSPICIOUS / SCAM plus agent verdict CLEAR / CAUTION / AVOID.","extensions":{"baseSentinel":{"binding":"one_tx_hash_per_product_resource","humanNetwork":"base","proofHeader":"X-Payment-Proof","settlement":"tx_hash_proof"},"bazaar":{"category":"trust","description":"Bytecode heuristics + GoPlus + honeypot.is (dual-source consensus). Watches Uni V2/V3, Aerodrome, Clanker, and Virtuals launches on Base. Agent verdict: CLEAR/CAUTION/AVOID.","discoverable":true,"name":"BaseSentinel","owner_contact":"blackswanlabsos@gmail.com","owner_url":"https://blackswanlabs.pl","proofHeader":"X-Payment-Proof","settlement":"tx_hash_proof","tags":["x402","base","security","threat-intel","risk-scoring","honeypot","scam-detection"]}},"facilitator":false,"generated_at":"2026-08-08T13:25:54.456Z","name":"BaseSentinel","network":"eip155:8453","openapi":"https://api.blackswanlabs.pl/openapi.json","owner_contact":"blackswanlabsos@gmail.com","owner_url":"https://blackswanlabs.pl","payTo":"0x21360A04853b85a8d2E918b73f97C8ccf5939946","proofHeader":"X-Payment-Proof","services":[{"amount":"5000","amountDisplay":"0.005 USDC","description":"On-demand Base contract scan (bytecode + GoPlus + honeypot.is) with CLEAR/CAUTION/AVOID verdict","method":"GET","name":"scan","path":"/scan/:address","proofHeader":"X-Payment-Proof","scheme":"exact","settlement":"tx_hash_proof","url":"https://api.blackswanlabs.pl/scan/{address}"},{"amount":"250000","amountDisplay":"0.25 USDC","description":"Premium Base dossier: security verdict + market structure (deployer %, top holders, LP status)","method":"GET","name":"dossier","path":"/dossier/:address","proofHeader":"X-Payment-Proof","scheme":"exact","settlement":"tx_hash_proof","url":"https://api.blackswanlabs.pl/dossier/{address}"},{"amount":"500000","amountDisplay":"0.50 USDC","description":"7-day watchdog: re-scan a Base address on cron and POST webhook on verdict/tax/flag changes","method":"POST","name":"watch","path":"/watch","proofHeader":"X-Payment-Proof","scheme":"exact","settlement":"tx_hash_proof","ttlSeconds":604800,"url":"https://api.blackswanlabs.pl/watch"},{"amount":"10000","amountDisplay":"0.01 USDC","description":"Daily Base threat pack (SCAM + SUSPICIOUS) from watched DEX/launcher coverage","method":"GET","name":"daily_feed","path":"/api/feed/daily/:date","proofHeader":"X-Payment-Proof","scheme":"exact","settlement":"tx_hash_proof","url":"https://api.blackswanlabs.pl/api/feed/daily/YYYY-MM-DD"},{"amount":"5000","amountDisplay":"0.005 USDC","description":"Live SSE stream of newly flagged Base threats (SCAM/SUSPICIOUS)","method":"GET","name":"live_stream","output":"text/event-stream","path":"/stream/threats","proofHeader":"X-Payment-Proof","scheme":"exact","settlement":"tx_hash_proof","url":"https://api.blackswanlabs.pl/stream/threats"}],"settlement":"tx_hash_proof","settlement_note":"Send a USDC Transfer on Base to payTo, then retry with X-Payment-Proof=<tx_hash>. Coinbase facilitator / EIP-3009 PAYMENT-SIGNATURE payloads are not accepted.","tags":["x402","base","security","threat-intel","risk-scoring","honeypot","scam-detection"],"tools":"https://api.blackswanlabs.pl/tools.json","updated_at":"2026-08-08T13:25:54.456Z","x402Version":2},"reachable":true,"service_count":5,"status_code":200,"valid_json":true,"well_formed":true}},"grade":"ready","integrity":{"algorithm":"Ed25519","canonical_sha256":"89b8d57f1548549373ad106184a699fe314b50747a00ad976e47d2f79080d6cc","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"JocK7ctAky7oHHcixgbDLVZcYnsTPCsLZvYLOHn2KCuruaCiGXBBbydrdUNp+vM+F4XVbOgQ/tdJhbElpaKQBw==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://api.blackswanlabs.pl","provider_listing_next_step":{"endpoint":"https://api.blackswanlabs.pl/scan/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","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_bc0063304e896862&endpoint=https%3A%2F%2Fapi.blackswanlabs.pl%2Fscan%2F0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913#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":true,"recommended_action":{"id":"validate_listing_payload","label":"Validate listing payload free, then publish for 0.50 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_bc0063304e896862&endpoint=https%3A%2F%2Fapi.blackswanlabs.pl%2Fscan%2F0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913#submit-service"},"report_id":"vrf_bc0063304e896862","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":"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":85,"recommendations":[{"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"},{"detail":"A clear robots policy helps crawlers and agent indexes understand how the site wants to be accessed.","docs_url":"https://ontarioprotocol.com/robots.txt","id":"robots_missing","title":"Publish robots.txt"}],"report_id":"vrf_bc0063304e896862","report_url":"https://ontarioprotocol.com/verify/report/vrf_bc0063304e896862","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":true,"price_format_valid":true,"robots_present":false,"schema_org_present":false,"x402_manifest_present":true,"x402_manifest_well_formed":true},"status":"ok","submitted_url":"https://api.blackswanlabs.pl/scan/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","target_url":"https://api.blackswanlabs.pl/scan/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","verified_at":"2026-08-08T13:25:54.861729+00:00","verifier":"ontario.x402-readiness.v1","warning_penalty":5,"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"}]}
