getTransactionsForAddress

Transaction history API for retrieving address activity with server-side filtering, configurable sort order, pagination, and optional full transaction details.

getTransactionsForAddress is designed for workloads that would otherwise require calling getSignaturesForAddress followed by getTransaction for every returned signature.

That standard two-step pattern works, but it creates an N+1 request flow: one request to discover signatures, then one additional request per transaction to fetch details. It also pushes filtering, pagination management, token-account expansion, and result assembly onto the client.

This method combines those steps into a single address-history query. It can return either signature-level results or full transaction payloads, apply filters server-side, preserve a single pagination cursor, and optionally include token-account activity owned by the requested address.

getTransactionsForAddress is a custom RPC method. It is not part of the standard Solana JSON-RPC API, but it follows the same JSON-RPC request and response envelope style as standard Solana RPC methods.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTransactionsForAddress",
  "params": [
    "AddressBase58",
    {
      "transactionDetails": "signatures",
      "sortOrder": "desc",
      "limit": 100,
      "paginationToken": null,
      "filters": {
        "slot": { "gte": 250000000 },
        "status": "any",
        "tokenAccounts": "none"
      }
    }
  ]
}

Parameters

Parameter
Type
Required
Description

address

string

Yes

Base58 Solana account address to search.

options

object

No

Query options and filters.

Options

Option
Type
Default
Description

transactionDetails

signatures | full

signatures

Controls response detail.

sortOrder

asc | desc

desc

Sort by slot and transaction position.

limit

number

1000 for signatures, 100 for full

Maximum number of results.

paginationToken

string

null

Token returned from a previous response.

commitment

confirmed | finalized

finalized

Commitment level.

minContextSlot

number

none

Fails if the node has not reached this slot.

encoding

json | jsonParsed | base58 | base64

json

Used when transactionDetails is full.

maxSupportedTransactionVersion

number

none

Used when transactionDetails is full.

filters

object

none

Optional filters.

Filters

Filter
Type
Description

slot

comparison object

Filter by slot. Supports gte, gt, lte, lt.

blockTime

comparison object

Filter by block time. Supports gte, gt, lte, lt, eq.

signature

comparison object

Filter by transaction signature position. Supports gte, gt, lte, lt.

status

any | succeeded | failed

Filter by transaction status.

tokenAccounts

none | balanceChanged | all

Include token-owner activity for the address.

Comparison object example:

Token Account Filtering

tokenAccounts controls whether token-account activity owned by the requested address is included.

Value
Behavior

none

Only transactions where the address appears directly.

all

Also include transactions involving token accounts owned by the address.

balanceChanged

Include owned token-account transactions only when token balance changed.

Token-owner activity is derived from transaction pre/post token balance metadata.

Response

When transactionDetails is signatures, each result contains transaction metadata.

Pagination

Use the returned paginationToken in the next request to continue scanning.

Example: Successful Transactions Only

Example: Token Balance Changes

Example: Slot Range

Last updated

Was this helpful?