Data / RPC

Query Bitcoin UTXOs

Bitcoin has no account balances — you work with unspent outputs. Use standard Bitcoin Core RPC methods against our btc endpoint to inspect UTXOs and transactions. The calls are unchanged; you just swap the base URL and add a Bearer header.

Before you start
  • An API key (sk_live_...) with read access.
  • A Bitcoin txid, and the output index (vout) you want to inspect.

1Check a specific UTXO with gettxout

POST gettxout to /v1/rpc/btc with the txid and vout. If the output is unspent you get its value and scriptPubKey; if spent, the result is null.

curl https://api.1st-node.com/v1/rpc/btc \
  -H "Authorization: Bearer sk_live_..." \
  -d '{"method":"gettxout","params":["4a5e...9c2f",0]}'

2Read the UTXO result

value is in BTC and scriptPubKey describes the spending condition. A null result means the output has already been spent.

> {
>   "value": 0.0425,
>   "confirmations": 812,
>   "scriptPubKey": { "type": "witness_v0_keyhash", "address": "bc1q..." }
> }

3Fetch the full transaction

Use getrawtransaction with the verbose flag to get decoded inputs and outputs, so you can enumerate every vout of a transaction.

curl https://api.1st-node.com/v1/rpc/btc \
  -H "Authorization: Bearer sk_live_..." \
  -d '{"method":"getrawtransaction","params":["4a5e...9c2f",true]}'

Frequently asked

Are these standard Bitcoin Core methods?

Yes. gettxout, getrawtransaction and getblock are the standard Bitcoin Core RPC methods. Point them at /v1/rpc/btc with a Bearer header — no node to run.

How do I get all UTXOs for an address?

Bitcoin Core is transaction-indexed, not address-indexed. Enumerate outputs from an address's transactions, or use archive-depth history served from our own nodes.

Keep reading

Top up, get a key, ship.

Self-serve. Pay in crypto or card. Metered by credits — heavy primitives cost more, simple ones are cheap.

Get API key