ORD/api — one REST interface, 12 chains

Read blockchain data from twelve nodes — Litecoin, Dogecoin, Bitcoin, BSV, BCH, Namecoin, Ravencoin and more — through a single unified, keyless REST API.

Free Read-only 12 chains · 40+ endpoints

Quickstart

No sign-up, no key. Pick a chain and call an endpoint. The base URL is https://api.ordnet.io/v1.

bash
# Get Litecoin chain info — no API key needed curl -fsS https://api.ordnet.io/v1/ltc/chain/info | jq . # Get a Dogecoin block by height curl -fsS https://api.ordnet.io/v1/doge/block/height/5000000 | jq . # List every supported chain with live height curl -fsS https://api.ordnet.io/v1/chains | jq . # Invalid input returns a clean 4xx (never a 500) curl -i https://api.ordnet.io/v1/notachain/chain/info curl -i https://api.ordnet.io/v1/doge/block/height/not-a-number

Authentication

No API key required. The ORDnet API is publicly available for read-only blockchain data, free to use. There is nothing to register and no token to send.

Please keep requests within reasonable rates so the free service stays fast for everyone. Heavy or automated traffic may be rate-limited (see below). The only state-changing endpoint is POST /{chain}/tx/broadcast — everything else is read-only.

Fair use & rate limits

Keyless and free, kept healthy with fair-use limits per IP. When you exceed a limit the API responds with 429 Too Many Requests and a Retry-After header — back off and retry after the given number of seconds.

TierLimitApplies to
Standard60 req / min / IPchain info, blocks, tx, address, mempool, network
Heavy10 req / min / IPraw block, full address history, mempool dumps, broadcast
http
HTTP/1.1 429 Too Many Requests Retry-After: 30 Content-Type: application/problem+json

Supported chains

Twelve nodes behind one interface. Use the {chain} path segment (lowercase ticker) to target a network, or call /chains for the live list.

Response format

Every successful response is application/json, UTF-8 encoded. Amounts are returned in whole coin units as decimals (e.g. 125.40000000), block times are Unix seconds, and hashes are lowercase hex. Errors use application/problem+json (see below).

Error format

Errors follow RFC 9457 — Problem Details for HTTP APIs. Invalid input always returns a clean 4xx with a machine-readable body — never a raw stack trace or HTML error.

json
{ "type": "https://api.ordnet.io/problems/invalid-chain", "title": "Invalid chain", "status": 400, "detail": "Chain 'foo' is not supported.", "instance": "/v1/foo/chain/info" }
StatusMeaning
400Invalid chain or malformed parameter (e.g. non-numeric height)
404Resource not found (unknown block, tx or route)
429Rate limit exceeded — includes Retry-After
503Node temporarily unavailable
500Internal error — still returned as a problem body, never HTML

Broadcast safety

POST /{chain}/tx/broadcast is state-changing. It submits a real transaction to a live network. Treat it differently from every read-only endpoint.

Recommended flow before any broadcast:

1. POST /{chain}/tx/decode — confirm the transaction decodes to what you expect.
2. POST /{chain}/tx/validate — dry-run; checks the node would accept it, returns fee and size, but does not broadcast.
3. POST /{chain}/tx/broadcast — only after validation, and only on an explicit user action.

Never call /tx/broadcast from automated tests or smoke checks. It is covered by the strictest rate-limit tier and has a maximum payload size.

OpenAPI & agents

The API is built to be consumed by tools, SDKs and AI agents without scraping these docs.

ResourcePurpose
GET /openapi.jsonOpenAPI 3.1 spec — the source of truth for SDK generation and tooling
GET /llms.txtPlain-text guide for LLM tooling: base URL, no-key, and which routes are state-changing
GET /chainsLive machine-readable list of supported chains and heights
For AI agents: do not call /tx/broadcast unless the user explicitly requests a broadcast. Validate first.