Skip to main content
All trade queries return rows with a common shape:
Why two price denominations? solAmount / avgPrice are the retrocompat legacy contract — old clients keep working unchanged. quoteAmount / usdAmount / priceUsd expose the native pool quote currency for clients that want to render trades in their actual settlement asset (USDC trades show “paid 11.65 USDC” instead of “paid 0.138 SOL-equivalent”). See USDC-quoted PumpSwap pools below.
Every TradeConnection uses opaque cursor pagination. When hasMore is true, pass nextCursor back as cursor on the next call. All three trades* queries below share the same fromTime / toTime time-window arguments. Both accept either milliseconds since epoch as a decimal string ("1776180666000") or ISO-8601 / RFC-3339 ("2026-04-14T00:00:00Z"). fromTime is inclusive, toTime is exclusive. The bounds are optional and independent — pass only fromTime to get “everything since T”, only toTime for “everything before T”, or both for a strict window. The filters compose with cursor for paginating inside the window.

tradesByMint

Trades for a single token mint, ordered by timestamp.

Arguments

Example


tradesBySigner

Trades for one or many signers, merged and sorted across the whole list. The batch form is the recommended way to fetch trades across large cohorts (up to 1000 wallets) in a single round trip.

Arguments

Provide exactly one of signer or signers.

Single-signer example

Batch example

Drive pagination from the merged cursor — pass signers and the returned nextCursor back together until hasMore is false.

Time-window example (3-day rolling history)

Using fromTime lets ClickHouse prune partitions outside the window — strictly faster than paginating until you see old rows on the client.

Limits & behavior

  • Max signers per call: 1000.
  • Empty/unknown signers: contribute zero rows, do not fail the query.
  • Latency: ~100-400 ms p50, ~1-2 s p99 for 500 signers at limit ≤ 200.

tradesBySignerAndMint

Trades for a specific (signer, mint) pair — one wallet’s history on one specific token.

Arguments

Example


tradingVolume

Aggregate trading activity for a single mint over a rolling window. Returns a free-form JSON payload (not a typed object).

Arguments

Example

Typical response fields: trades, buys, sells, volume_sol, unique_traders.

USDC-quoted pools

A handful of Token-2022 mints (TRALALERO 2MBq3mrK…, Bank 2jCt3hj9… and others) launch direct on PumpSwap with USDC as the pool’s quote mint, not wSOL. The parser detects these aggregate-level (no SOL leg in the swap) and:
  1. Normalises the USDC notional into SOL-equivalent via the live SOL/USD price hook, so solAmount and avgPrice stay SOL-denominated — old clients keep rendering price × supply correctly.
  2. Drops the trade entirely when the price hook hasn’t been set yet (early startup window). The row reappears on the next price tick rather than being emitted with USDC units in a SOL-denominated field.
  3. Exposes the real USDC amount in quoteAmount, the per-token USD price in priceUsd, and the notional in usdAmount — so new clients can render the actual settlement asset.
Example response row for a TRALALERO USDC buy:
Pre-fix rows (before 2026-05-26 09:00 UTC) for USDC-quoted Token-2022 pools may have solAmount set to the priority-fee delta (~0.0001 SOL) and avgPrice in USDC/token units. Historical backfill of those rows is in flight; until it completes, filter with quoteSymbol != '' to restrict to corrected rows.

Querying ClickHouse directly

The columns above mirror raze.trades 1:1. If you have a ClickHouse user with SELECT on the raze database (region DB hosts only), you can query directly:
source lets you distinguish ingestion paths: yellowstone for live Yellowstone gRPC (canonical), shred for jito-shred local-sim gap-fills (deferred 3 s after Yellowstone), car for historical Old-Faithful backfill rows.