Skip to main content
POST
/
getTransfersByAddress
curl --request POST \
  --url 'https://mainnet.helius-rpc.com/?api-key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "getTransfersByAddress",
  "params": [
    "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
    {
      "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "limit": 50
    }
  ]
}
'
{
  "jsonrpc": "2.0",
  "id": "1",
  "result": {
    "data": [
      {
        "signature": "5GEX7Q3X5Q8yJGbKYoR7mtzQmG8tpoEwzjPgqVmn3y5xg3yKwqXcDdN5YVcc9V6vA4TuH5iM6FHRVhTxvz4AX2zG",
        "slot": 315073428,
        "blockTime": 1736159420,
        "type": "transfer",
        "fromUserAccount": "7hPhaUpydpvm8wtiS3k4LPZKUmivQRs7YQmpE1hFshHx",
        "toUserAccount": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
        "fromTokenAccount": "HcvK3EJ74iM9g11cUgsaPvLSrhCvCwcrWxBNd87LsC1x",
        "toTokenAccount": "CBcYniR9G9CN3zGMnwNE4SWbqkYWvCFVreEob9xHnQCY",
        "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "amount": "2500000",
        "decimals": 6,
        "uiAmount": "2.5",
        "confirmationStatus": "finalized",
        "transactionIdx": 35,
        "instructionIdx": 1,
        "innerInstructionIdx": 0
      }
    ],
    "paginationToken": "315073428:35:1:0:splTransfer"
  }
}

Overview

getTransfersByAddress returns parsed, human-readable transfer objects for token and native SOL movement involving a wallet address. Use filters to narrow results by mint, block time, amount, slot, direction, or counterparty. The response is designed for accurate wallet activity views, payment tracking, and balance reconciliation without reimplementing Solana transfer parsing.
Mint and burn transfers are one-sided. Mints have fromUserAccount: null and can only be returned as inbound transfers for the recipient. Burns have toUserAccount: null and can only be returned as outbound transfers for the burning owner.

Request Parameters

address
string
required
Base58-encoded owner wallet address to query transfers for. Pass the wallet owner address, not an associated token account (ATA).
with
string
Filter by counterparty address. Returns only transfers to or from this address.
direction
string
default:"any"
Filter by transfer direction relative to the queried address.
  • in
  • out
  • any
mint
string
Token mint address. Use So11111111111111111111111111111111111111111 for native SOL and So11111111111111111111111111111111111111112 for WSOL.
solMode
string
default:"merged"
SOL/WSOL display mode. merged treats WSOL as native SOL and excludes wrap/unwrap rows so SOL-denominated history is easier to reconcile; separate preserves WSOL as a distinct SPL token mint and includes wrap/unwrap rows.
  • merged
  • separate
filters
object
Additional filters for amount, block time, and slot.
filters.amount
object
Range comparison filter. All fields are optional and can be combined.
filters.amount.gt
number
Greater than.
filters.amount.gte
number
Greater than or equal.
filters.amount.lt
number
Less than.
filters.amount.lte
number
Less than or equal.
filters.blockTime
object
Range comparison filter. All fields are optional and can be combined.
filters.blockTime.gt
number
Greater than.
filters.blockTime.gte
number
Greater than or equal.
filters.blockTime.lt
number
Less than.
filters.blockTime.lte
number
Less than or equal.
filters.slot
object
Range comparison filter. All fields are optional and can be combined.
filters.slot.gt
number
Greater than.
filters.slot.gte
number
Greater than or equal.
filters.slot.lt
number
Less than.
filters.slot.lte
number
Less than or equal.
limit
number
default:"100"
Maximum number of transfers to return. Range 1 to 100.
paginationToken
string
Cursor from the previous response for pagination.
example
any
commitment
string
default:"finalized"
Data commitment level.
  • finalized
  • confirmed
minContextSlot
number
Minimum context slot to use for request (optional).
sortOrder
string
default:"desc"
Result ordering.
  • asc
  • desc

Authorizations

api-key
string
query
required

Your Helius API key. You can get one for free in the dashboard.

Body

application/json
jsonrpc
enum<string>
default:2.0
required

The JSON-RPC protocol version.

Available options:
2.0
Example:

"2.0"

id
string
default:1
required

A unique identifier for the request.

Example:

"1"

method
enum<string>
default:getTransfersByAddress
required

The name of the RPC method to invoke.

Available options:
getTransfersByAddress
Example:

"getTransfersByAddress"

params
tuple
required

Array containing the required wallet address and optional configuration object.

Example:
[
"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
{
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"limit": 50,
"sortOrder": "desc"
}
]

Response

Successfully retrieved transfers for the specified address.

jsonrpc
enum<string>

The JSON-RPC protocol version.

Available options:
2.0
Example:

"2.0"

id
string

Identifier matching the request.

Example:

"1"

result
object

Transfer data and pagination information.