Retrieve enriched trades for a specific pool, returning the same swap-enriched schema used by WebSocket multi-event streams — including full pairData (market details), baseTokenData & quoteTokenData (token details), and position (PnL).
swap-enriched event. Use it
to backfill historical trades so that your UI renders identically whether
the data came from the live stream or from this REST endpoint.| Parameter | Required | Description |
|---|---|---|
blockchain | Yes | Blockchain name or chain ID (e.g., "base", "ethereum", 56) |
address | Yes | Pool/pair contract address |
limit | No | Number of trades per page (default: 10) |
offset | No | Offset for pagination (default: 0) |
sortOrder | No | Sort order: asc or desc (default: desc) |
label | No | Filter by wallet label (e.g., proTrader, smartTrader, freshTrader, dev) |
swapTypes | No | Comma-separated swap types to filter (e.g., "REGULAR,MEV") |
type | No | Filter by trade direction: buy or sell |
transactionSenderAddresses | No | Comma-separated wallet addresses to filter (max 25) |
minAmountUSD | No | Minimum trade amount in USD |
maxAmountUSD | No | Maximum trade amount in USD |
fromDate | No | Start date filter (ISO 8601 or Unix timestamp) |
toDate | No | End date filter (ISO 8601 or Unix timestamp) |
data[] array contains trades in the swap-enriched stream format — the same
schema produced by the WebSocket multi-event stream. All field names are camelCase.
| Field | Type | Description |
|---|---|---|
addressToken0 | string | Token 0 address |
addressToken1 | string | Token 1 address |
amount0 | number | Absolute formatted amount of token 0 |
amount1 | number | Absolute formatted amount of token 1 |
amountUSD | number? | USD value of the trade |
rawAmount0 | string | Raw (smallest unit) amount of token 0 |
rawAmount1 | string | Raw (smallest unit) amount of token 1 |
priceUSDToken0 | number? | USD price of token 0 at execution |
priceUSDToken1 | number? | USD price of token 1 at execution |
swapType | string | Swap type (e.g., REGULAR, MEV, DEPOSIT, WITHDRAWAL) |
poolType | string | null | Pool type (e.g., uniswap-v2, uniswap-v3, raydium-clmm) |
poolAddress | string | Pool/pair address |
swapSenderAddress | string | null | Swap sender address |
transactionHash | string | Transaction hash |
transactionSenderAddress | string | Transaction sender (tx.from) |
transactionIndex | number | null | Transaction index in block (null for historical) |
transactionSwapsCount | number | Number of swaps in this transaction |
swapRecipient | string | null | Actual beneficiary of the swap (important for AA wallets) |
swapIndex | number | Index of this swap within the transaction |
ratio | number | Swap ratio |
chainId | string | Chain ID (e.g., evm:8453, solana:solana) |
timestamp | string | Trade timestamp in milliseconds (as string) |
blockHeight | number | null | Block height (null for historical REST) |
blockHash | string | null | Block hash (null for historical REST) |
logIndex | number | null | Log index (null for historical REST) |
platform | string | null | Trading platform/aggregator identifier |
| Field | Type | Description |
|---|---|---|
rawPreBalance0 | string | null | Pre-swap raw balance of token 0 |
rawPreBalance1 | string | null | Pre-swap raw balance of token 1 |
rawPostBalance0 | string | null | Post-swap raw balance of token 0 |
rawPostBalance1 | string | null | Post-swap raw balance of token 1 |
| Field | Type | Description |
|---|---|---|
gasFeesUSD | number | Gas fees in USD |
platformFeesUSD | number | Platform fees in USD |
mevFeesUSD | number | MEV fees in USD |
totalFeesUSD | number | Total fees in USD |
gasFeesNativeRaw | string | Gas fees in native token (raw) |
platformFeesNativeRaw | string | Platform fees in native token (raw) |
mevFeesNativeRaw | string | MEV fees in native token (raw) |
totalFeesNativeRaw | string | Total fees in native token (raw) |
deriveSwapView() logic as the WebSocket stream:
| Field | Type | Description |
|---|---|---|
baseToken | string | Base token address |
quoteToken | string | Quote token address |
pair | string | Pool/pair address |
date | string | Trade date (ISO 8601) |
tokenPrice | number | Base token price in USD |
tokenPriceVs | number | Quote token price in USD |
priceNative | number | Base token price in quote token terms |
tokenAmount | number | Formatted base token amount traded |
tokenAmountVs | number | Formatted quote token amount traded |
tokenAmountUSD | number? | USD value of the trade |
type | string | Trade direction: buy or sell |
operation | string | Operation type (e.g., regular, deposit, withdrawal) |
blockchain | string | Blockchain name |
hash | string | Transaction hash |
sender | string | Transaction sender address |
tokenAmountRaw | string | Raw base token amount (smallest units) |
tokenAmountRawVs | string | Raw quote token amount (smallest units) |
| Field | Type | Description |
|---|---|---|
baseTokenData | object? | Full TokenDetailsOutput for the base token — see below |
quoteTokenData | object? | Full TokenDetailsOutput for the quote token — see below |
pairData | object? | Full MarketDetailsOutput for the pool — see below |
marketCapUSD | number? | Base token market cap (convenience shortcut from baseTokenData) |
marketCapDilutedUSD | number? | Base token diluted market cap |
totalSupply | number? | Base token total supply |
circulatingSupply | number? | Base token circulating supply |
position object contains the swap recipient’s aggregated PnL data for this token:
| Field | Type | Description |
|---|---|---|
position.balance | number | Estimated current token balance |
position.rawBalance | string | Raw balance (smallest units) |
position.amountUSD | number | Current position value in USD |
position.nativeBalanceRaw | string | Native token balance (raw) |
position.nativeBalance | number | Native token balance |
position.buys | number | Total buy count |
position.sells | number | Total sell count |
position.volumeBuyToken | number | Total tokens bought |
position.volumeSellToken | number | Total tokens sold |
position.volumeBuy | number | Total buy volume in USD |
position.volumeSell | number | Total sell volume in USD |
position.avgBuyPriceUSD | number | Average buy price in USD |
position.avgSellPriceUSD | number | Average sell price in USD |
position.realizedPnlUSD | number | Realized PnL in USD |
position.unrealizedPnlUSD | number | Unrealized PnL in USD |
position.totalPnlUSD | number | Total PnL (realized + unrealized) |
position.realizedPnlPercent | number | Realized PnL as percentage |
position.unrealizedPnlPercent | number | Unrealized PnL as percentage |
| Field | Type | Description |
|---|---|---|
labels | string[]? | Wallet labels (e.g., smartTrader, sniper, dev, bundler) |
walletMetadata | object | null | Entity info (name, logo, labels, type) from known wallets database |
platformMetadata | object | null | Platform details: id, name, logo |
pairData (MarketDetailsOutput)| Field | Type | Description |
|---|---|---|
token0 / token1 | object | Token metadata (address, chainId, symbol, name, decimals, id, priceUSD, logo, totalSupply, circulatingSupply, marketCapUSD, marketCapDilutedUSD, deployer, createdAt, athUSD, atlUSD, athDate, atlDate, bonded, bondingPercentage, …) |
baseToken / quoteToken | string | Base and quote token addresses |
liquidityUSD | number | null | Pool liquidity in USD |
priceUSD | number | null | Current token price in USD |
priceToken | number | null | Price in quote token terms |
priceChange{T}Percentage | number | null | Price change % for T = 1min, 5min, 1h, 4h, 6h, 12h, 24h |
volume{T}USD | number | null | Volume in USD for T = 1min, 5min, 15min, 1h, 4h, 6h, 12h, 24h |
volumeBuy{T}USD / volumeSell{T}USD | number | null | Buy/sell volume split for each timeframe |
trades{T} | number | null | Trade count for each timeframe |
buys{T} / sells{T} | number | null | Buy/sell count for each timeframe |
buyers{T} / sellers{T} / traders{T} | number | null | Unique buyer/seller/trader count for each timeframe |
feesPaid{T}USD | number | null | Fees paid in USD for each timeframe |
holdersCount | number | null | Number of token holders |
top10HoldingsPercentage | number | null | % held by top 10 wallets |
devHoldingsPercentage | number | null | % held by deployer |
insidersHoldingsPercentage | number | null | % held by insiders |
bundlersHoldingsPercentage | number | null | % held by bundlers |
snipersHoldingsPercentage | number | null | % held by snipers |
exchange | object | null | { name, logo } — DEX exchange info |
type | string | null | Pool type (e.g., univ2, univ3) |
security | object | null | Security flags (honeypot, mintable, etc.) |
baseTokenData / quoteTokenData (TokenDetailsOutput)| Field | Type | Description |
|---|---|---|
address | string | Token contract address |
chainId | string | Chain ID (e.g., evm:1) |
symbol / name | string | Token symbol and name |
decimals | number | Token decimals |
priceUSD | number | null | Current price in USD |
totalSupply / circulatingSupply | number | null | Supply metrics |
marketCapUSD / marketCapDilutedUSD | number | null | Market cap metrics |
liquidityUSD | number | null | Liquidity in USD |
priceChange{T}Percentage | number | null | Price change % for each timeframe |
volume{T}USD | number | null | Volume in USD for each timeframe |
holdersCount | number | null | Number of holders |
deployer | string | null | Deployer address |
security | object | null | Security flags |
walletMetadata| Field | Type | Description |
|---|---|---|
entityName | string | null | Entity name (e.g., “Binance 14”) |
entityLogo | string | null | Entity logo URL |
entityLabels | string[] | Entity labels |
entityType | string | null | Entity type (e.g., “cex”) |
entityDescription | string | null | Entity description |
entityTwitter | string | null | Entity Twitter handle |
entityWebsite | string | null | Entity website |
entityGithub | string | null | Entity GitHub |
entityDiscord | string | null | Entity Discord |
entityTelegram | string | null | Entity Telegram |
platformMetadata| Field | Type | Description |
|---|---|---|
id | string | Platform identifier (e.g., "photon") |
name | string | Display name (e.g., "Photon") |
logo | string | null | Platform logo URL |
label parameter accepts the following values (these are the actual enum string values to pass):
proTrader: Trades from known professional trading platformssmartTrader: Trades from wallets identified as smart traders in the last 7 daysfreshTrader: Trades from newly funded wallets (within last 24 hours)dev: Trades from token deployer addressessniper: Trades from sniper walletsinsider: Trades from insider walletsbundler: Trades from bundler wallets| Feature | /token/trades | /token/trades-enriched |
|---|---|---|
| Schema | Custom REST format | Stream swap-enriched format |
| pairData | Not included | Full MarketDetailsOutput |
| baseTokenData | Not included | Full TokenDetailsOutput |
| quoteTokenData | Not included | Full TokenDetailsOutput |
| position (PnL) | Not included | Full PnL per swap recipient |
| labels | Not included | Wallet labels per trade |
| Use case | General trade queries | Historical backfill for live feeds |
| Field naming | camelCase | camelCase (matches WS stream) |
Blockchain name or chain ID
Pool/pair contract address
Offset for pagination (default: 0)
Number of trades per page (default: 10)
Sort order: asc or desc (default: desc)
asc, desc Filter by wallet label (e.g., sniper, insider, bundler)
sniper, insider, bundler, proTrader, smartTrader, freshTrader, dev, liquidityPool Comma-separated swap types to filter (e.g., "REGULAR,MEV")
Filter by trade direction: "buy" or "sell"
buy, sell Comma-separated wallet addresses to filter (max 25)
Maximum trade amount in USD
Minimum trade amount in USD
Start date filter (timestamp or ISO string)
End date filter (timestamp or ISO string)
Enriched token trades response