Fetch the balance of an internal (custodial) address for a specific token
curl --request GET \
--url https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance', 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://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"address": {
"id": "2VcUIIsgARwVbEGlIYbhg6fGG57",
"address": "73uyt9HkEqx9bThYXWaUBP67sWsiJEsyJ5rSCieDx5me"
},
"balance": {
"value": "100.00",
"currency": "SBC"
},
"transfer_type": "solana",
"value_type": "SBC"
}Addresses
Fetch the balance of an internal (custodial) address for a specific token
Returns balance data for a given address, chain, and token. Provide transfer_type and value_type as query parameters.
GET
/
accounts
/
{account_id}
/
addresses
/
{address_id}
/
balance
Fetch the balance of an internal (custodial) address for a specific token
curl --request GET \
--url https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance', 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://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brale.xyz/accounts/{account_id}/addresses/{address_id}/balance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"address": {
"id": "2VcUIIsgARwVbEGlIYbhg6fGG57",
"address": "73uyt9HkEqx9bThYXWaUBP67sWsiJEsyJ5rSCieDx5me"
},
"balance": {
"value": "100.00",
"currency": "SBC"
},
"transfer_type": "solana",
"value_type": "SBC"
}Use the playground below to try this endpoint directly, or review the OpenAPI details in the right panel.
Authorizations
Use the Bearer token returned from the Auth endpoint via OAuth2 client_credentials flow. Include the token in the "Authorization: Bearer " header.
Path Parameters
The ID of the account
Pattern:
^[a-zA-Z0-9]{26}$Example:
"2VcUIIsgARwVbEGlIYbhg6fGG57"
The ID of the address
Pattern:
^[a-zA-Z0-9]{26}$Example:
"2VcUIIsgARwVbEGlIYbhg6fGG57"
Query Parameters
The blockchain environment (e.g., Solana, Ethereum)
The stablecoin token or currency code
Response
200 - */*
The address details and balance info
Balance of one token on one chain for a specific wallet
Show child attributes
Show child attributes
Monetary value with explicit currency
Show child attributes
Show child attributes
Blockchain where the balance lives
Available options:
solana, ethereum, polygon, base, arbitrum, canton, avalanche, base_sepolia, sepolia, solana_devnet, tempo_testnet Example:
"solana"
Token ticker
Example:
"SBC"
Was this page helpful?