curl --request GET \
--url https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos \
--header 'api-key: <api-key>'import requests
url = "https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos"
headers = {"api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'api-key': '<api-key>'}};
fetch('https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos")
.header("api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"address": "bc1pkh05juaxqc3d388klrjq8msszzzfr33nnn5kt2na00jja3mue89q5wxvew",
"height": 867154,
"inscriptions": [],
"mempool": false,
"runes": [
{
"amount": "2000",
"rune_id": "867138:1861"
}
],
"satoshis": "546",
"script_pubkey": "5120b5df4973a60622d89cf6f8e403ee10108491c6339ce965aa7d7be52ec77cc9ca",
"txid": "e60e70271cce70df4cc1f9d0217d7cc9cbced26f0526c6ba946945cd155b49e4",
"vout": 0
},
{
"address": "bc1pkh05juaxqc3d388klrjq8msszzzfr33nnn5kt2na00jja3mue89q5wxvew",
"height": 867155,
"inscriptions": [
{
"inscription_id": "47bb5438d366863b25b4b1782af0d0cf0a89a922adce5da81253790d3e651501i0",
"offset": 0
}
],
"mempool": true,
"runes": [
{
"amount": "44000",
"rune_id": "867138:1861"
}
],
"satoshis": "546",
"script_pubkey": "5120b5df4973a60622d89cf6f8e403ee10108491c6339ce965aa7d7be52ec77cc9ca",
"txid": "9f00f52bc6e9d95797e5597ea50427258ba873df059b13a319f0868ca9da1265",
"vout": 0
}
],
"indexer_info": {
"chain_tip": {
"block_hash": "00000000000000000002da06787fe86324e1cc1421861d899b7bd1e340aa1930",
"block_height": 867154
},
"estimated_blocks": [
{
"block_height": 867155,
"sats_per_vb": {
"max": 16,
"median": 14,
"min": 12
}
}
],
"mempool_timestamp": "2025-01-06 16:43:32"
},
"next_cursor": null
}UTxOs by Address (Mempool-aware)
Get UTXOs for a Bitcoin address with real-time mempool awareness including pending transactions.
curl --request GET \
--url https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos \
--header 'api-key: <api-key>'import requests
url = "https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos"
headers = {"api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'api-key': '<api-key>'}};
fetch('https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos")
.header("api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://xbt-mainnet.gomaestro-api.org/v0/mempool/addresses/{address}/utxos")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"address": "bc1pkh05juaxqc3d388klrjq8msszzzfr33nnn5kt2na00jja3mue89q5wxvew",
"height": 867154,
"inscriptions": [],
"mempool": false,
"runes": [
{
"amount": "2000",
"rune_id": "867138:1861"
}
],
"satoshis": "546",
"script_pubkey": "5120b5df4973a60622d89cf6f8e403ee10108491c6339ce965aa7d7be52ec77cc9ca",
"txid": "e60e70271cce70df4cc1f9d0217d7cc9cbced26f0526c6ba946945cd155b49e4",
"vout": 0
},
{
"address": "bc1pkh05juaxqc3d388klrjq8msszzzfr33nnn5kt2na00jja3mue89q5wxvew",
"height": 867155,
"inscriptions": [
{
"inscription_id": "47bb5438d366863b25b4b1782af0d0cf0a89a922adce5da81253790d3e651501i0",
"offset": 0
}
],
"mempool": true,
"runes": [
{
"amount": "44000",
"rune_id": "867138:1861"
}
],
"satoshis": "546",
"script_pubkey": "5120b5df4973a60622d89cf6f8e403ee10108491c6339ce965aa7d7be52ec77cc9ca",
"txid": "9f00f52bc6e9d95797e5597ea50427258ba873df059b13a319f0868ca9da1265",
"vout": 0
}
],
"indexer_info": {
"chain_tip": {
"block_hash": "00000000000000000002da06787fe86324e1cc1421861d899b7bd1e340aa1930",
"block_height": 867154
},
"estimated_blocks": [
{
"block_height": 867155,
"sats_per_vb": {
"max": 16,
"median": 14,
"min": 12
}
}
],
"mempool_timestamp": "2025-01-06 16:43:32"
},
"next_cursor": null
}Authorizations
Project API Key
Path Parameters
Bitcoin address or hex encoded script pubkey
Query Parameters
Ignore UTxOs containing less than 100000 sats
Ignore UTxOs containing less than specified satoshis
x >= 0Exclude UTxOs involved in metaprotocols (currently only runes and inscriptions will be discovered, more metaprotocols may be supported in future)
When used with exclude_metaprotocols=true, still include UTXOs which only contain used BRC20 inscriptions
The max number of results per page
x >= 0The order in which the results are sorted (by height at which UTxO was produced)
asc, desc Return only UTxOs created on or after a specific height
x >= 0Return only UTxOs created on or before a specific height
x >= 0Limit the number of estimated mempool blocks to be reflected in the data (default: as many as available)
x >= 0Pagination cursor string, use the cursor included in a page of results to fetch the next page
Was this page helpful?

