Hi everyone,
I wanted to share a tool I’ve been building and recently open-sourced: xchain-dex-indexer, a DEX indexer built on Subsquid SDK, currently indexing Moonbeam.
What it does
Most DEX subgraphs capture one snapshot per block — the final state after all transactions. xchain-dex-indexer captures pool state after every transaction within a block, ordered by transactionIndex. This makes it useful for MEV research, arbitrage analysis, and any use case that needs sub-block liquidity data.
Currently indexing StellaSwap V2, V3 (Pulsar/Algebra), V4, and the Nimbus stDOT vault. Data is automatically verified against StellaSwap’s official subgraphs on random blocks.
Key features
- Intra-block pool snapshots ordered by transactionIndex
- Priority fee tracking (baseFee + priorityFee) per snapshot
- Unified schema across Uniswap V2/V3/V4 forks and Substrate XYK pallets
- Multi-chain architecture — multiple parachains in a single codebase, each with isolated database and migrations, designed with Polkadot’s cross-chain interoperability in mind
The framework is designed to extend to Substrate parachains and additional EVM chains without rewriting the core engine. Contributions are welcome.
GitHub
Would love feedback from anyone in the Moonbeam ecosystem