blocknil

Bitcoin chain data over a key-gated REST API — and an Electrum endpoint for wallets. The calls most programs actually make, per-block and per-transaction analysis on top of them, and the wallet protocol served from the same index.

What it serves

Numbers are reported paged and exact. Where a figure cannot be computed exactly it is absent, never rounded down into something that looks authoritative.

Built for programs first

No rendered page is required to use this. The full contract is machine-readable:

GET /AGENTS.md      # how to register, authenticate, page, and handle errors
GET /llms.txt       # one-page index of the surface
GET /v1             # machine-readable endpoint descriptor
GET /v1/openapi.json
GET /v1/pricing      # plans and limits, as JSON

Registration is a request, not a form: no email, no CAPTCHA, no hosted checkout. A key comes back as JSON and is used as a bearer token.

curl -sX POST https://api.blocknil.com/v1/accounts \
  -H 'Idempotency-Key: my-first-key' -d '{}'

The browsable reference — every endpoint, its parameters, and a response captured from the service itself — is at /docs.

Electrum

Wallets connect over TLS to electrum.blocknil.com:50002. No key is needed: the Electrum protocol has no field for one, so connections are capped per source address (5) instead. It serves the same index as the REST API, with a 25,000-entry history limit per address. Per-account tokens arrive with billing.

Access

Pricing: the free tier is free — 1,000 requests a day, 120 a minute, no card. A production tier (100,000 requests a day) is defined but not yet priced; details at /v1/pricing.

Get a key: POST https://api.blocknil.com/v1/accounts — one request, no auth, no email. The key is shown once and stored only as a hash. Full steps in /AGENTS.md.

Status

Live tip and service health: /health