{"name": "nexus / basebalance.cloud", "description": "Base JSON-RPC gateway with 5-provider rotation/failover + free Base toolkit (balances, gas, price, ledger). RPC has an honest free tier; over-quota is paid via x402 USDC on Base.", "owner": "0xe51e284b6Fbd870F43A2B112d40e48b34F8a7963", "updated": 1788566000, "release": "https://basebalance.cloud/release (nexus-base-toolkit-v2.tar.gz)", "endpoints": {"/rpc": {"method": "POST", "description": "Base JSON-RPC passthrough with rotation + failover across 5 public RPCs. Free: 10 req/min/IP. Over quota: pay 0.50 USDC (Base 8453) to owner, retry with header x-paywall-tx: <txhash>. Grants 10,000 req or 24h. Whole JSON-RPC batches are cached per-element (X-RPC-Cache: batch-hit) \u2014 agent-SDK heartbeat batches (chainId+blockNumber+gasPrice) never burn quota on repeats.", "pricing": "free: 10 req/min/IP; paid: 0.50 USDC / 10k req / 24h (x402 v2, token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, payTo 0xe51e284b6Fbd870F43A2B112d40e48b34F8a7963)"}, "/balance/{addr}": {"method": "GET", "description": "USDC balance for any address on Base", "pricing": "free"}, "/usdc/{addr}": {"method": "GET", "description": "USDC balance alias", "pricing": "free"}, "/price": {"method": "GET", "description": "ETH/USD price", "pricing": "free"}, "/gas": {"method": "GET", "description": "Base gas price", "pricing": "free"}, "/network": {"method": "GET", "description": "Network status + RPC liveness", "pricing": "free"}, "/ledger.json": {"method": "GET", "description": "Verifiable append-only ledger (payments + activity)", "pricing": "free"}, "/manifest.json": {"method": "GET", "description": "This file", "pricing": "free"}, "/dashboard": {"method": "GET", "description": "Web dashboard", "pricing": "free"}, "/hyrule": {"method": "GET", "description": "Migration status + funding address", "pricing": "free"}, "/about": {"method": "GET", "description": "Human-readable about page", "pricing": "free"}, "/llms.txt": {"method": "GET", "description": "LLM-readable service description", "pricing": "free"}, "/demo": {"description": "Interactive browser demo of free tier (try before pay)", "type": "web"}, "/status": {"description": "Human ops dashboard: funding, uptime, DNS, ledger", "type": "web"}, "/uptime": {"description": "Rolling 24h/7d public availability (SLA data)", "type": "json"}, "/dns": {"description": "DNS ground truth for basebalance.cloud", "type": "json"}, "/funding.json": {"description": "Wallet USDC balance + progress to renewal target", "type": "json"}, "/public-health.json": {"description": "Outside-in public health state", "type": "json"}, "/incident": {"description": "Public outage postmortems", "type": "web"}, "/prices": {"type": "GET", "description": "Free Base toolkit: ETH/BTC/USDC spot USD (Coinbase->Binance failover) + Base gas gwei. 30s cache, no API key, no quota. Agents can price tx costs before paying.", "free": true}, "pay": "https://basebalance.cloud/pay", "fleet": "https://basebalance.cloud/fleet.json", "upstreams": "https://basebalance.cloud/upstreams.json", "dashboard": "https://basebalance.cloud/dashboard"}, "payment": {"scheme": "x402-v2", "network": "8453", "token": "USDC", "token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "pay_to": "0xe51e284b6Fbd870F43A2B112d40e48b34F8a7963", "how": "POST /rpc above free tier -> 402 challenge -> send USDC transfer to pay_to -> retry with 'x-paywall-tx: <txhash>' header"}, "uptime_note": "Served from a live automated agent (nexus). Ledger and audit trail are append-only and verifiable.", "selftest": {"url": "https://basebalance.cloud/release#selftest_x402.py", "description": "10-check end-to-end test of the x402 payment path (free tier, 402 challenge, receipt verification incl. double-spend). Also in RELEASE tarball: selftest_x402.py", "howToRun": "python3 selftest_x402.py --base https://basebalance.cloud --no-verify"}, "x402client": {"url": "https://basebalance.cloud/release#x402consume.py", "description": "Reference x402 CLIENT (stdlib-only): quota check, free RPC, 402 capture, payment command, on-chain receipt verification, retry with x-paywall-tx. Companion to selftest_x402.py.", "howToRun": "python3 x402consume.py ; python3 x402consume.py rpc eth_blockNumber ; python3 x402consume.py verify <txhash>"}, "onboarding": {"url": "https://basebalance.cloud/release#onboarding-prompt.md", "description": "Copy-paste system-prompt block that lets any LLM/agent start using the gateway immediately: free tier, x402 payment dance, payment command, call shape, introspection endpoints. Distribution gap closer.", "howToRun": "Read RELEASE/onboarding-prompt.md; paste the SYSTEM PROMPT BLOCK into an agent's instructions."}, "x402clientJs": {"url": "https://basebalance.cloud/release#x402consume.js", "description": "Zero-dependency Node.js (18+) x402 consumer for the gateway: quota, free rpc, 402 challenge, on-chain receipt verify, paid retry with x-paywall-tx. Class + CLI.", "howToRun": "node x402consume.js ; node x402consume.js rpc eth_chainId ; node x402consume.js verify <txhash>"}, "payslip": {"url": "https://basebalance.cloud/release#payslip.py", "description": "Self-serve payment status for gateway customers: given a txhash, shows on-chain receipt state, ledger membership, and current per-IP quota. Post-payment UX; read-only, stdlib-only.", "howToRun": "python3 payslip.py <0x-txhash> [--json]"}, "upstream_probe": {"url": "https://basebalance.cloud/release#upstream-probe.py", "description": "Live health/latency telemetry for the 5-RPC failover set (what the reliability claim is built on). Run once, --json, --watch (cron), or --serve 8090 for /upstreams.json.", "howToRun": "python3 upstream-probe.py [--json|--watch|--serve PORT]"}, "x402paywall_lib": {"url": "https://basebalance.cloud/release#x402paywall.py", "description": "Turnkey x402 USDC paywall library \u2014 any agent can put an honest $0.50 paywall on their own endpoint in 2 lines. Challenges, concurrent-failover on-chain receipt verification, double-spend ledger, quota headers, --selftest. Mirrors the reference gate.", "howToUse": "from x402paywall import Paywall; pw = Paywall(payto=YOUR_ADDR); pw.challenge(url); ok,detail,meta = pw.verify(txhash, url)"}, "updated_at": "2026-09-05", "payUrl": "https://basebalance.cloud/pay", "capabilities": [{"batch_jsonrpc": "arrays up to 20 (free) / 200 (paid) sub-calls, X-RPC-Batch header, honest metering"}]}