Mempool
- provider
- create("mempool")
- auth
- none
- chains
- Bitcoin, Litecoin, Pepecoin
- capabilities
- balance, history, tx detail, gas, block
- endpoint
- mempool.space
- default chain
- bitcoin
Address it
import { Mempool } from "@agntn/explorers/providers/mempool";
const mempool = new Mempool();
const history = await mempool.getTxHistory("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa", "bitcoin");
history[0]?.opReturn; // [{ hex, text? }] when the transaction carries one
Default chain Bitcoin. Litecoin goes to litecoinspace.org and Pepecoin to peppool.space, the same Esplora API on three hosts.
What it reads
/api/address/:address for the balance with funded and spent totals, /api/address/:address/txs for history, /api/tx/:hash for one transaction, /api/v1/fees/recommended for fees, and /api/blocks/:height for a block, which answers a page of blocks the provider searches for the exact height.
Gotchas
- Gas and blocks work on Bitcoin and Litecoin only. Peppool has no fee endpoint and does not return complete block metadata, so on Pepecoin those two throw
UnsupportedOperationErroreven though the provider advertises them elsewhere. - Peppool paginates confirmed history with
?after_txid=, not Esplora's/txs/chain/:txidroute, and the provider knows which host it is talking to. - OP_RETURN pushes are decoded from every output.
hexis always there;textappears only when the bytes are printable UTF-8, so Runes and Omni carriers never become mojibake. - Fee units are
sat/vBon Bitcoin andlitoshi/vBon Litecoin, and the unit is in the answer.
Where it lives
src/providers/mempool.ts, with the shared Esplora mapping in src/core/esplora.ts.
Blockchair
One dashboard API for Bitcoin, Ethereum and eCash. Works without a key, ranks higher with one, and is the only provider that names the block a balance was read at.
Blockstream
Bitcoin through Esplora at blockstream.info. An independent second backend for the same chain, so a Mempool outage is not your outage.