Bitcoin Balance API
  • Bitcoin Balance API
  • Payments
  • Error Codes
  • Postman
  • Endpoints
    • Balance
    • UTXO
Powered by GitBook
On this page
  • Make a request (testnet)
  • Make a request (mainnet)
  • Response
  1. Endpoints

UTXO

Get all unspent UTXO of an address

PreviousBalance

Last updated 2 months ago

Make a request (testnet)

The utxolimit is 500 transactions for each address. Contact us if you need more.

The best way to interact with our API:

curl https://api-testnet.bitcoin-balance-api.com/v1/utxo/mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ  
(async () => {
  try {
    const res = await fetch('https://api-testnet.bitcoin-balance-api.com/v1/utxo/mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ');

    const response = await res.json();
    console.log(`Bitcoin Balance: ${response.balance}`);

  } catch (err) {
    console.log(err.message); //can be console.error
  }
})();
import requests
import json

address = "mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ"

s = requests.Session()
r = s.get('https://api-testnet.bitcoin-balance-api.com/v1/utxo/%s' % (address))

if r.status_code == 200:
    response = json.loads(r.content)
    print(f'Bitcoin Balance: %s' % (response['balance']))
use LWP::UserAgent;
use JSON;

my $request = LWP::UserAgent->new()->get(
        "https://api-testnet.bitcoin-balance-api.com/v1/utxo/mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ"
);
my $response = decode_json($request->content);
print "Bitcoin Balance: $response->{'balance'}";
require "net/https"
require "json"

url = URI.parse("https://api-testnet.bitcoin-balance-api.com/v1/utxo/mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ")
req = Net::HTTP::Get.new(url.path)
res = Net::HTTP.new(url.host, url.port)
res.use_ssl = true
request = res.get(url.request_uri)
response = JSON.parse(request.body)
puts("Bitcoin Balance: #{response['balance']}")

Make a request (mainnet)

For mainnet a valid apikey is needed and needs to be send as a query parameter. You can for testing the api. The correct url for mainnet is:

https://api.bitcoin-balance-api.com/v1/utxo/mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ?apikey=$SECRET

Where $SECRET needs to be replaced with your own apikey.

Response

The response from the api contains two fields, status and utxo. When status is 200 the request was successful and it will contain an array of the utxo. E.g.:

{ "status": 200, "utxo": [{"txid": "07c9ab25dd88b9bb81e0d0f720df70f4642009fb205b0a63af3f5ca96a2e2e0c", "vout": 0, "status": {"confirmed": true, "block_height": 3924924, "block_hash": "0000000000443e317917844329700a8f7ff32992560b0f728a2874a1f037fff9", "block_time": 1740913388}, "value": 23592760}] }

The status field can contain different responses like depending on the request.

create a temporary mainnet api key
400, 401, 404, 422 or 500
Page cover image