High-performance Solana DEX transaction indexer built with Substreams. Stream and parse swap transactions across multiple DEX protocols in real timeโfor analytics, MEV research, trading bots, and on-chain data pipelines.
- Features
- Supported DEX Protocols
- Architecture
- Quick Start
- Authentication
- Running the Indexer
- Example Output
- Use Cases
- Publishing
- Connect
| Real-time | Stream Solana DEX swaps as they land on-chain |
| Substreams | Built on StreamingFast Substreams for scalable, deterministic indexing |
| Program filtering | Only processes transactions that touch supported DEX Program IDs |
| Multi-protocol | Single pipeline for multiple DEX protocols |
| Use-case ready | Analytics, MEV, trading signals, and data pipelines |
| Protocol | Status |
|---|---|
| Raydium | โ |
| Orca | โ |
| Meteora | โ |
| Pump.fun | โ |
| PumpSwap | โ |
| Bonk.fun | โ |
โโโโโโโโโโโโโโโโโโโ
โ Solana Blocks โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Substreams Engine โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ map_filtered_transactions โ โ Filter by Program IDs, exclude voting
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DEX Swap Parser โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Structured Trade Events โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JSON / Your Data Pipeline โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Input: Solana blocks from the Substreams engine
- Logic: Keeps only transactions that interact with supported DEX Program IDs; voting transactions are excluded.
- Output: Filtered transactions ready for the DEX swap parser.
-
Install the Substreams CLI
-
Build the project
substreams build
-
Authenticate (see Authentication)
-
Run (see Running the Indexer)
Log in to the StreamingFast endpoint before running the indexer:
substreams authStream filtered DEX transactions and write them to a file:
substreams run \
-e mainnet.sol.streamingfast.io:443 \
substreams.yaml \
map_filtered_transactions \
-s 355325435 \
-t +1 \
> trades.jsonl-sโ start slot-t +1โ stream one block (adjust for continuous streaming)
Each emitted event is a structured trade record (e.g. one line per trade in trades.jsonl):
{
"dex": "Raydium",
"token_in": "SOL",
"token_out": "USDC",
"amount_in": 1.5,
"amount_out": 150.2,
"wallet": "abc123",
"slot": 355325435
}Use this stream for dashboards, research, or downstream pipelines.
- DEX analytics dashboards โ volume, pairs, and flow in real time
- MEV research โ detect and analyze sandwich and arbitrage patterns
- Trading bots โ use on-chain swap flow as signals
- On-chain data pipelines โ feed data warehouses or ML models
- Market monitoring โ track liquidity and large trades across DEXes
Publish this Substream to the Substreams registry:
substreams registry login
substreams registry publishBuilt with Substreams for the Solana ecosystem.