{"base_readiness_score":93,"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_1d42c4e4f6260fda#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_1d42c4e4f6260fda#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_1d42c4e4f6260fda#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_1d42c4e4f6260fda#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_1d42c4e4f6260fda#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_1d42c4e4f6260fda#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_1d42c4e4f6260fda#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":576,"evidence":{"homepage":{"reachable":true,"schema_org_present":false,"status_code":200},"openapi":{"body":{"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"},"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"},"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":{"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":{"description":"Invalid address / invalid, reused, or rebound payment proof"},"402":{"description":"Payment required before scanning","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"}}}}},"summary":"Scan a smart contract address"}},"/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":{"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":"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":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBvciBYLVBheW1lbnQtUHJvb2YgaGVhZGVyIGlzIHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9hcGkuYmxhY2tzd2FubGFicy5wbC9zY2FuLzB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsImRlc2NyaXB0aW9uIjoiT24tZGVtYW5kIEJhc2UgY29udHJhY3Qgc2NhbiAoYnl0ZWNvZGUgKyBHb1BsdXMgKyBob25leXBvdC5pcykgd2l0aCBDTEVBUi9DQVVUSU9OL0FWT0lEIHZlcmRpY3QiLCJtaW1lVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLCJhbW91bnQiOiI1MDAwIiwiYXNzZXQiOiIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCJwYXlUbyI6IjB4MjEzNjBBMDQ4NTNiODVhOGQyRTkxOGI3M2Y5N0M4Y2NmNTkzOTk0NiIsIm1heFRpbWVvdXRTZWNvbmRzIjozMDAsImV4dHJhIjp7Im5hbWUiOiJVU0RDIiwidmVyc2lvbiI6IjIifX1dLCJleHRlbnNpb25zIjp7ImJhemFhciI6eyJkaXNjb3ZlcmFibGUiOnRydWUsImluZm8iOnsiaW5wdXQiOnsidHlwZSI6Imh0dHAiLCJtZXRob2QiOiJHRVQiLCJoZWFkZXJzIjp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLCJYLVBheW1lbnQtUHJvb2YiOiI8YmFzZV91c2RjX3R4X2hhc2g+In19LCJvdXRwdXQiOnsidHlwZSI6Impzb24iLCJleGFtcGxlIjp7InN0YXR1cyI6IlNBRkUiLCJyaXNrU2NvcmUiOjEyLCJ2ZXJkaWN0IjoiQ0xFQVIiLCJ2ZXJkaWN0X3Njb3JlIjo4OCwicmlza19mbGFncyI6W10sInJlYXNvbnMiOlsiTm9uZSJdfX19fSwiYmFzZVNlbnRpbmVsIjp7InByb2R1Y3QiOiJzY2FuIiwicHJvb2ZIZWFkZXIiOiJYLVBheW1lbnQtUHJvb2YiLCJiaW5kaW5nIjoib25lX3R4X2hhc2hfcGVyX2NvbnRyYWN0IiwiaHVtYW5OZXR3b3JrIjoiYmFzZSIsInNldHRsZW1lbnQiOiJ0eF9oYXNoX3Byb29mIn19fQ==","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","sniper-alpha","honeypot","scam-detection"]}},"generated_at":"2026-07-29T20:33:10.131Z","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","tags":["x402","base","security","threat-intel","sniper-alpha","honeypot","scam-detection"],"updated_at":"2026-07-29T20:33:10.131Z","x402Version":2},"reachable":true,"service_count":5,"status_code":200,"valid_json":true,"well_formed":true}},"grade":"ready","integrity":{"algorithm":"Ed25519","canonical_sha256":"1be523addb88ff41e47edc31575958df04c48d23d99fa1e0d92b3e160a37b526","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"x5Ei6FE83nFv972Ti4kNreU3qNK8fPeNdpR4hroLdGbmIpaTMQGSWx66m5uMvW2hmPImx4aW0kI8QbVVEFhcDQ==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://api.blackswanlabs.pl","readiness_score":88,"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"}],"report_id":"vrf_1d42c4e4f6260fda","report_url":"https://ontarioprotocol.com/verify/report/vrf_1d42c4e4f6260fda","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":true,"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-07-29T20:33:10.612559+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"}]}
