Endpoint Details
- URL:
wss://api.mobula.io - Event Type:
fast-trade
Subscription Formats
Thefast-trade endpoint supports subscribing to trades for multiple pools and tokens with real-time updates.
Multiple Items Subscription (Recommended)
Subscribe to multiple pools and tokens using theitems array format with assetMode:
Token Mode Subscription
For token-specific trades (whenassetMode is true):
Parameters
assetMode(required): Boolean indicating subscription modefalse: Subscribe to pools (default)true: Subscribe to tokens
items(required): Array of subscription items, each containing:blockchain(required): Blockchain identifier (e.g.,"evm:1","solana")address(required): Pool or token address
subscriptionId(optional): Unique identifier for your WebSocket connection. Auto-generated if not providedsubscriptionTracking(optional, default:false): Include subscription details in response logs for debugging
Trade Data Only: This endpoint provides trade events without enriched market data. For complete market statistics with each trade, use
market-details or token-details streams instead.Asset Mode: The assetMode parameter determines address interpretation:false(default): Addresses are pool addressestrue: Addresses are token addresses
Real-Time Updates
After subscribing, you’ll receive real-time updates whenever new trades occur involving the subscribed pools/tokens.Real-Time Trade Updates
When trades happen involving subscribed items, you’ll receive updates with trade information. The response format depends on theassetMode used in your subscription:
Pool Mode Response (assetMode: false)
Token Mode Response (assetMode: true)
Response Fields
pair: Pool address where the trade occurred (only in pool mode:assetMode = false)token: Base token address involved in the trade (only in token mode:assetMode = true)date: Timestamp of the trade (Unix milliseconds)tokenPrice: Price of the traded token in USDtokenPriceVs: Price of the quote token in USDtokenAmount: Amount of tokens traded (base token)tokenAmountVs: Amount of quote tokens tradedtokenAmountUsd: USD value of the tradetokenNativePrice: Price of the traded token in the blockchain’s native currency (e.g., ETH for Ethereum, SOL for Solana)tokenMarketCapUSD: Market capitalization of the traded token in USD (based on circulating supply)type: Trade type (“buy” or “sell”)operation: Operation type (“regular”, “arbitrage”, etc.)blockchain: Blockchain namehash: Transaction hashsender: Transaction sender addresstokenAmountRaw: Raw token amount (base token)tokenAmountRawVs: Raw token amount (quote token)preBalanceBaseToken: Sender’s balance of the base token before the swap (bigint or null)preBalanceQuoteToken: Sender’s balance of the quote token before the swap (bigint or null)postBalanceBaseToken: Sender’s balance of the base token after the swap (bigint or null)postBalanceQuoteToken: Sender’s balance of the quote token after the swap (bigint or null)labels: Array of labels associated with the sender wallet for the base token/pool (see Label Values below)platform: Trading platform/aggregator identifier (e.g., “axiom”, “gmgn”, “padre”, “trojan”, “universalX”) or null if not availablesubscriptionId: Your subscription identifiertimestamp: Server timestamp when the update was sent
Fee Breakdown
Complete fee transparency: Unlike other platforms that only show gas + total, Mobula provides the full breakdown in real-time.
totalFeesUSD: Total fees in USD (gas + platform + MEV combined)gasFeesUSD: Network gas fees in USDplatformFeesUSD: Platform/aggregator fees in USD (Axiom, GMGN, Trojan, etc.)mevFeesUSD: MEV-related fees in USD (priority fees, Jito bundles, etc.)
Label Values
Thelabels array can contain any combination of the following values, providing insight into the trader’s behavior and classification:
| Label | Value | Description |
|---|---|---|
| Sniper | sniper | Wallet that bought the token very early (typically in the first few blocks after launch) |
| Insider | insider | Wallet with suspected insider/privileged information (e.g., pre-launch access) |
| Bundler | bundler | Wallet that bundles multiple transactions together (often associated with MEV strategies) |
| Pro Trader | proTrader | Uses a known professional trading platform (Axiom, GMGN, Trojan, Padre, UniversalX, etc.) |
| Smart Trader | smartTrader | Wallet identified as a profitable/smart trader within the last 7 days |
| Fresh Trader | freshTrader | Newly funded wallet (received initial funding within the last 24 hours) |
| Dev | dev | Token deployer/developer wallet |
| Liquidity Pool | liquidityPool | Address is a liquidity pool |
Label Context: Labels are scoped to the specific token being traded. For example, a wallet may be labeled as
sniper for Token A but not for Token B.Example with Labels
- Sniped the token early (
sniper) - Uses a professional trading platform (
proTrader) - Has been identified as a smart/profitable trader (
smartTrader)
Unsubscribing from the Stream
Unsubscribe from All Trade Streams
Unsubscribe from Specific Subscription
Unsubscribe from Specific Subscription with Type
Unsubscribe from Specific Items (Partial Unsubscription)
You can unsubscribe from specific pools/tokens while keeping others active in the same subscription:Unsubscribe from Multiple Specific Items
Unsubscribe from Specific Items in a Specific Subscription
If you didn’t provide a
subscriptionId when subscribing, one is auto-generated. To retrieve it, set "subscriptionTracking": true in the subscription payload.For partial unsubscriptions without subscriptionId, the system will automatically find and modify subscriptions that contain the specified items, leaving other items in those subscriptions active.