[Supanode](https://supanode.xyz/)[Learn](https://supanode.xyz/learn)Audit historical DEX coverage before a backtest

# Audit historical DEX coverage before a backtest

Check markets, event types, time windows and update delay with real fixtures.

**On this page**[A headline start date is not a coverage matrix](https://supanode.xyz/learn/audit-historical-dex-coverage#a-headline-start-date-is-not-a-coverage-matrix)[Build a coverage sheet](https://supanode.xyz/learn/audit-historical-dex-coverage#build-a-coverage-sheet)[Use known transactions](https://supanode.xyz/learn/audit-historical-dex-coverage#use-known-transactions)[Make exclusions part of the result](https://supanode.xyz/learn/audit-historical-dex-coverage#make-exclusions-part-of-the-result)[Sources](https://supanode.xyz/learn/audit-historical-dex-coverage#sources)

## A headline start date is not a coverage matrix

A dataset may start years ago while individual tables or columns begin later. A backtest can also need pool creation, migrations, failed swaps or liquidity changes in addition to successful trades. Write the required evidence for the strategy before selecting a dataset.

## Build a coverage sheet

| Dimension | Example check |
| --- | --- |
| Protocol | Exact program/version and market family |
| Events | Swaps, liquidity, creation, migrations or other required records |
| Time | Earliest record, retention and known missing intervals |
| Columns | When each required field began being populated |
| Freshness | Observed lag between chain event and queryability |
| Identity | Keys for deduplication and joins |

Fill this sheet from the provider's current schema and sample queries, then retain the check date.

## Use known transactions

1.  Choose fixtures across the beginning, middle and end of the desired interval.
2.  Match transaction signatures and exact event identities in the SQL results.
3.  Test migrated pools and program upgrades separately.
4.  Check that token units, prices and timestamps mean what the strategy assumes.

## Make exclusions part of the result

If one DEX or period is absent, exclude it explicitly or obtain another source. Do not replace missing rows with zeros and treat the backtest as complete. Supanode documents retention per Solana table, so a short-lived transfer table and a longer trade table cannot support the same historical questions. Document observed dataset coverage and exclusions in the backtest report.

## Sources

-   [Supanode Solana table coverage](https://supanode.xyz/docs/solana/indexer/tables)
-   [Supanode schema and retention](https://supanode.xyz/docs/solana/indexer/database-schema)
-   [Solana transaction reference](https://solana.com/docs/rpc/http/gettransaction)

## Continue reading

[Historical state and transactions](https://supanode.xyz/learn/archive-node-vs-full-node)[Size an RPC workload](https://supanode.xyz/learn/rpc-credits-vs-flat-pricing)[Learn library](https://supanode.xyz/learn)

---
Source: https://supanode.xyz/learn/audit-historical-dex-coverage
