Skip to main content
This endpoint is only available to Growth and Enterprise plans.

Endpoint Details

Use this stream when raw swaps are not enough and you need derived base/quote context, token metadata, and post-balance fields.
Chain familyEndpointEvent
EVMwss://stream-evm-prod.mobula.io/swap-enriched
Solanawss://stream-sol-prod.mobula.io/swap-enriched
Do not mix Solana chainIds on the EVM endpoint, or EVM chainIds on the Solana endpoint.
The EVM addresses used in filters must be lowercase.

Subscription Payload

{
  "type": "stream",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "name": "SolanaEnrichedSwaps",
    "chainIds": ["solana:solana"],
    "events": ["swap-enriched"],
    "filters": {
      "or": [
        { "eq": ["poolType", "raydium"] },
        { "eq": ["poolType", "raydium-clmm"] }
      ]
    },
    "subscriptionId": "solana-enriched-swaps",
    "subscriptionTracking": true
  }
}

Response Frame

Every message uses the standard Multi-Events frame:
{
  "data": {
    "type": "swap-enriched",
    "poolAddress": "4WYhS4JwJQsqfVfNx2uN9ZoRhrMTTsYo8kjdTLvFtSDy",
    "poolType": "raydium-clmm",
    "transactionHash": "snFJGsc6gUyZHpYTbxVQQnDYpWSuPUJ4NTdvTJHTX6Wyd2Amsb3MTbNeyDe9VzkRVf87DhQ1aV79Ptnq2fZufei",
    "baseToken": "HjgFP3f1nc9kxD71YQXxD1fWHZLNp6b5ARdvhfVKpgCP",
    "quoteToken": "So11111111111111111111111111111111111111112",
    "baseTokenData": {
      "symbol": "TOKEN",
      "name": "Token",
      "priceUSD": 0.0000123
    },
    "postBalanceBaseToken": "49131790086269",
    "postBalanceRecipientBaseToken": "0",
    "date": "2026-06-08T00:18:34.613Z"
  },
  "chainId": "solana:solana",
  "duplicateCount": 1,
  "subscriptionId": "solana-enriched-swaps"
}
See the Curated Data Model for the full enriched swap payload.

Common Filters

Pool Types

{
  "or": [
    { "eq": ["poolType", "raydium"] },
    { "eq": ["poolType", "raydium-clmm"] }
  ]
}

Specific Pool

{
  "eq": ["poolAddress", "68L2iPWLtkRuxhHBYVJLSzaApBVuM6DNqLL1pEywbDGR"]
}

Wallet Activity

{
  "or": [
    { "eq": ["swapSenderAddress", "7rhFTmUrRSQsL2b3YDoTuSC2sBQUeN9smbSHpne3vowa"] },
    { "eq": ["swapRecipient", "7rhFTmUrRSQsL2b3YDoTuSC2sBQUeN9smbSHpne3vowa"] }
  ]
}

Parameters

  • chainIds (required): Chain identifiers, for example ["evm:8453"] or ["solana:solana"].
  • events (required): Must include swap-enriched.
  • filters (optional): Filter conditions. See filters.
  • subscriptionId (optional): Identifier copied into matching responses.
  • subscriptionTracking (optional, default: false): Include subscription details in response logs.
  • tag (optional): Usage tag shown in the dashboard breakdown.

Keepalive

{ "event": "ping" }

Unsubscribe

{
  "type": "unsubscribe",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "subscriptionId": "solana-enriched-swaps"
  }
}