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

# TradeSubscriptionPayload

> Payload emitted by the fastTrade GraphQL subscription.

### TypeScript shape

```ts theme={null}
interface TradeSubscriptionPayload {
  id?: string | null;
  stable_id?: string | null;
  pair: string;
  token?: string | null;
  date?: number | null;
  token_price?: number | null;
  token_amount?: number | null;
  token_amount_vs?: number | null;
  token_amount_raw?: string | null;
  token_amount_raw_vs?: string | null;
  token_amount_usd?: number | null;
  type?: string | null;
  operation?: string | null;
  blockchain?: string | null;
  hash?: string | null;
  sender?: string | null;
  trader?: string | null;
}
```

<ResponseField name="id" type="String">
  REST trade id when available. It is nullable on fast-path stream messages; use `stable_id` as the fallback matching key.
</ResponseField>

<ResponseField name="stable_id" type="String">
  Deterministic stream trade id built from `chainId`, transaction hash, pair address, and swap index. Use it to disambiguate multiple trades in the same transaction when `id` is null.
</ResponseField>

<ResponseField name="pair" type="String!" required>
  Pair or pool address for the trade.
</ResponseField>

<ResponseField name="token" type="String">
  Token address in `assetMode` or `traderMode`.
</ResponseField>

<ResponseField name="date" type="Float">
  Trade timestamp in milliseconds.
</ResponseField>

<ResponseField name="token_price" type="Float">
  Base token price in USD at trade time.
</ResponseField>

<ResponseField name="token_amount" type="Float">
  Human-readable amount of the base token traded.
</ResponseField>

<ResponseField name="token_amount_vs" type="Float">
  Human-readable amount of the quote token traded.
</ResponseField>

<ResponseField name="token_amount_raw" type="String">
  Exact raw base token amount in the token's smallest on-chain units.
</ResponseField>

<ResponseField name="token_amount_raw_vs" type="String">
  Exact raw quote token amount in the quote token's smallest on-chain units.
</ResponseField>

<ResponseField name="token_amount_usd" type="Float">
  USD value of the trade.
</ResponseField>

<ResponseField name="type" type="String">
  Trade direction, usually `buy` or `sell`.
</ResponseField>

<ResponseField name="operation" type="String">
  Swap operation type, for example `regular`, `deposit`, or `withdrawal`.
</ResponseField>

<ResponseField name="blockchain" type="String">
  Blockchain name, for example `ethereum`, `base`, or `solana`.
</ResponseField>

<ResponseField name="hash" type="String">
  Transaction hash or Solana signature. `hash` is not unique enough by itself for multi-swap transactions.
</ResponseField>

<ResponseField name="sender" type="String">
  Transaction sender address.
</ResponseField>

<ResponseField name="trader" type="String">
  Matched wallet address in `traderMode`.
</ResponseField>
