Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Historical trades

The live feed is best-effort — events older than 30 seconds at ingest go straight to history without a live push. History is the source of truth.

Window

| Default look-back | 90 days | | Maximum window | 90 days |

You can narrow the window client-side when querying, but 90 days is the outer limit. Older events may be pruned.

Row limits

| Default rows per request | 50 | | Maximum rows per request | 500 |

If you need more than 500 events, paginate by narrowing the window (e.g., query one week at a time).

What each row contains

Same shape as the live feed:

FieldNotes
Wallet addressThe watched wallet
SideBuy or sell
Token mint, symbol, nameEnriched from cached metadata
AmountsToken amount + SOL / USDC moved
Price (USD)At the time of the swap
Market cap (USD)At the time of the swap
Tx signatureSolscan-linkable
TimestampOn-chain timestamp, not ingest time

Sorted newest-first.

How it's served

Results are merged from a short-lived in-memory cache and the persistent event store. Repeat queries for the same wallet and window return quickly; fresh queries hit the store.

Because the live feed is filtered by a 30-second window but the store records everything, history can contain events that never fired live. This is expected.

Backfill on wallet add

When you add a new wallet, Interstate kicks off a backfill that pulls roughly the last 10 transactions for that wallet. You can start scanning history immediately after adding.

  • Backfill runs in the background and usually completes within a minute.
  • If the wallet was recently inactive, history may be sparse until new events arrive.
  • On Monad, backfill depth depends on what the indexer can return at wallet-add time.

Muted wallets

Events from muted wallets are stored and queryable in history exactly like events from unmuted wallets. Muting only suppresses the live push.

Multi-wallet queries

You can query across multiple wallets in one request. The response merges events from all requested wallets and sorts by timestamp. Row limits apply to the merged result, not per wallet.

For a wide scan (say, 50 smart-money wallets over 30 days), expect results to be dominated by the most active wallets in the set.

Time zones

Timestamps are stored and returned as Unix epoch milliseconds. The UI displays them in your local browser time zone. On-chain timestamp is authoritative; ingest time is not shown.

What history doesn't include

  • Transfers that aren't swaps. Plain sends don't appear.
  • Failed transactions. Only successful, parsed swaps are stored.
  • Private transactions. Anything that didn't hit a DEX Interstate indexes won't appear.
  • PnL calculations for the watched wallet. History is a list of swaps, not a computed performance view.

Working from history

Historical trades pair well with Token analytics — pick a swap a watched wallet made last week, open the token's trade page, and review the safety metrics before deciding whether to buy now.

Troubleshooting

Empty history for a wallet I just added. Backfill is still running, or the wallet has had no recent activity in the indexed DEXes. Wait ~60 seconds and query again.

Row counts capped at 50. That's the default page size. Pass a larger limit (up to 500) if the client exposes it.

Events older than 90 days missing. Outside the retention window. Not recoverable.

What to read next