Blockchain - Token Accounts
curl --request GET \
--url https://public-api.birdeye.so/blockchain/v1/account/token-accounts \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/blockchain/v1/account/token-accounts"
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/blockchain/v1/account/token-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"token_account": "14TDbofLkZ9BMLmQrWiwawD9ngjo62auj5Axs3g3ed9",
"mint": "HdAUYdY3NFnDytViCkBdkX3pdP2KFHxJ7oaujiQfycN8",
"decimals": 0,
"amount": 1,
"state": "initialized"
},
{
"token_account": "17fAxkeEaGS1t4uMVeE2A2ifyqstMRf2eJ6MEh3YxNB",
"mint": "3aF8DcwKxyUjQkh1C2Xaf54d6rHAe3pWXiWVsPsQEXKQ",
"decimals": 6,
"amount": 157145478888,
"state": "initialized"
}
]
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}Account
Blockchain - Token Accounts
Returns token accounts owned by a Solana address. Omit state to return all states. hide_zero defaults to false.
GET
/
blockchain
/
v1
/
account
/
token-accounts
Blockchain - Token Accounts
curl --request GET \
--url https://public-api.birdeye.so/blockchain/v1/account/token-accounts \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/blockchain/v1/account/token-accounts"
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/blockchain/v1/account/token-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"token_account": "14TDbofLkZ9BMLmQrWiwawD9ngjo62auj5Axs3g3ed9",
"mint": "HdAUYdY3NFnDytViCkBdkX3pdP2KFHxJ7oaujiQfycN8",
"decimals": 0,
"amount": 1,
"state": "initialized"
},
{
"token_account": "17fAxkeEaGS1t4uMVeE2A2ifyqstMRf2eJ6MEh3YxNB",
"mint": "3aF8DcwKxyUjQkh1C2Xaf54d6rHAe3pWXiWVsPsQEXKQ",
"decimals": 6,
"amount": 157145478888,
"state": "initialized"
}
]
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}- Usage Note
- Accessibility
- Chain Supported
- Returns SPL token accounts owned by a Solana wallet or authority address.
- Use
stateto narrow toinitialized,frozen, oruninitializedtoken accounts. hide_zero=falsereturns empty token accounts too, which is useful for full inventory audits.- Amounts are raw integer token balances; apply
decimalsfor UI formatting.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Use Cases 💡
Use Cases 💡
- Enumerate every token account controlled by a Solana wallet.
- Build token-account inventories for wallets, treasury monitors, or NFT tooling.
- Detect frozen or uninitialized token accounts before attempting transfers or closes.
- Audit token-account sprawl and cleanup candidates across operational wallets.
How to Use 🛠️
How to Use 🛠️
- Pass the wallet or authority in
owner. - Set
stateonly when you need one token-account lifecycle state. - Set
hide_zero=truewhen you only care about currently funded token accounts. - Use
mint,amount, anddecimalsto join each token account back to token metadata and balances.
Best Practices ✅
Best Practices ✅
- Keep
hide_zero=falsefor audits and reconciliation, but usetruefor user-facing portfolio screens. - Pair this endpoint with token metadata if you need names, symbols, and collection details.
- Treat token accounts and owner wallets separately in your data model; the response is account-level, not mint-level.
Limitations ⚠️
Limitations ⚠️
- Solana only.
Authorizations
API key for authentication
Query Parameters
Solana owner address.
Example:
"11111111111111111111111111111111"
Filter by state. Omit to return all states.
Available options:
uninitialized, initialized, frozen Example:
"initialized"
Exclude token accounts with zero balance. Defaults to false.
Example:
false
Was this page helpful?

