{"beta":true,"service":"BotsRated","terms":"https://botsrated.com/terms","privacy":"https://botsrated.com/privacy","rules":"One x402 USDC payment on Base buys one 30-day period and grants access immediately after settlement. No accounts, balances, stored credit, top-ups or refunds held. Cancelling stops delivery; payments are final except when a fault on our side meant the plan wasn't delivered (see https://botsrated.com/terms). The dataset (dataset.json) stays free; history and archives will be free too when they open.","free_alert_limits":{"per_client":3,"total":1000,"note":"Free alerts (alerts-free): up to 3 active free alert subscriptions per client (IP address), and up to 1,000 across all users."},"alerts":[{"plan":"alerts-free","price_usd_per_30_days":"0","amount_atomic":"0","hosts":1,"delivery":"daily digest","includes":"1 host; one signed webhook digest per UTC day when its facts changed. Renew for free every 30 days.","subscribe":"POST https://botsrated.com/v1/alerts/subscribe (free)"},{"plan":"alerts-10","price_usd_per_30_days":"9","amount_atomic":"9000000","hosts":10,"delivery":"a few minutes after the check that sees a change; each host on the plan is checked every few minutes","includes":"Up to 10 hosts; a signed webhook a few minutes after the check that sees a change (payTo, quoted price, valid 402 lost/regained, delisted/relisted, stale). Each host on the plan is checked every few minutes. The same bearer token also reads /v1/check and /v1/report for the hosts on the plan without per-call payment (60 requests/min): for hosts we have test-bought, that includes our own paid test-buy receipts with delivered, non_empty and schema_valid (stall is a receipt field only, recorded from the next test-buy round; it is never an alert). Most hosts have no paid test-buy yet, and delivery outcomes are read on request; they are not alert events.","subscribe":"POST https://botsrated.com/v1/subscribe/alerts-10 (x402)"},{"plan":"alerts-50","price_usd_per_30_days":"29","amount_atomic":"29000000","hosts":50,"delivery":"a few minutes after the check that sees a change; each host on the plan is checked every few minutes","includes":"Up to 50 hosts; same events and timing as alerts-10 (payTo, quoted price, valid 402 lost/regained, delisted/relisted, stale). The same bearer token also reads /v1/check and /v1/report for the hosts on the plan without per-call payment (60 requests/min): for hosts we have test-bought, that includes our own paid test-buy receipts with delivered, non_empty and schema_valid (stall is a receipt field only, recorded from the next test-buy round; it is never an alert). Most hosts have no paid test-buy yet, and delivery outcomes are read on request; they are not alert events.","subscribe":"POST https://botsrated.com/v1/subscribe/alerts-50 (x402)"}],"botpulse":[{"plan":"botpulse-indie","price_usd_per_30_days":"5","amount_atomic":"5000000","endpoints":1,"discord_webhooks":false,"history_rate_per_min":30,"delivery":"each published digest, right after it is published (event-style: a digest is published when a watchlist item changes, not on a fixed weekday schedule)","includes":"BotPulse digests (MCP, x402, Base/CDP, agent framework changes) pushed to 1 signed webhook (ed25519, key botsrated-botpulse-1) right after each digest is published (the watchlist is scanned several times a day; a digest is published only when something on it changes), plus a bearer token for the full digest history (GET /v1/botpulse/history; the free feed shows only the latest 4 digests). 30 requests/min.","subscribe":"POST https://botsrated.com/v1/subscribe/botpulse-indie (x402) {\"webhook_urls\":[\"https://you.example/hook\"]}","history":"GET https://botsrated.com/v1/botpulse/history (Authorization: Bearer <token>)","free":"https://botsrated.com/v1/botpulse/latest and https://botsrated.com/v1/botpulse/feed.json (latest 4 digests) stay free","about":"https://botsrated.com/botpulse","note":"Infra change feed (MCP, x402, Base/CDP, framework adapters). Not seller monitoring and not a score: to watch sellers you pay, use alerts-50."},{"plan":"botpulse-business","price_usd_per_30_days":"49","amount_atomic":"49000000","endpoints":5,"discord_webhooks":true,"history_rate_per_min":300,"delivery":"each published digest, right after it is published (event-style: a digest is published when a watchlist item changes, not on a fixed weekday schedule)","includes":"Everything in botpulse-indie, delivered to up to 5 endpoints: signed webhooks and/or Discord channel webhooks (posted as a formatted message, so your team channel gets each digest), plus the full digest history at 300 requests/min. Telegram: point a signed webhook at your own bot or relay.","subscribe":"POST https://botsrated.com/v1/subscribe/botpulse-business (x402) {\"webhook_urls\":[\"https://you.example/hook\"]}","history":"GET https://botsrated.com/v1/botpulse/history (Authorization: Bearer <token>)","free":"https://botsrated.com/v1/botpulse/latest and https://botsrated.com/v1/botpulse/feed.json (latest 4 digests) stay free","about":"https://botsrated.com/botpulse","note":"Infra change feed (MCP, x402, Base/CDP, framework adapters). Not seller monitoring and not a score: to watch sellers you pay, use alerts-50."}],"data":[{"plan":"data-starter","price_usd_per_30_days":"49","amount_atomic":"49000000","includes":"Bearer token: /v1/check, /v1/report and /v1/best without per-call payment for 30 days (fair use, 60 requests/min).","subscribe":"POST https://botsrated.com/v1/subscribe/data-starter (x402)"},{"plan":"data-pro","price_usd_per_30_days":"199","amount_atomic":"199000000","includes":"Bearer token: /v1/check, /v1/report and /v1/best without per-call payment for 30 days (600 requests/min). Planned: signed change feed for all hosts.","subscribe":"POST https://botsrated.com/v1/subscribe/data-pro (x402)"},{"plan":"custom","price_usd_per_30_days":"499+","includes":"Custom volume or bulk delivery, with support terms agreed per contract. Write to botsrated@gmail.com.","contact":"botsrated@gmail.com"}],"webhooks":{"delivery":"POST JSON to your webhook_url; no email.","signature":"Headers X-BotsRated-Key-Id (botsrated-prober-1), X-BotsRated-Timestamp, X-BotsRated-Signature: base64 ed25519 signature over the canonical JSON {\"m\":\"<timestamp>.<raw body>\"} (that is, JSON.stringify({ m: timestamp + \".\" + rawBody })). The X-BotsRated-Signed header repeats this rule. Public key: /.well-known/botsrated-key. Reject timestamps older than 5 minutes.","verification":"At subscribe time we POST {type:'botsrated.verify', challenge}; answer 2xx with the challenge in the body. https on a public DNS name only, no redirects."},"client_note":"x402 client libraries cap single payments by default (for example @x402/fetch spendControls.maxAmountPerPayment is $1). Raise that cap to the plan price ($29 for alerts-50) for the subscribe call only, before the 402, or your client refuses it. The webhook is verified on the unpaid request, before any 402.","start_here":"alerts-50: $29 USDC per 30 days, up to 50 seller hosts. Signed webhook on payTo, quoted price, valid 402 (lost/regained), delisted/relisted or stale; the same token reads /v1/check and /v1/report for those hosts (60 requests/min). alerts-10 ($9, 10 hosts) is the same plan for a smaller list.","same_price_note":"Two plans cost $49 and do different jobs: data-starter = BotsRated data token for /v1/check and /v1/report on all hosts without per-call payment (60 requests/min); botpulse-business = BotPulse infra digest delivery to up to 5 endpoints incl. Discord. Neither includes the other.","webhook_only_note":"Alerts are webhook only (no email) on purpose: made for bots and servers, and every message is signed.","data_starter_note":"$49 = 49,000 checks at $0.001 or 24,500 reports at $0.002 (after the free daily allowance). Above that many paid calls in 30 days, data-starter costs less than per call.","manage":{"status":"GET https://botsrated.com/v1/subscription (Authorization: Bearer <token>)","update":"POST https://botsrated.com/v1/subscription/update {hosts, webhook_url} (BotPulse: {webhook_urls})","cancel":"POST https://botsrated.com/v1/subscription/cancel"}}