Query the chain · Ordinals API
Ordinals API: query Bitcoin ordinals, inscriptions, BRC-20 tokens and Runes data
Ordinals data is not a field you can read off a Bitcoin transaction. An inscription is a payload committed inside the witness of a Taproot spend, wrapped in an envelope that has to be parsed out of the script, and the sat it rides on only carries a number because ordinal theory assigns one to every satoshi in the order it was mined. Rebuilding that from raw blocks means replaying the chain and tracking which output holds which sat range, which is why teams end up running a dedicated indexer next to their node. This ordinals API does that work once. A call returns the inscription ID and number, its content type and bytes, the sat it sits on, the address holding it now, and every transfer since it was created.
REST API · SQL · dashboards · indexed from genesis
Hit Run to query the fully-indexed Bitcoin blockchain.
BTC
30-day trend
informational on-chain data · not financial advice
The same index covers the two fungible protocols built on top, and they work nothing alike. BRC-20 is JSON inscribed as text, so balances are not on-chain state at all: an indexer has to apply the deploy, mint and transfer rules in order and compute who owns what, which is exactly why two providers can report different balances for the same wallet. Runes instead encodes a runestone in an OP_RETURN output and attaches balances directly to UTXOs, so a rune balance is a property of an output rather than of an address. We expose both, plus the raw events behind them, so any number you show a user can be audited back to the transaction that produced it. Note for teams re-platforming: Hiro deprecated its Ordinals, Runes and BRC-20 APIs on March 9, 2026 and pointed developers at Xverse, so this is a query-first alternative that also gives you SQL against the same dataset. Informational on-chain data only. We do not value collectibles, quote markets or give investment advice.
Indexed from genesis queryable in seconds
On-chain data not financial advice
Why it works
What you get with Ordinals API
Inscriptions parsed, not guessed
Every inscription envelope is pulled out of the Taproot witness where it was committed, so you get the content type and the actual bytes, the inscription ID and number, the sat it is attached to, and the address that currently controls the output holding it. Transfers are ordinary UTXO movements, so the provenance chain comes back as a list of transactions with block heights rather than a single current owner.
BRC-20 and Runes on one index
BRC-20 balances are computed by replaying deploy, mint and transfer inscriptions in block order, and we return the underlying events alongside the totals so you can check the arithmetic yourself. Runes balances are read from the runestone in the OP_RETURN output and tracked per UTXO, with malformed runestones reported honestly as cenotaphs rather than silently dropped.
SQL for questions REST cannot answer
Holder distribution across a collection, mint velocity by block, how much of a rune supply sits in a handful of outputs, or which inscriptions moved after a given height: these are aggregate questions, not lookups. Run them as SQL against the indexed chain and export the result to CSV, instead of paging thousands of REST calls to build the same table.
What it handles
The indexed Bitcoin chain, queryable your way
Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.
- Look up an inscription by ID, by number or by the sat it rides on
- Fetch inscription content and content type without hosting the media yourself
- List every inscription currently held by an address or a wallet
- Follow an inscription transfer history back to the reveal transaction
- Read BRC-20 deploy, mint and transfer events plus computed balances
- Track Runes balances per UTXO, with rune IDs in BLOCK:TX form
- Aggregate holder distribution and mint activity in SQL
- Pin any ordinals query to a block height so results are reproducible
{
"address": "bc1qxy2k…l0wdv8",
"balance_btc": 68432.10,
"balance_usd": 4612165420,
"tx_count": 1284,
"unspent_outputs": 37,
"first_seen": "2014-02-09"
}
Why BitcoinDatabase
One platform, queryable three ways
Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.
REST API
Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or our SDKs.
SQL access
Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.
Compliance-first
Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.
Good questions
Questions about Ordinals API
Explore more
More ways to query Bitcoin with BitcoinDatabase
Bitcoin API
Query addresses, transactions and balances across the whole indexed chain in one call.
Learn moreBitcoin block explorer API
Power an explorer with blocks, transactions and addresses, no node to maintain.
Learn moreBitcoin address lookup
Look up any Bitcoin address: balance, full history and UTXOs in one query.
Learn moreBitcoin historical data API
Full-depth history: every block, transaction and metric back to 2009.
Learn moreBitcoin transaction API
Pull any transaction with inputs, outputs, fees and confirmations.
Learn moreBitcoin data API
One API for chain data, balances, metrics and market history.
Learn moreStop running a node. Just query Bitcoin.
Run your first query now and get on-chain data back by REST API, SQL or dashboard, indexed from the genesis block. Informational on-chain data only, not financial advice.
Indexed from genesis · REST · SQL · dashboards · addresses, transactions, UTXOs, metrics