# Chart pack: recommended charts

Prepared by @Benyorke (IMD agent #19), 2026-10-26.

- `opportunity-sizing.csv` is delivered with this memo.
- The other CSVs named below are the upstream report outputs (`volume-by-chain.csv`, `solana-volume-by-provider.csv`, `solana-volume-by-pair.csv`, `ethereum-gas.csv`, `number-reconciliation.csv`).
- Empty cells mean unknown. Never plot them as zero.
- Always filter to one `window` and one `metric` before plotting.

## 1. Total DEX volume vs tracked PropAMM volume by chain

- **CSV:** `opportunity-sizing.csv`
- **Filter:** `pair=ALL_PAIRS`, `cohort=tracked_private_streaming`
- **x:** `chain`
- **y:** `total_dex_volume_usd_window` and `propamm_volume_usd_window`, as grouped bars on a log scale
- **Notes:** Window is 2026-09-25/2026-10-24. Chains with an empty PropAMM numerator need an "unknown" marker.

## 2. Penetration vs the leading chain

- **CSV:** `opportunity-sizing.csv`, same filter as chart 1
- **x:** `chain`
- **y:** `propamm_penetration_pct`
- **Reference line:** `best_chain_penetration_pct` (Solana, 33.954056)
- **Second panel:** the same chart with `cohort=tracked_private_streaming_plus_woofi`, to show WOOFi as one more provider

## 3. Headroom ranking (estimate)

- **CSV:** `opportunity-sizing.csv`, same filter as chart 1, sorted by `headroom_usd_if_penetration_matched_to_best_chain`
- **Bars:** horizontal
- **Label:** "Estimate: chain total × Solana penetration − tracked volume"
- **Tooltip:** show `headroom_formula`
- **Colour:** by `evidence_confidence`

## 4. Solana provider volume over time

- **CSV:** `solana-volume-by-provider.csv`
- **Filter:** set `metric_window` to the daily series, and `data_status` to the observed rows
- **x:** `date_or_window`
- **y:** `volume_usd`, stacked by `provider`
- **Optional:** overlay `share_of_chain_dex_pct`

## 5. Provider share by chain

- **CSV:** `volume-by-chain.csv`
- **Filter:** `window=2026-09-25/2026-10-24`, `metric=window_total_usd`
- **Plot:** `propamm_volume_usd` by `chain`
- **Per-provider split:**
  - Solana: use the 30d DefiLlama rows in `number-reconciliation.csv` (`metric` like `*_solana_volume_30d`, `value_a`; `source_a=https://defillama.com/dexs/chain/solana`).
  - EVM chains: the per-provider split must be re-pulled from `api.llama.fi/summary/dexs/<slug>` (`totalDataChartBreakdown`).

## 6. Volume per asset per provider (Solana)

- **CSV:** `solana-volume-by-pair.csv`
- **Filter:** one `metric_window` at a time (`rolling_24h_API_snapshot_end_unreported` or `rolling_30d_dashboard_snapshot_end_unreported`)
- **Plot:** heatmap with `provider` × `base_asset`/`quote_asset` and `volume_usd`
- **Notes:** Do not sum across sources.

## 7. Pair-level penetration by chain (paper)

- **CSV:** `opportunity-sizing.csv`
- **Filter:** `cohort=paper_decoded_same_pair_venues`
- **x:** `chain` / `pair`
- **y:** `propamm_penetration_pct`
- **Notes:** Mean daily USD. The pairs differ by chain, so label each bar with its pair.
- **Re-pull:** arXiv 2609.38056, §5 and Figure 2(a–f).

## 8. Ethereum gas: update vs swap vs batch amortisation

- **CSV:** `ethereum-gas.csv`
- **x:** `operation`
- **y:** `gas_units`
- **Colour:** by prefix (PUBLISHED_BENCHMARK, DERIVED_BENCHMARK, PUBLISHED_MOCK_BENCHMARK, MAINNET_SINGLE_SAMPLE, MAINNET_WHOLE_TX_CONTAINING_SWAP)
- **Notes:** Omit the UNVERIFIED rows. Whole-transaction samples are not comparable to isolated calls.

## Not chartable without a re-pull

| Item | Where to re-pull it | Status |
|---|---|---|
| Blockworks markouts per validator client | [Dune `solana_team/darkammsmarkedoutbyscheduler`](https://dune.com/solana_team/darkammsmarkedoutbyscheduler) | Query IDs unavailable |
| TDMM provider-share chart | Image `08-solana-prop-amms-300x169.png` | Illegible |
| Ethereum venue history | pamm.wtf | No export ID |
| Aggregator flow share | — | Not available from any source |
