v0.1 surface. Everything under /v1 requires Authorization: Bearer <key>.
Authorization: Bearer bx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Or, for browser convenience (not recommended in production): ?api_key=...
| Status | Meaning |
|---|---|
401 | missing or invalid API key |
429 | per-minute rate limit exceeded; respect Retry-After |
403 | JSON-RPC method not on allowlist |
$ curl -H "Authorization: Bearer $KEY" https://rpc.minebtx.com/v1/blocks/tip/height
123456
Returns the block hash at height n.
Returns the full block at verbosity 1 (header + txids).
Returns the block header (verbose JSON form).
Returns aggregated stats for the block. Accepts hex hash or height.
Returns the verbose tx form. Note: rpc.minebtx.com does not maintain -txindex; historical (non-mempool) lookups by txid alone will return 404. Use /v1/block/:hash if you have the containing block.
Returns {"spent": bool}.
Body: raw hex string, or {"hex":"..."}. Returns {"txid":"..."} on success.
Summary stats (size, bytes, fees).
Top 50 recent mempool entries, each with txid, fee_sat, vsize, time.
Returns mempool.space-shaped fastestFee / halfHourFee / hourFee / economyFee / minimumFee in sat/vB. BTX traffic is typically light so all bands collapse to mempoolminfee.
Current matmul challenge for solving a block (mining clients).
Anti-bot service challenge (HTTP captcha integrators).
Currently a stub. Returns available:false until the deterministic model price wire-up lands (v0.5).
Bundles getblockchaininfo, getnetworkinfo, and getmininginfo in one call.
$ curl -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"method":"getblockchaininfo","params":[],"id":1}' \
https://rpc.minebtx.com/v1/jsonrpc
For bitcoind-compatible tooling. Method must be on the public allowlist (read-only chain/mempool/tx by default). Non-allowed methods return 403 with JSON-RPC error code -32601.
wss://rpc.minebtx.com/v1/ws?api_key=$KEY
After upgrade, send a subscription envelope as the first message:
{"action": "want", "data": ["blocks", "mempool"]}
Server pushes events as JSON: {"type": "new-block", "data": {"hash": "...", "height": 12345}}
Per-key concurrent connection caps: Free=1, Starter=3, Pro=10, Enterprise=50.
Mempool-aware estimator. Returns target-block sat/vB for 1/3/6/24 block targets plus p10/p50/p90 percentiles weighted by vsize.
{
"mempool_vsize": 62361,
"mempool_txs": 1,
"target_blocks": {"1": 3, "3": 3, "6": 3, "24": 3},
"percentiles": {"p10": 3, "p50": 3, "p90": 3},
"floor_satvb": 1
}
{"url": "https://your.app/hook", "subscriptions": ["new-block","mempool-info"]}
Returns an HMAC signing secret once. Every delivery includes X-Webhook-Signature-256: sha256=<hex> computed over the body using your secret. Retries with exponential backoff (1, 2, 4, 8, 16, 32, 64, 128s) before dead-lettering after 8 failed attempts.
Requires Starter tier or higher. Caps: Starter=10, Pro=100, Enterprise=100K.
{"addresses": ["btx1z..."], "label": "optional"}
Paginated event log of incoming outputs to the watched address. Combine with webhooks for push delivery, or poll directly.
BTX-anchored alternative to Cloudflare Turnstile. Each verified proof costs a small amount of BTX matmul-nonce work, deters bots without tokens or scripts.
Returns an issuance envelope: {issuance_id, challenge, ttl_seconds, verify_url}. Drop the challenge into your HTML form; have the client solve it.
{"proof": {...}, "issuance_id": "..."}
Returns {"valid": true, "ticket": ...} if the proof verifies on-chain, else {"valid": false, "reason": ...}.
No-signup auth. Solve a matmul service-challenge, redeem the proof, get a short-lived API token. Token is good for 1000 requests over 24h on the Free tier rate limit. Same chain-anchored PoW the consensus uses — the first RPC service gated by its own chain's PoW primitive.
Returns a matmul challenge envelope. No auth needed.
{"proof": {...}}
Returns {"token": "bx_challenge_...", "expires_at": "...", "requests_budget": 1000}. Use the returned token as Authorization: Bearer ... for any /v1/* endpoint.
Hourly rolled-up samples for BTX network state. Free tier: last 24h. Starter: last 30d. Pro+: full history.
Lists available metrics.
Metrics: chain.tip_height, chain.difficulty, network.hashrate_nps, mempool.tx_count, mempool.vsize, mempool.total_fee_sat, shielded.pool_size.
Intervals: raw (5-min), 1h (default).
$ curl -H "Authorization: Bearer $KEY" \
"https://rpc.minebtx.com/v1/btx/timeseries/shielded.pool_size?interval=1h&from=2026-05-20T00:00:00Z"
Returns recent non-active chain tips observed via getchaintips on a 5-minute poll. Useful for confirmation-tracking clients that want to know when a block they relied on got orphaned.
Reduce request count for wallets refreshing many addresses or analytics pulling many txes. Tier-gated: Starter 25, Pro 250, Enterprise 5000.
{"addresses": ["btx1...", "btx1..."]}
Returns {"results": [{"address":"...","ok":true,"data":{...}}, ...]}. Indexed via the explorer over loopback.
{"txids": ["abc...", "def..."]}
The subscription envelope now accepts a filters object:
{"action": "want", "data": ["blocks", "mempool"], "filters": {
"min_mempool_tx_count": 10
}}
Only emits mempool-info events when mempool tx count exceeds the threshold. Reduces client-side noise during typical light-mempool windows.
If the rpc-server is configured with a regtest btxd, free dev/test endpoints are available under /v1/sandbox/*. Requires any valid API key but doesn't bill. Perfect for testing tx construction against a fast, no-fee chain.
All errors return JSON: {"error": "<message>"} with the appropriate HTTP status.
| Status | Meaning |
|---|---|
401 | missing or invalid API key |
402 | feature requires paid tier |
403 | JSON-RPC method not on allowlist |
404 | resource not found |
413 | bulk batch too large for tier |
429 | rate limited — respect Retry-After |
503 | upstream dependency (btxd, explorer, regtest) unreachable |