Skip to main content
The walletTxs subscription delivers transactions for the wallets you subscribe to, with decoded_details typed as a SwapTransaction or TransferTransaction union member.

Subscribe

GraphQL Subscription
subscription {
  walletTxs(
    wallet_addresses: [
      "4ZJhPQAgUseCsWhKvJLTmmRRUV74fdoTpQLNfKoekbPY"
    ]
    chain_name: SOLANA_MAINNET
  ) {
    tx_hash
    block_signed_at
    from_address
    to_address
    successful
    decoded_type
    decoded_details {
      typeString
      ... on SwapTransaction {
        amount_in
        amount_out
        token_in { contract_address contract_ticker_symbol contract_decimals }
        token_out { contract_address contract_ticker_symbol contract_decimals }
      }
      ... on TransferTransaction {
        amount
        from
        to
        quote_usd
        quote_rate_usd
        contract_metadata { contract_address contract_ticker_symbol contract_decimals }
      }
    }
  }
}
The chain enum is SOLANA_MAINNET (SCREAMING_SNAKE_CASE), not solana-mainnet. The Streaming API uses the enum; the Foundational REST API uses the kebab-case form.

Patterns

Copy-trading

Subscribe to a curated list of high-performing wallets. Filter the stream on SwapTransaction and mirror to your own execution layer.

Whale watch

Subscribe to a curated list of high-balance wallets and surface every fill and large transfer in a live tape.

Compliance / AML alerts

Subscribe to flagged addresses. Filter on TransferTransaction events and alert when amount exceeds a threshold.

Push vs pull

For long-range transfer history, use the warehouse transfers normalizer; use walletTxs here for the live tip.

Production considerations

  • Reconnect on close or error. Wrap subscribe in a function; re-invoke with 1-2s backoff on error / complete.
  • Validate addresses up front. Pre-filter with a base58 validator before passing in.
  • No gap-fill on reconnect. Events that occurred during a disconnect are not replayed. For continuity across a gap, query the warehouse transfers or swaps table over the disconnect window.