Overview
SUBSCRIBE_TRANSFER is a WebSocket subscription message used to receive real-time token transfer updates on Solana based on flexible filtering criteria such as wallet addresses, token addresses, transfer direction, and amount/value thresholds. Only support for Solana
Subscription Message
Example Subscription Message
Parameters
filters
- Type:
array - Required
- Description: A list of filter objects. Each filter defines a set of criteria for transfers to match. Filters are evaluated with OR logic — a transfer matching any single filter will be returned.
- Maximum 10 filters per subscription
- Sending a new
SUBSCRIBE_TRANSFERmessage will overwrite the previous subscription and replace all existing filters
filters[].wallet_addresses
- Type:
array of strings - Required
- Description: List of wallet addresses to monitor. A transfer is matched if either
from_addressorto_addressis in this list (combined withflowto narrow direction).
- Maximum 20 addresses per filter
filters[].flow
- Type:
string - Optional
- Description: Filter transfers by direction relative to the wallet addresses.
in— only include transfers into the wallet (wallet isto_address)out— only include transfers out of the wallet (wallet isfrom_address)
filters[].token_addresses
- Type:
array of strings - Optional
- Description: List of token mint addresses to filter. Only transfers involving one of the specified tokens will be returned.
- Maximum 20 addresses per filter
filters[].ui_amount_min
- Type:
number - Optional
- Description: Minimum token transfer amount in human-readable units (i.e., after applying token decimals). Transfers with
ui_amountbelow this value are excluded.
filters[].ui_amount_max
- Type:
number - Optional
- Description: Maximum token transfer amount in human-readable units. Transfers with
ui_amountabove this value are excluded.
filters[].value_min
- Type:
number - Optional
- Description: Minimum USD value of the transfer. Transfers with
valuebelow this threshold are excluded.
filters[].value_max
- Type:
number - Optional
- Description: Maximum USD value of the transfer. Transfers with
valueabove this threshold are excluded.
WebSocket Event
Event Type
TRANSFER_DATAEvent Payload Example
Event Payload Fields
block_number
- Type:
number - Description: The Solana slot number in which this transfer was confirmed.
unix_time
- Type:
number - Description: Unix timestamp (seconds) of the block containing this transfer.
token_address
- Type:
string - Description: Mint address of the token being transferred.
from_address
- Type:
string - Description: Wallet address of the sender.
to_address
- Type:
string - Description: Wallet address of the recipient.
from_token_account
- Type:
string - Description: Associated token account (ATA) of the sender for this token.
to_token_account
- Type:
string - Description: Associated token account (ATA) of the recipient for this token.
amount
- Type:
number - Description: Raw transfer amount in the token’s smallest unit (i.e., before applying decimals).
ui_amount
- Type:
number - Description: Human-readable transfer amount after applying
token_decimals.
price
- Type:
number - Description: Token price in USD at the time of the transfer.
value
- Type:
number - Description: USD value of the transfer (
ui_amount × price).
token_decimals
- Type:
number - Description: Number of decimal places for the token.
tx_hash
- Type:
string - Description: Transaction signature on Solana.
action
- Type:
string - Description: Type of transfer action. Possible values:
transfer(value1) orburn(value2).
ins_index
- Type:
number - Description: Index of the instruction within the transaction that produced this transfer.
inner_index
- Type:
number - Description: Index of the inner instruction (if applicable) within
ins_index.
network
- Type:
string - Description: Blockchain network. Currently always
"solana".
Notes
- All timestamps are in Unix seconds
ui_amountequalsamount / 10^token_decimalsvalueequalsui_amount × priceactionis encoded as an integer internally:1= transfer,2= burn- Filters use OR logic — a transfer matching any one filter will be emitted
- Maximum 10 filters per subscription; maximum 20 addresses per filter
- Only Solana is supported at this time
- Sending a new
SUBSCRIBE_TRANSFERmessage overwrites the previous subscription entirely

