{"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_a62cb528a241884e","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":812,"evidence":{"homepage":{"reachable":true,"schema_org_present":false,"status_code":200},"openapi":{"body":{"components":{"schemas":{"Error":{"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"},"PaymentRequired":{"description":"x402 PaymentRequired challenge","properties":{"accepts":{"items":{"properties":{"amount":{"description":"Token atomic units (USDC 6 decimals)","type":"string"},"asset":{"type":"string"},"description":{"type":"string"},"extra":{"type":"object"},"maxAmountRequired":{"description":"Token atomic units (legacy v1 field)","type":"string"},"maxTimeoutSeconds":{"type":"integer"},"mimeType":{"type":"string"},"network":{"example":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","type":"string"},"payTo":{"type":"string"},"resource":{"format":"uri","type":"string"},"scheme":{"example":"exact","type":"string"}},"required":["scheme","network","payTo","asset"],"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"resource":{"type":"object"},"x402Version":{"type":"integer"}},"required":["x402Version","accepts"],"type":"object"}}},"externalDocs":{"url":"https://bilbop.org"},"info":{"contact":{"name":"Bilbop","url":"https://bilbop.org"},"description":"Pay-per-call APIs for AI agents over x402: text summarization, Solana token market briefs, Solana mint on-chain info, human brand feedback (WURK) and self-hosted Piper text-to-speech. Payment in USDC on Solana (x402 'exact' scheme, PayAI facilitator). No API keys or accounts.","title":"Bilbop x402 API","version":"1.0.0","x-guidance":"All paid endpoints are POST with a JSON body. Call without payment to receive an HTTP 402 x402 challenge (JSON body + PAYMENT-REQUIRED header) listing price, asset (USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v), network (solana / solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and payTo; sign the payment with an x402 client and retry with the X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) header. POST /v1/summarize {text} returns {summary} ($0.01). POST /v1/sol-token-brief {mint} returns price/mcap/liquidity/volume and a one-line brief ($0.01). POST /v1/sol-mint-info {mint} returns supply, decimals and mint/freeze authorities ($0.01). POST /brand-feedback {brand, question, n?} returns real human replies via WURK, can take minutes ($0.50). POST /v1/tts {text, voice_id?} returns raw audio/wav bytes, max 2500 chars ($0.025). Free: GET /health, GET /piper/v1/voices, GET /.well-known/x402."},"openapi":"3.1.0","paths":{"/brand-feedback":{"post":{"description":"Routes a short question about a brand or product to real human respondents via the WURK human-task marketplace and returns their replies with a sentiment aggregate. Replies can take minutes. 0.50 USDC per call.","operationId":"brandFeedback","requestBody":{"content":{"application/json":{"schema":{"example":{"brand":"Acme","n":1,"question":"Would you buy again?"},"properties":{"brand":{"description":"Brand or product name","example":"Acme","minLength":1,"type":"string"},"n":{"default":5,"description":"Number of human respondents (default 5)","example":1,"maximum":50,"minimum":1,"type":"integer"},"question":{"description":"Question to ask human respondents","example":"Would you buy again?","minLength":1,"type":"string"}},"required":["brand","question"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"example":{"aggregate":{"negative":0,"neutral":0,"positive":1,"summary":"1/1 positive."},"brand":"Acme","mock":false,"n":1,"question":"Would you buy again?","responses":[{"sentiment":"positive","text":"Yes, the quality was good for the price."}]},"properties":{"aggregate":{"properties":{"negative":{"type":"integer"},"neutral":{"type":"integer"},"positive":{"type":"integer"},"summary":{"type":"string"}},"type":"object"},"brand":{"type":"string"},"mock":{"type":"boolean"},"n":{"type":"integer"},"question":{"type":"string"},"responses":{"items":{"properties":{"sentiment":{"enum":["positive","neutral","negative"],"type":"string"},"text":{"type":"string"}},"type":"object"},"type":"array"}},"required":["brand","responses"],"type":"object"}}},"description":"Human replies"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid request body (paid requests are validated before settlement)"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}},"description":"Payment Required. x402 challenge in the JSON body and the base64 PAYMENT-REQUIRED header. Retry with an X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) header.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 PaymentRequired object (same as the body)","schema":{"type":"string"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Upstream failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Origin temporarily unavailable (tunnel rotating); retry after Retry-After seconds"}},"summary":"Ask real humans a question about a brand or product","tags":["Humans"],"x-payment-info":{"price":{"amount":"0.50","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/v1/sol-mint-info":{"post":{"description":"Supply, decimals, mint authority, freeze authority, token program and initialized flag for a Solana SPL token mint. Use to check whether a token can still be minted or frozen. 0.01 USDC per call.","operationId":"solMintInfo","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},"properties":{"mint":{"description":"Base58 Solana SPL token mint address (32-44 chars)","example":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","maxLength":44,"minLength":32,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}},"required":["mint"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"example":{"decimals":6,"freezeAuthority":"7dGbd2QZcCKcTndnHcTL8q7SMVXAkp688NTQYwrRCrar","initialized":true,"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","mintAuthority":"BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","sources":["bentlawgic-token-basic"],"supply":"9000000000.000000","tokenProgram":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},"properties":{"decimals":{"type":"integer"},"freezeAuthority":{"type":["string","null"]},"initialized":{"type":"boolean"},"mint":{"type":"string"},"mintAuthority":{"type":["string","null"]},"network":{"type":"string"},"sources":{"items":{"type":"string"},"type":"array"},"supply":{"type":"string"},"tokenProgram":{"type":"string"}},"required":["mint","decimals","supply"],"type":"object"}}},"description":"Mint info"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid request body (paid requests are validated before settlement)"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}},"description":"Payment Required. x402 challenge in the JSON body and the base64 PAYMENT-REQUIRED header. Retry with an X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) header.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 PaymentRequired object (same as the body)","schema":{"type":"string"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Upstream failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Origin temporarily unavailable (tunnel rotating); retry after Retry-After seconds"}},"summary":"On-chain facts for a Solana SPL token mint","tags":["Solana"],"x-payment-info":{"price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/v1/sol-token-brief":{"post":{"description":"Price, market cap, FDV, liquidity, 24h volume, holders and a one-line brief for a Solana SPL token, aggregated from Jupiter, GeckoTerminal and Dexscreener. 0.01 USDC per call.","operationId":"solTokenBrief","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"example":{"mint":"So11111111111111111111111111111111111111112"},"properties":{"mint":{"description":"Base58 Solana SPL token mint address (32-44 chars)","example":"So11111111111111111111111111111111111111112","maxLength":44,"minLength":32,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}},"required":["mint"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"example":{"asOf":"2026-09-28T14:00:00.000Z","brief":"SOL (So11\u20261112) \u00b7 price $150.12 \u00b7 mcap $80B \u00b7 liq $250M \u00b7 vol24h $1.5B. Sources: jupiter, dexscreener. Not financial advice.","liquidityUsd":250000000,"mcapUsd":80000000000,"mint":"So11111111111111111111111111111111111111112","priceUsd":150.12,"sources":["jupiter","geckoterminal","dexscreener"],"symbol":"SOL","volume24hUsd":1500000000},"properties":{"asOf":{"format":"date-time","type":"string"},"brief":{"type":"string"},"disclaimer":{"type":"string"},"fdvUsd":{"type":["number","null"]},"holders":{"type":["number","null"]},"liquidityUsd":{"type":["number","null"]},"mcapUsd":{"type":["number","null"]},"mint":{"type":"string"},"name":{"type":"string"},"organicScore":{"type":["number","null"]},"priceUsd":{"type":["number","null"]},"sources":{"items":{"type":"string"},"type":"array"},"symbol":{"type":"string"},"volume24hUsd":{"type":["number","null"]}},"required":["mint","brief","sources","asOf"],"type":"object"}}},"description":"Token brief"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid request body (paid requests are validated before settlement)"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}},"description":"Payment Required. x402 challenge in the JSON body and the base64 PAYMENT-REQUIRED header. Retry with an X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) header.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 PaymentRequired object (same as the body)","schema":{"type":"string"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Upstream failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Origin temporarily unavailable (tunnel rotating); retry after Retry-After seconds"}},"summary":"Solana SPL token market snapshot and one-line brief","tags":["Solana"],"x-payment-info":{"price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/v1/summarize":{"post":{"description":"Summarize a block of text into 1-3 concise sentences. Use when an agent needs a short digest of an article, doc, or chat log. 0.01 USDC per call on Solana.","operationId":"summarize","requestBody":{"content":{"application/json":{"schema":{"example":{"text":"Summarize this paragraph for an agent."},"properties":{"text":{"description":"Text to summarize","example":"Summarize this paragraph for an agent.","minLength":1,"type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"example":{"mock":false,"summary":"A one to three sentence digest of the input text."},"properties":{"mock":{"type":"boolean"},"summary":{"type":"string"}},"required":["summary"],"type":"object"}}},"description":"Summary"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid request body (paid requests are validated before settlement)"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}},"description":"Payment Required. x402 challenge in the JSON body and the base64 PAYMENT-REQUIRED header. Retry with an X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) header.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 PaymentRequired object (same as the body)","schema":{"type":"string"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Upstream failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Origin temporarily unavailable (tunnel rotating); retry after Retry-After seconds"}},"summary":"Summarize text into 1-3 concise sentences","tags":["Text"],"x-payment-info":{"price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}},"/v1/tts":{"post":{"description":"Turn up to 2500 characters of English text into a natural voice WAV file using self-hosted open-source Piper voices. Response body is raw audio/wav bytes (mono, 22.05 kHz). 0.025 USDC per call.","operationId":"textToSpeech","requestBody":{"content":{"application/json":{"schema":{"example":{"text":"Hello from Piper","voice_id":"en_US-lessac-medium"},"properties":{"text":{"description":"Text to speak (max 2500 chars)","example":"Hello from Piper","maxLength":2500,"minLength":1,"type":"string"},"voice_id":{"default":"en_US-lessac-medium","description":"Optional Piper voice id (GET /piper/v1/voices)","example":"en_US-lessac-medium","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"audio/wav":{"schema":{"contentMediaType":"audio/wav","format":"binary","type":"string"}}},"description":"Raw WAV audio bytes","headers":{"X-TTS-Format":{"schema":{"type":"string"}},"X-TTS-Voice-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid request body (paid requests are validated before settlement)"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}},"description":"Payment Required. x402 challenge in the JSON body and the base64 PAYMENT-REQUIRED header. Retry with an X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) header.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 PaymentRequired object (same as the body)","schema":{"type":"string"}}}},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Upstream failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Origin temporarily unavailable (tunnel rotating); retry after Retry-After seconds"}},"summary":"Text-to-speech (self-hosted Piper), returns WAV audio","tags":["Audio"],"x-payment-info":{"price":{"amount":"0.025","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]}}}},"servers":[{"url":"https://api.bilbop.org"}],"tags":[{"description":"Text processing","name":"Text"},{"description":"Solana token data","name":"Solana"},{"description":"Human-in-the-loop tasks","name":"Humans"},{"description":"Speech synthesis","name":"Audio"}]},"reachable":true,"url":"https://api.bilbop.org/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":"10000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra_keys":["decimals","feePayer"],"maxTimeoutSeconds":60,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","scheme":"exact"},{"amount":"10000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra_keys":["decimals","feePayer"],"maxTimeoutSeconds":60,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","scheme":"exact"}],"accepts_count":2,"accepts_missing_required_fields":[],"body_accepts_count":2,"body_accepts_missing":false,"body_valid_json":true,"header_accepts_count":2,"missing_accepts":false,"resource":{"description":"Summarize a block of text into 1-3 concise sentences. Use when an agent needs a short digest of an article, doc, or chat log before deciding what to do. POST JSON {text}. Returns {summary}. 0.01 USDC per call on Solana.","mimeType":"application/json","url":"https://api.bilbop.org/v1/summarize"},"resource_missing_required_fields":[],"source":"payment-required-header","x402Version":2},"method":"POST","payment_challenge":true,"payment_headers":{"payment-required":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9hcGkuYmlsYm9wLm9yZy92MS9zdW1tYXJpemUiLCJkZXNjcmlwdGlvbiI6IlN1bW1hcml6ZSBhIGJsb2NrIG9mIHRleHQgaW50byAxLTMgY29uY2lzZSBzZW50ZW5jZXMuIFVzZSB3aGVuIGFuIGFnZW50IG5lZWRzIGEgc2hvcnQgZGlnZXN0IG9mIGFuIGFydGljbGUsIGRvYywgb3IgY2hhdCBsb2cgYmVmb3JlIGRlY2lkaW5nIHdoYXQgdG8gZG8uIFBPU1QgSlNPTiB7dGV4dH0uIFJldHVybnMge3N1bW1hcnl9LiAwLjAxIFVTREMgcGVyIGNhbGwgb24gU29sYW5hLiIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiIsInNlcnZpY2VOYW1lIjoiQmlsYm9wIHN1bW1hcml6ZXIiLCJ0YWdzIjpbInN1bW1hcml6ZSIsIm5scCIsInNvbGFuYSIsInVzZGMiLCJiaWxib3AiXX0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6InNvbGFuYTo1ZXlrdDRVc0Z2OFA4TkpkVFJFcFkxdnpxS3FaS3ZkcCIsImFtb3VudCI6IjEwMDAwIiwiYXNzZXQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsInBheVRvIjoiMnIydnNveXVZdXk0ZHN5UVZSaGZtTUJxc01SS0hSUzVGVFBOdW1ZRmh4RTQiLCJtYXhUaW1lb3V0U2Vjb25kcyI6NjAsImV4dHJhIjp7ImRlY2ltYWxzIjo2LCJmZWVQYXllciI6IkNqTkZUanZCaGJKSmQyQjVlUFBNSFJMeDFFTFpwYThkd1FnR0w3MjdlS3d3In19LHsic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoic29sYW5hOjVleWt0NFVzRnY4UDhOSmRUUkVwWTF2enFLcVpLdmRwIiwiYW1vdW50IjoiMTAwMDAiLCJhc3NldCI6IkVQakZXZGQ1QXVmcVNTcWVNMnFOMXh6eWJhcEM4RzR3RUdHa1p3eVREdDF2IiwicGF5VG8iOiIycjJ2c295dVl1eTRkc3lRVlJoZm1NQnFzTVJLSFJTNUZUUE51bVlGaHhFNCIsIm1heFRpbWVvdXRTZWNvbmRzIjo2MCwiZXh0cmEiOnsiZGVjaW1hbHMiOjYsImZlZVBheWVyIjoiR1ZKSjdyZEdpWHI1eGFZYlJ3UmJqZmFKTDdmbXdSeWdGaTFINmFHcUR2ZWIifX1dLCJleHRlbnNpb25zIjp7ImJhemFhciI6eyJpbmZvIjp7ImlucHV0Ijp7InR5cGUiOiJodHRwIiwibWV0aG9kIjoiUE9TVCIsImJvZHlUeXBlIjoianNvbiIsImJvZHkiOnsidGV4dCI6IlN1bW1hcml6ZSB0aGlzIHBhcmFncmFwaCBmb3IgYW4gYWdlbnQuIn19LCJvdXRwdXQiOnsidHlwZSI6Impzb24iLCJleGFtcGxlIjp7InN1bW1hcnkiOiJBIG9uZSB0byB0aHJlZSBzZW50ZW5jZSBkaWdlc3Qgb2YgdGhlIGlucHV0IHRleHQuIiwibW9jayI6ZmFsc2V9fX0sInNjaGVtYSI6eyIkc2NoZW1hIjoiaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWEiLCJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJpbnB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJ0eXBlIjp7InR5cGUiOiJzdHJpbmciLCJjb25zdCI6Imh0dHAifSwibWV0aG9kIjp7InR5cGUiOiJzdHJpbmciLCJlbnVtIjpbIlBPU1QiLCJQVVQiLCJQQVRDSCJdfSwiYm9keVR5cGUiOnsidHlwZSI6InN0cmluZyIsImVudW0iOlsianNvbiIsImZvcm0tZGF0YSIsInRleHQiXX0sImJvZHkiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidGV4dCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJUZXh0IHRvIHN1bW1hcml6ZSAobWF4IDEyMDAwIGNoYXJzKSIsIm1pbkxlbmd0aCI6MSwibWF4TGVuZ3RoIjoxMjAwMH19LCJyZXF1aXJlZCI6WyJ0ZXh0Il19fSwicmVxdWlyZWQiOlsidHlwZSIsIm1ldGhvZCIsImJvZHlUeXBlIiwiYm9keSJdLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6ZmFsc2V9LCJvdXRwdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJ0eXBlIjoic3RyaW5nIn0sImV4YW1wbGUiOnsidHlwZSI6Im9iamVjdCJ9fSwicmVxdWlyZWQiOlsidHlwZSJdfX0sInJlcXVpcmVkIjpbImlucHV0Il19fX19"},"reachable":true,"status_code":402},"x402_manifest":{"bazaar_metadata":true,"body":{"accepts":[{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Summarize text into 1-3 concise sentences for agents. x402 exact, USDC on Solana via PayAI.","endpoint":"https://api.bilbop.org/v1/summarize","facilitator":"PayAI","method":"POST","name":"bilbop summarize","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.01","price_atomic":"10000","price_usdc":"0.01","scheme":"exact","tags":["x402","solana","usdc","summarize","agents","nlp","bilbop"],"url":"https://api.bilbop.org/v1/summarize"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Solana SPL token market snapshot (price, mcap, liquidity, volume) plus a one-line brief.","endpoint":"https://api.bilbop.org/v1/sol-token-brief","facilitator":"PayAI","method":"POST","name":"bilbop sol-token-brief","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.01","price_atomic":"10000","price_usdc":"0.01","scheme":"exact","tags":["x402","solana","usdc","token","market-data","agents","bilbop"],"url":"https://api.bilbop.org/v1/sol-token-brief"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"On-chain facts for a Solana SPL mint: supply, decimals, mint/freeze authorities.","endpoint":"https://api.bilbop.org/v1/sol-mint-info","facilitator":"PayAI","method":"POST","name":"bilbop sol-mint-info","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.01","price_atomic":"10000","price_usdc":"0.01","scheme":"exact","tags":["x402","solana","usdc","mint","spl","agents","bilbop"],"url":"https://api.bilbop.org/v1/sol-mint-info"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Ask real humans a short brand/product question via WURK; returns replies plus sentiment.","endpoint":"https://api.bilbop.org/brand-feedback","facilitator":"PayAI","method":"POST","name":"bilbop brand-feedback","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.50","price_atomic":"500000","price_usdc":"0.50","scheme":"exact","tags":["x402","solana","usdc","humans","brand","feedback","agents","bilbop"],"url":"https://api.bilbop.org/brand-feedback"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Self-hosted Piper text-to-speech; returns raw audio/wav (max 2500 chars).","endpoint":"https://api.bilbop.org/v1/tts","facilitator":"PayAI","method":"POST","name":"bilbop tts","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.025","price_atomic":"25000","price_usdc":"0.025","scheme":"exact","tags":["x402","solana","usdc","tts","audio","piper","agents","bilbop"],"url":"https://api.bilbop.org/v1/tts"}],"category":"data","contact":{"name":"Bilbop","url":"https://bilbop.org"},"description":"Pay-per-call APIs for AI agents over x402: summarization, Solana token briefs, mint info, human brand feedback, and Piper TTS. USDC on Solana (exact scheme, PayAI facilitator).","instructions":"POST paid paths without payment to receive HTTP 402. OpenAPI: /openapi.json. Discovery twin: /.well-known/x402.","name":"Bilbop x402 API","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","resources":["https://api.bilbop.org/v1/summarize","https://api.bilbop.org/v1/sol-token-brief","https://api.bilbop.org/v1/sol-mint-info","https://api.bilbop.org/brand-feedback","https://api.bilbop.org/v1/tts"],"services":[{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Summarize text into 1-3 concise sentences for agents. x402 exact, USDC on Solana via PayAI.","endpoint":"https://api.bilbop.org/v1/summarize","facilitator":"PayAI","method":"POST","name":"bilbop summarize","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.01","price_atomic":"10000","price_usdc":"0.01","scheme":"exact","tags":["x402","solana","usdc","summarize","agents","nlp","bilbop"],"url":"https://api.bilbop.org/v1/summarize"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Solana SPL token market snapshot (price, mcap, liquidity, volume) plus a one-line brief.","endpoint":"https://api.bilbop.org/v1/sol-token-brief","facilitator":"PayAI","method":"POST","name":"bilbop sol-token-brief","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.01","price_atomic":"10000","price_usdc":"0.01","scheme":"exact","tags":["x402","solana","usdc","token","market-data","agents","bilbop"],"url":"https://api.bilbop.org/v1/sol-token-brief"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"On-chain facts for a Solana SPL mint: supply, decimals, mint/freeze authorities.","endpoint":"https://api.bilbop.org/v1/sol-mint-info","facilitator":"PayAI","method":"POST","name":"bilbop sol-mint-info","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.01","price_atomic":"10000","price_usdc":"0.01","scheme":"exact","tags":["x402","solana","usdc","mint","spl","agents","bilbop"],"url":"https://api.bilbop.org/v1/sol-mint-info"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Ask real humans a short brand/product question via WURK; returns replies plus sentiment.","endpoint":"https://api.bilbop.org/brand-feedback","facilitator":"PayAI","method":"POST","name":"bilbop brand-feedback","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.50","price_atomic":"500000","price_usdc":"0.50","scheme":"exact","tags":["x402","solana","usdc","humans","brand","feedback","agents","bilbop"],"url":"https://api.bilbop.org/brand-feedback"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","category":"data","description":"Self-hosted Piper text-to-speech; returns raw audio/wav (max 2500 chars).","endpoint":"https://api.bilbop.org/v1/tts","facilitator":"PayAI","method":"POST","name":"bilbop tts","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","network_id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","observed_at":"2026-10-01T14:42:55.277Z","owner_url":"https://bilbop.org","payTo":"2r2vsoyuYuy4dsyQVRhfmMBqsMRKHRS5FTPNumYFhxE4","price":"0.025","price_atomic":"25000","price_usdc":"0.025","scheme":"exact","tags":["x402","solana","usdc","tts","audio","piper","agents","bilbop"],"url":"https://api.bilbop.org/v1/tts"}],"tags":["x402","solana","usdc","agents","bilbop"],"version":1,"x402Version":2},"reachable":true,"service_count":5,"status_code":200,"valid_json":true,"well_formed":true}},"grade":"ready","integrity":{"algorithm":"Ed25519","canonical_sha256":"6651bdd1c32f43254341d82cd123ae26544dd0930f7fed0c21f70db918db8e76","canonicalization":"json-sort-keys-no-integrity-v1","key_id":"ed25519:67e5239d2bfa367d","public_key":"t3nUNaV3/SIMUb0XIBCazNFdToM3hHEQHReQ71v40wU=","signature":"5FA9WT52ka252/Db6m+ghE2HRdIvu9ujRjgwZ7EbzAwA+3VpmfsMPiAOPtmBNoqkjT04v3iWH2nv1V0+pzFsCA==","signed_by":"ontario-protocol"},"max_score":100,"normalized_base":"https://api.bilbop.org","provider_listing_next_step":{"endpoint":"https://api.bilbop.org/v1/summarize","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_a62cb528a241884e&endpoint=https%3A%2F%2Fapi.bilbop.org%2Fv1%2Fsummarize#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_a62cb528a241884e&endpoint=https%3A%2F%2Fapi.bilbop.org%2Fv1%2Fsummarize#submit-service"},"report_id":"vrf_a62cb528a241884e","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":90,"recommendations":[],"report_id":"vrf_a62cb528a241884e","report_url":"https://ontarioprotocol.com/verify/report/vrf_a62cb528a241884e","signals":{"accepts_entries":true,"bazaar_metadata":true,"endpoint_reachable":true,"facilitator_metadata":false,"homepage_reachable":true,"https":true,"manifest_fresh":false,"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.bilbop.org/v1/summarize","target_url":"https://api.bilbop.org/v1/summarize","verified_at":"2026-10-01T14:42:56.015676+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"}]}
