Providers

Mempool

mempool.space for Bitcoin, litecoinspace.org for Litecoin, peppool.space for Pepecoin. Fee recommendations in sat/vB, OP_RETURN payloads decoded, no key.
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 UnsupportedOperationError even though the provider advertises them elsewhere.
  • Peppool paginates confirmed history with ?after_txid=, not Esplora's /txs/chain/:txid route, and the provider knows which host it is talking to.
  • OP_RETURN pushes are decoded from every output. hex is always there; text appears only when the bytes are printable UTF-8, so Runes and Omni carriers never become mojibake.
  • Fee units are sat/vB on Bitcoin and litoshi/vB on 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.

@agntn/explorers·MIT license· Read-only. Addresses you type go to a public explorer API, never to a wallet.