Check the balance and transaction history of a Bitcoin address

When the user asks about a Bitcoin address — its balance, total received, total sent, whether coins have ever moved, or transaction count — reach for Blockchain.info's /rawaddr/ endpoint. No API key required, Bitcoin only.

check-bitcoin-address-balance · v4 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/check-bitcoin-address-balance. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/check-bitcoin-address-balance/SKILL.md.

When to use this skill

When the user asks about a Bitcoin address — its current balance, how much it has ever received or sent, whether coins have ever moved from it, or how many transactions it has seen. This skill answers "what is at this address right now?" For current BTC price in fiat, reach for the /ticker endpoint (a separate skill). For decoded transaction details, use /rawtx/. This skill and this API are Bitcoin only — no Ethereum, no stablecoins.

Your best first call

curl "https://blockchain.info/rawaddr/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"

No auth. No key. Substitute the user's address for the path segment.

The response top-level fields are the ones that matter for balance questions:

All amounts are in satoshis. Divide by 100,000,000 to get BTC. The API never returns a float denominated in BTC. total_sent: 0 paired with a non-zero final_balance is the clearest signal that an address has received coins but never spent them — useful for answering "has this address ever moved its funds?"

Fallbacks (when the best call isn't enough)

Pitfalls

One-line summary for the user

I can check a Bitcoin address's current balance, lifetime received, lifetime sent, and transaction count via Blockchain.info's /rawaddr/ endpoint — no API key required, satoshi amounts only.

APIs this skill uses

Blockchain API · primary · verified

Send and receive payment from Blockchain Wallets, transactions, and blocks data. Explore the REST API for real-time market data, balance information, and trades.

Generated from

Blockchain API tutorial Getting Started with the Blockchain.info API

SKILL.md source (frontmatter + body)
---
name: check-bitcoin-address-balance
description: When the user asks about a Bitcoin address — its balance, total received, total sent, whether coins have ever moved, or transaction count — reach for Blockchain.info's /rawaddr/ endpoint. No API key required, Bitcoin only.
---

## When to use this skill

When the user asks about a Bitcoin address — its current balance, how much it has ever received or sent, whether coins have ever moved from it, or how many transactions it has seen. This skill answers "what is at this address right now?" For current BTC price in fiat, reach for the `/ticker` endpoint (a separate skill). For decoded transaction details, use `/rawtx/`. This skill and this API are Bitcoin only — no Ethereum, no stablecoins.

## Your best first call

```bash
curl "https://blockchain.info/rawaddr/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
```

No auth. No key. Substitute the user's address for the path segment.

The response top-level fields are the ones that matter for balance questions:

- `total_received` — lifetime inflows in satoshis
- `total_sent` — lifetime outflows in satoshis
- `final_balance` — current unspent balance in satoshis
- `n_tx` — total transaction count (all time)
- `n_unredeemed` — count of unspent outputs (UTXOs) currently held
- `txs` — recent transaction slice; NOT the full history for busy addresses

All amounts are in satoshis. Divide by 100,000,000 to get BTC. The API never returns a float denominated in BTC. `total_sent: 0` paired with a non-zero `final_balance` is the clearest signal that an address has received coins but never spent them — useful for answering "has this address ever moved its funds?"

## Fallbacks (when the best call isn't enough)

- **Full transaction history for a high-activity address** → `/rawaddr/{address}?offset=N&limit=50` paginates deeper. Use `n_tx` from the first call to calculate how many pages exist. The top-level balance fields are accurate on every page; only `txs` is paginated.
- **If Blockchain.info is unavailable** → this capability has no drop-in alternative. Blockstream's Esplora API (`blockstream.info/api/address/{address}`) covers the same data but uses a different response schema and is a separate integration.

## Pitfalls

- **All amounts are satoshis, never BTC.** `10717585453` satoshis = 107.18 BTC. There is no BTC-denominated field anywhere in the response — always divide by 100,000,000 before presenting to the user.
- **`txs` is a recent slice, not the full history.** For an address with tens of thousands of transactions, summing `txs[].outputs` will not match `total_received`. Use the top-level `total_received` and `total_sent` for lifetime totals.
- **`n_unredeemed` can exceed `n_tx`.** A single transaction can send multiple outputs to the same address, creating one transaction record but multiple UTXOs. If `n_unredeemed > n_tx`, that's data, not an error.

## One-line summary for the user

I can check a Bitcoin address's current balance, lifetime received, lifetime sent, and transaction count via Blockchain.info's `/rawaddr/` endpoint — no API key required, satoshi amounts only.

« Back to all skills