Skip to main content

getTokenAccountsByDelegate RPC Method

Returns all SPL Token accounts by approved Delegate.

params

string required Pubkey of Token account to query, as base-58 encoded string object required A JSON object with one of the following fields:

mint

Pubkey of the specific token Mint to limit accounts to, as base-58 encoded string; or

programId

Pubkey of the Token program that owns the accounts, as base-58 encoded string

object optional Configuration object containing the following fields:

commitment

The commitment describes how finalized a block is at that point in time. See Configuring State Commitment.

minContextSlot

The minimum slot that the request can be evaluated at

dataSlice

Request a slice of the account's data.

  • length: <usize> - number of bytes to return
  • offset: <usize> - byte offset from which to start reading
encoding

Values: base58 base64 base64+zstd jsonParsed

Default

Encoding format for Account data

  • base58 is slow and limited to less than 129 bytes of Account data.
  • base64 will return base64 encoded data for Account data of any size.
  • base64+zstd compresses the 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 type string.

result

array An array of JSON objects containing:

pubkey

The account Pubkey as base-58 encoded string

account

A JSON object containing:

  • lamports: <u64> - number of lamports assigned to this account, as a u64

  • owner: <string> - base-58 encoded Pubkey of the program this account has been assigned to

  • 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)

  • rentEpoch: <u64> - the epoch at which this account will next owe rent, as u64

  • space: <u64> - the data size of the account

    When the data is requested with the jsonParsed encoding a format similar to that of the Token Balances Structure can be expected inside the structure, both for the tokenAmount and the delegatedAmount - with the latter being an optional object.

cURL

curl https://us-seattle.openverse.network/api -s -X \
POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getTokenAccountsByDelegate",
"params": [
"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
{
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"encoding": "jsonParsed"
}
]
}
'

Response

{
"jsonrpc": "2.0",
"result": {
"context": { "slot": 1114 },
"value": [
{
"pubkey": "28YTZEwqtMHWrhWcvv34se7pjS7wctgqzCPB3gReCFKp",
"account": {
"data": {
"program": "spl-token",
"parsed": {
"info": {
"tokenAmount": {
"amount": "1",
"decimals": 1,
"uiAmount": 0.1,
"uiAmountString": "0.1"
},
"delegate": "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
"delegatedAmount": {
"amount": "1",
"decimals": 1,
"uiAmount": 0.1,
"uiAmountString": "0.1"
},
"state": "initialized",
"isNative": false,
"mint": "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E",
"owner": "CnPoSPKXu7wJqxe59Fs72tkBeALovhsCxYeFwPCQH9TD"
},
"type": "account"
},
"space": 165
},
"executable": false,
"lamports": 1726080,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 4,
"space": 165
}
}
]
},
"id": 1
}