getTokenAccountsByOwner – Solana
The getTokenAccountsByOwner JSON-RPC method retrieves all SPL Token accounts associated with a specified token owner.
Last updated
Was this helpful?
Was this helpful?
https://go.getblock.io/<ACCESS-TOKEN>/curl --location "https://go.getblock.io/<ACCESS-TOKEN>/" -XPOST \
--header "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "getTokenAccountsByOwner",
"params": [
"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd",
{
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"encoding": "jsonParsed"
}
]
}'{
"jsonrpc": "2.0",
"result": {
"context": { "apiVersion": "2.0.15", "slot": 341197933 },
"value": [
{
"account": {
"data": {
"parsed": {
"info": {
"isNative": false,
"mint": "2cHr7QS3xfuSV8wdxo3ztuF4xbiarF6Nrgx3qpx3HzXR",
"owner": "A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd",
"state": "initialized",
"tokenAmount": {
"amount": "420000000000000",
"decimals": 6,
"uiAmount": 420000000.0,
"uiAmountString": "420000000"
}
},
"type": "account"
},
"program": "spl-token",
"space": 165
},
"executable": false,
"lamports": 2039280,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709551615,
"space": 165
},
"pubkey": "BGocb4GEpbTFm8UFV2VsDSaBXHELPfAXrvd4vtt8QWrA"
}
]
},
"id": 1
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid Token Account Pubkey"
},
"id": 1
}const axios = require('axios');
const url = "https://go.getblock.io/<ACCESS-TOKEN>/";
const headers = { "Content-Type": "application/json" };
const payload = {
jsonrpc: "2.0",
id: 1,
method: "getTokenAccountsByOwner",
params: [
"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd",
{
programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{ encoding: "jsonParsed" }
]
};
const fetchTokenAccountsByOwner = async () => {
try {
const response = await axios.post(url, payload, { headers });
if (response.status === 200 && Array.isArray(response.data.result?.value)) {
const accounts = response.data.result.value;
if (accounts.length > 0) {
accounts.forEach((account, index) => {
console.log(`Account ${index + 1}:`);
console.log(` Pubkey: ${account.pubkey}`);
console.log(` Mint: ${account.account.data.parsed.info.mint}`);
console.log(` Owner: ${account.account.data.parsed.info.owner}`);
console.log(` Token Amount: ${account.account.data.parsed.info.tokenAmount.uiAmount}`);
console.log(` Decimals: ${account.account.data.parsed.info.tokenAmount.decimals}`);
});
} else {
console.log("No token accounts found for the specified owner.");
}
} else {
console.error("Unexpected response:", response.data);
}
} catch (error) {
console.error("getTokenAccountsByOwner error:", error.response?.data || error.message);
}
};
fetchTokenAccountsByOwner();