curl --request GET \
--url https://public-api.birdeye.so/wallet/v2/balance-change \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/wallet/v2/balance-change"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/wallet/v2/balance-change', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"time": "2026-10-13T00:00:00Z",
"block_number": 86000000,
"block_unix_time": 1791849600,
"address": "0x1111111111111111111111111111111111111111",
"token_account": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"tx_hash": "",
"pre_balance": "1000000000000000000",
"post_balance": "1000000000000000001",
"amount": "1",
"unverified_balance": false,
"token_info": {
"address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"decimals": 18,
"symbol": "ETH",
"name": "Ether",
"logo_uri": ""
},
"type": 1,
"type_text": "NATIVE",
"change_type": 1,
"change_type_text": "INCR"
}
]
}
}Wallet - Balance Change
Retrieve the balance change history of a wallet.
curl --request GET \
--url https://public-api.birdeye.so/wallet/v2/balance-change \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/wallet/v2/balance-change"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/wallet/v2/balance-change', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"time": "2026-10-13T00:00:00Z",
"block_number": 86000000,
"block_unix_time": 1791849600,
"address": "0x1111111111111111111111111111111111111111",
"token_account": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"tx_hash": "",
"pre_balance": "1000000000000000000",
"post_balance": "1000000000000000001",
"amount": "1",
"unverified_balance": false,
"token_info": {
"address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"decimals": 18,
"symbol": "ETH",
"name": "Ether",
"logo_uri": ""
},
"type": 1,
"type_text": "NATIVE",
"change_type": 1,
"change_type_text": "INCR"
}
]
}
}- Usage Note
- Accessibility
- Chain Supported
Balance-delta history for one Solana wallet.
- Filter by
token_addresswhen you want one token only, or omit it for broader wallet activity. token_typeandchange_typenarrow the result to the asset class and change direction you care about.time_fromandtime_tolet you constrain the review window.- Pagination uses
offsetup to10,000andlimitup to100. ui_amount_mode=scaledapplies Solana Token-2022 scaled UI amount when the token supports the scaled UI extension.
Reading the numbers. Balance-change rows explain how a wallet’s token balance moved over time, which token changed, and by how much after decimal or scaled UI normalization.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
10 CUper request.
Use Cases 💡
Use Cases 💡
- Review how a wallet accumulated, distributed, or rotated tokens over time.
- Power audit trails, treasury monitoring, and operator activity review.
- Isolate changes for one token before drilling into transfer-level events.
How to Use 🛠️
How to Use 🛠️
- Set
x-chain=solana. - Pass the wallet address in
wallet. - Add
token_address,token_type, orchange_typewhen you need a narrower slice. - Use
time_fromandtime_tofor bounded investigations. - Page through results with
offsetandlimit.
Best Practices ✅
Best Practices ✅
- Start broad, then add token and change filters once you see the wallet’s activity pattern.
- Use this endpoint to find the interesting timestamps, then pair it with transfer endpoints for exact movement details.
- Keep
ui_amount_modealigned with other Solana Token-2022 analysis for consistent quantities.
Limitations ⚠️
Limitations ⚠️
- Solana only.
- Offset pagination tops out at
10,000.
Authorizations
API key for authentication
Headers
Solana or Robinhood. Robinhood supports balance-change, current-net-worth, V1/V2 token balance and /defi/v3/token/holder. Other wallet history and transfer endpoints have separate chain support.
solana, robinhood Query Parameters
The address of the account.
The address of the token contract.
Specify the start time using unix timestamps in seconds
0 <= x <= 10000000000Specify the end time using unix timestamps in seconds
0 <= x <= 10000000000Solana: SOL or SPL. Robinhood: NATIVE or TOKEN. Omit to include all supported token types.
SOL, SPL, NATIVE, TOKEN increase, decrease Make sure offset <= 10000
0 <= x <= 100001 <= x <= 100Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
raw, scaled Was this page helpful?

