> ## Documentation Index
> Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Activity on Solana

> Subscribe to real-time activity for Solana wallets over `walletTxs` on SOLANA_MAINNET.

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

## Subscribe

```graphql GraphQL Subscription theme={null}
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](/goldrush-solana/warehouse/spl-transfers); 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`](/goldrush-solana/warehouse/spl-transfers) or [`swaps`](/goldrush-solana/warehouse/dex-swaps) table over the disconnect window.

## Related

* [Wallet endpoints](/goldrush-solana/foundational/wallet) - REST companion for SPL token balances.
* [SPL Transfers warehouse recipe](/goldrush-solana/warehouse/spl-transfers) - decoded SPL transfers landed in your warehouse.
* [DEX Swaps warehouse recipe](/goldrush-solana/warehouse/dex-swaps) - decoded DEX swaps landed in your warehouse.
* [Wallet Activity Stream reference](/api-reference/streaming-api/subscriptions/wallet-activity-stream) - full subscription schema.
