UTXO
Get all unspent UTXO of an address
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 create a temporary mainnet api key for testing the api. The correct url for mainnet is:
https://api.bitcoin-balance-api.com/v1/utxo/mqJpUp5yt3m5in6pMJEW7rN2SifGoFKTJQ?apikey=$SECRETWhere $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 400, 401, 404, 422 or 500 depending on the request.
Last updated