# getTokenAccountsByOwner


This method is enabled for elastic Solana devnet nodes on US Ashburn (ash1) and Amsterdam (ams1) with a rate limit of 2 requests per second (RPS).

Solana API method that returns all SPL token accounts by token owner.


  • <string> — public key of the account owner to query, as a base58 encoded string.
  • <object> — one of the following:
    • mint: <string> - the public key of the NFT collection, as a base58 encoded string.
    • programId: <string> — public key of the token program that owns the accounts, as a base58 encoded string.
  • <object> — (optional) configuration object containing the following fields:
    • commitment: <string> — (optional) commitment.
    • encoding: <string> — (optional) encoding for account data, either base58 (slow), base64, base64+zstd, or jsonParsed. base58 is limited to account data of less than 128 bytes. base64 will return base64 encoded data for account data of any size. base64+zstd compresses account data using Zstandard and base64 encodes the result. jsonParsed encoding attempts to use program-specific state parsers to return more human-readable and explicit account state data. If jsonParsed is requested, but a parser cannot be found, the field falls back to base64 encoding, detectable when the data field is <string> type.
    • dataSlice: <object> — (optional) limit the returned account data using the provided offset: <usize> and length: <usize> fields; only available for base58, base64, or base64+zstd encodings.
    • minContextSlot: <number> — (optional) set the minimum slot to evaluate the request.


The result will be an RPC response JSON object with value equal to an array of JSON objects, which will contain the following:

  • account: <object> — a JSON object with the following fields:
    • data: <object> — token state data associated with the account, either as encoded binary data or in JSON format {<program>: <state>}.
    • executable: <bool> — boolean indicating if the account contains a program (and is strictly read-only).
    • lamports: <u64> — number of lamports assigned to this account, as u64.
    • owner: <string> — the base58 encoded public key of the program this account has been assigned to.
    • rentEpoch: <u64> — the epoch at which this account will next owe rent, as u64.
  • pubkey: <string> — the account public key as a base58 encoded string.


  • Solana web3.js
  • Solana.py
  • cURL
import { Connection } from "@solana/web3.js";

const nodeUrl = "CHAINSTACK_NODE_URL"

const publicKey = new PublicKey(

const mintAccount = new PublicKey(

(async () => {  
  const solana = new Connection(nodeUrl);

  console.log(await solana.getTokenAccountsByOwner(publicKey, {
    mint: mintAccount,
    encoding: 'jsonParsed',