Wallet Transfers

GET /v1/wallets/:wallet/transfers returns the SOL and tokens a wallet sent and received in the last 7 days, newest first, with USD values.

Endpoint
GET/v1/wallets/:wallet/transfers
Auth
API key in the Authorization header
Live
The same data as a stream

Each item is a transfers stream event seen from this wallet, so wallet is always :wallet. Takes direction, mints and minVolumeUsd / maxVolumeUsd. An unknown wallet returns 200 with an empty list. History covers the last 7 days, starting from the day transfers launched; there is no earlier history.

Path parameters

walletstring

Wallet address.

Example 5FHwkW5742VKq9W8pN3mL7jR2sT6cX4bY1zD8gH9K2pQ

Query parameters

A parameter not listed here is rejected with 400 invalid_request, not ignored.

directionstring

in for transfers the wallet received, out for transfers it sent.

Omit for both.

Example out

mintsstring

Comma-separated token mints, up to 100.

Any token, wrapped SOL included (So11111111111111111111111111111111111111112 for SOL). Send mints or mint, not both.

mintstring

A single token, the one-value form of mints.

minVolumeUsdnumber

Minimum transfer size in USD.

Rows with volumeUsd: null are excluded when either bound is set. Must be ≤ maxVolumeUsd.

Example 100

maxVolumeUsdnumber

Maximum transfer size in USD.

Rows with volumeUsd: null are excluded when either bound is set.

limitnumber

Maximum number of results (default 50, max 200).

Example 50

cursorstring

Opaque keyset cursor from the previous response's next field.

Endpoint-scoped — do not reuse across endpoints.

fromstring

Start of the time window (ISO-8601 or unix ms).

Clamped to the 7-day history window.

Example 1751000000000

tostring

End of the time window (ISO-8601 or unix ms).

Example 1751008869000

Response fields

Fields of each item in the data array.

typestring

Always "transfer".

walletstring

The wallet this message is for.

With a wallets filter, one message per watched side: a transfer between two watched wallets arrives twice, once per wallet, so dedupe on signature + wallet if you need to. Without wallets (every transfer, or mints only), each transfer arrives once, with wallet = the sender. Compare it with transfer.from / transfer.to for direction.

volumeUsdnumber | null

USD value of the transfer when it was decoded. null when the token had no price yet; null fails a volume filter.

transferobject

{ from, to, mint, symbol, amount (raw string), uiAmount (number), decimals }. from and to are wallet addresses.

SOL appears as the wrapped-SOL mint (So11111111111111111111111111111111111111112, 9 decimals).

transfer.symbolstring | null

The token's on-chain symbol, as on trades. null until the token is resolved, or when it has none.

A label, not an identity: anyone can name a token USDC, so key on mint.

signaturestring

Transfer transaction signature.

slotnumber

Solana slot the event landed in.

Use for ordering and gap recovery.

timestampnumber | null

Event time as a Unix epoch millisecond value. null when the block time is unknown (rare).

Last updated · Changelog