Get SVM token balances
curl --request GET \
--url https://api.sim.dune.com/beta/svm/balances/{address} \
--header 'X-Sim-Api-Key: <api-key>'const options = {method: 'GET', headers: {'X-Sim-Api-Key': '<api-key>'}};
fetch('https://api.sim.dune.com/beta/svm/balances/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sim.dune.com/beta/svm/balances/{address}"
headers = {"X-Sim-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"processing_time_ms": 120,
"wallet_address": "DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK",
"next_offset": "eyJibG9ja190aW1lIjoxNjgwMDAwMDAwLCJpbmRleCI6MH0=",
"balances_count": 3,
"balances": [
{
"chain": "solana",
"address": "GUACAwFcHeHgN6FWhcw5Uwt8r9YHF1x66NWkW8fLT2e6",
"amount": "236604141098046680",
"balance": "2366041410980.4668",
"raw_balance": "2333343144265.50919",
"value_usd": 0,
"program_id": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
"decimals": 5,
"total_supply": "17752032227785985186",
"metadata_address": "GUACAwFcHeHgN6FWhcw5Uwt8r9YHF1x66NWkW8fLT2e6",
"name": "Solana Power Boost",
"symbol": "GUACA",
"uri": "https://arweave.net/0-6vSvbN2VhWi0dpufHxkcvul2TSYGQn7F-xAt867iY",
"price_usd": 0,
"liquidity_usd": 0
},
{
"chain": "solana",
"address": "HV6ia6ptzKbMPQs3zGrj2S35BhxeFzpXeSS3jNtW7P9F",
"amount": "913013423527",
"balance": "913013.423527",
"raw_balance": "912673",
"value_usd": 0,
"program_id": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
"decimals": 6,
"total_supply": "1000000000000",
"mint_authority": "4TM4eaLauigrqjDytC49K2iWKB4kAHsNRCJz48mdriHY",
"name": "FIRE",
"symbol": "FIRE",
"uri": "https://bafkreic4fzgkgta5qmv2tk2fug7i6jnrcmd4pnrf6pxwvyfxlne3ewb67i.ipfs.nftstorage.link",
"price_usd": 0,
"liquidity_usd": 0
},
{
"chain": "solana",
"address": "native",
"amount": "1000000000",
"balance": "1.0",
"raw_balance": "1.0",
"value_usd": 20.5,
"program_id": null,
"decimals": 9,
"total_supply": "1000000000000000",
"name": "Solana",
"symbol": "SOL",
"uri": null,
"price_usd": 20.5,
"liquidity_usd": 500000000,
"pool_type": null,
"pool_address": null,
"mint_authority": null
}
]
}{
"message": "Failed to parse address"
}{
"error": "invalid API Key"
}{
"error": "Too many requests. Please contact sales@dune.com to increase your limit."
}{
"message": "Internal server error"
}{
"message": "Try again later"
}Solana
Solana Balances
Get token balances for a given SVM address
GET
/
beta
/
svm
/
balances
/
{address}
Get SVM token balances
curl --request GET \
--url https://api.sim.dune.com/beta/svm/balances/{address} \
--header 'X-Sim-Api-Key: <api-key>'const options = {method: 'GET', headers: {'X-Sim-Api-Key': '<api-key>'}};
fetch('https://api.sim.dune.com/beta/svm/balances/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sim.dune.com/beta/svm/balances/{address}"
headers = {"X-Sim-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"processing_time_ms": 120,
"wallet_address": "DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK",
"next_offset": "eyJibG9ja190aW1lIjoxNjgwMDAwMDAwLCJpbmRleCI6MH0=",
"balances_count": 3,
"balances": [
{
"chain": "solana",
"address": "GUACAwFcHeHgN6FWhcw5Uwt8r9YHF1x66NWkW8fLT2e6",
"amount": "236604141098046680",
"balance": "2366041410980.4668",
"raw_balance": "2333343144265.50919",
"value_usd": 0,
"program_id": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
"decimals": 5,
"total_supply": "17752032227785985186",
"metadata_address": "GUACAwFcHeHgN6FWhcw5Uwt8r9YHF1x66NWkW8fLT2e6",
"name": "Solana Power Boost",
"symbol": "GUACA",
"uri": "https://arweave.net/0-6vSvbN2VhWi0dpufHxkcvul2TSYGQn7F-xAt867iY",
"price_usd": 0,
"liquidity_usd": 0
},
{
"chain": "solana",
"address": "HV6ia6ptzKbMPQs3zGrj2S35BhxeFzpXeSS3jNtW7P9F",
"amount": "913013423527",
"balance": "913013.423527",
"raw_balance": "912673",
"value_usd": 0,
"program_id": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
"decimals": 6,
"total_supply": "1000000000000",
"mint_authority": "4TM4eaLauigrqjDytC49K2iWKB4kAHsNRCJz48mdriHY",
"name": "FIRE",
"symbol": "FIRE",
"uri": "https://bafkreic4fzgkgta5qmv2tk2fug7i6jnrcmd4pnrf6pxwvyfxlne3ewb67i.ipfs.nftstorage.link",
"price_usd": 0,
"liquidity_usd": 0
},
{
"chain": "solana",
"address": "native",
"amount": "1000000000",
"balance": "1.0",
"raw_balance": "1.0",
"value_usd": 20.5,
"program_id": null,
"decimals": 9,
"total_supply": "1000000000000000",
"name": "Solana",
"symbol": "SOL",
"uri": null,
"price_usd": 20.5,
"liquidity_usd": 500000000,
"pool_type": null,
"pool_address": null,
"mint_authority": null
}
]
}{
"message": "Failed to parse address"
}{
"error": "invalid API Key"
}{
"error": "Too many requests. Please contact sales@dune.com to increase your limit."
}{
"message": "Internal server error"
}{
"message": "Try again later"
}The Solana Balances API provides accurate and fast real-time balances of native SOL, SPL, and SPL-2022 tokens on supported Solana Virtual Machine (SVM) blockchains.
We currently support Solana and Eclipse.
- SPL tokens are the standard Solana token format (similar to ERC-20 on Ethereum).
- SPL-2022 is the newer token standard with extended features like transfer fees and confidential transfers.
This endpoint uses the
chains parameter (not chain_ids like EVM endpoints). Accepted values: solana, eclipse, or all.Example Request
curl -X GET "https://api.sim.dune.com/beta/svm/balances/vitalik.sol" \
-H "X-Sim-Api-Key: YOUR_API_KEY"
const options = {method: ‘GET’, headers: {‘X-Sim-Api-Key’: ‘YOUR_API_KEY’}};
fetch(‘https://api.sim.dune.com/beta/svm/balances/vitalik.sol’, options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import requests
url = "https://api.sim.dune.com/beta/svm/balances/vitalik.sol"
headers = {"X-Sim-Api-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
Pagination
This endpoint uses cursor-based pagination. You can use thelimit parameter to define the maximum page size.
Results might at times be less than the maximum page size.
The next_offset value is passed back by the initial response and can be used to fetch the next page of results, by passing it as the offset query parameter in the next request.
You can only use the value from
next_offset to set the offset parameter of the next page of results. Using your own offset value will not have any effect.Compute Unit Cost
The Solana Balances endpoint’s CU cost equals the number of chains you include via thechains query parameter. If you omit chains, the endpoint uses its default chain set, which is currently Solana only (1 CU). We currently support two SVM chains (Solana and Eclipse). See the Compute Units page for detailed information.Authorizations
API key for authentication. Obtain your key from the Dune dashboard at sim.dune.com.
Path Parameters
SVM wallet address
Query Parameters
Comma-separated list of chains to include. You can specify either solana or eclipse. For example, ?chains=solana,eclipse. If omitted, the endpoint will default to solana only.
Maximum number of results to return. Default is 1000 when not provided. Values above 1000 are reduced to 1000.
Required range:
1 <= x <= 1000Pagination offset from previous response
Response
Successful response
The queried wallet address
Array of token balance objects
Show child attributes
Show child attributes
Time taken to process the request in milliseconds
Pagination token for the next page of results
Total number of balances returned
Was this page helpful?