Lite Chain Indexer
Lite Chain Indexer is the data foundation. A lightweight, self-hosted, multi-chain blockchain indexer that turns raw on-chain activity into queryable, analyzable data โ watching ERC-20/TRC-20/SPL transfers, DEX swap events (Uniswap V2/V3 and forks), pair/pool deployments, and internal-transfer traces โ entirely through free public RPC endpoints.
No node. No gateway. No bill. 1.59B+ rows in production on modest hardware, with DuckDB-queryable parquet archives on B2.
Fully open source (MIT): git.rugmunch.io/RugMunchMedia/lite-chain-indexer
โ Live-platform facts on this page verified against production on 2026-08-24.
Live production numbersโ
| Store | Rows (live) |
|---|---|
| EVM transfers | 1.23 billion |
| DEX swap events | 271 million |
| Holder balances | 43.8 million |
| Wallet labels | 39.7 million |
| Solana transfers | 2.9 million |
| Internal transfers | 1.35 million |
| Deployer events | 545 thousand |
| Scam addresses | 250 thousand |
Chains actively indexed in our production state: Ethereum, Base, BSC, Polygon, Arbitrum, Optimism, Avalanche, Gnosis, Linea, Scroll, zkSync Era, Mantle (12 EVM) plus Solana and Tron. The software supports up to 17 chains adding Celo, Fantom, and Robinhood Chain.
Why it's differentโ
- $0/month forever โ runs on free public RPCs (62 curated endpoints across chains; ~45 active by default). No paid APIs, no gateway fees.
- Self-healing by default โ backward-state guard recovers a clobbered
state file from ClickHouse max block; header-aware throttling respects
Retry-Afterexactly; circuit breakers; a stalled chain auto-disables so the others keep indexing. - Address-first projections โ "all transfers for wallet X" is a sub-second projection scan in ClickHouse, not a full-table scan.
- Bootstrap from snapshots โ don't re-index from genesis over free RPCs (days). Download a published parquet snapshot and replay it into ClickHouse in minutes, then resume live from the snapshot's end block.
- DuckDB-queryable archive โ parquet snapshots exported to B2 on a schedule; query historical data with plain SQL. No vendor lock-in.
- Plugin system โ drop a
.pyfile intoPLUGIN_DIRto add custom event handlers without forking. - Demand-aware โ lazy per-chain DEX/deployer indexing: long-tail chains only index extra event types when something actually queries them.
- ~2 GB RAM for all chains concurrently โ runs on a $5 VPS.
Quick startโ
# Install
pip install "git+https://git.rugmunch.io/RugMunchMedia/lite-chain-indexer.git"
# One chain, one batch (great for testing)
lite-indexer --chain ethereum --from-block 25645000 --to-block 25646000
# Daemon mode โ continuously index multiple chains in parallel
lite-indexer --daemon --chains ethereum,base,bsc,polygon
# Full daemon: DEX + deployer tracking, from chain tip
lite-indexer --daemon --dex --deployers --start-from-head
# Run as a systemd service
sudo bash scripts/install.sh
journalctl -u lite-indexer -f
ClickHouse is optional (set CH_HOST, CH_PORT, CH_DATABASE) โ without it,
indexing still works and persists to state files + cold tier.
Bootstrap from snapshot (minutes, not days)โ
lite-indexer bootstrap --list # what snapshots are available?
lite-indexer bootstrap --all # every chain from its latest snapshot
lite-indexer bootstrap --chain ethereum # one chain
lite-indexer daemon # stay live from the snapshot end block
How RMI uses itโ
The managed platform runs Lite Chain Indexer as the primary source of raw chain truth feeding:
- RugCharts โ OHLCV built from indexed swaps (271M+ dex events)
- RugMaps โ fund-flow edges from transfer history
- RugMunch Scanner โ holder/bundle/deployer analysis
- Wallet Intelligence โ balance reconciliation and PnL history
Key configurationโ
| Variable | Default | Purpose |
|---|---|---|
CH_HOST / CH_PORT / CH_DATABASE | 127.0.0.1 / 9000 / wallet_memory | ClickHouse writer |
| Data directory setting | /var/data/chain-indexer | State + parquet directory |
LAZY_INDEXING_ENABLED | 1 | Lazy per-chain DEX/deployer indexing |
REORG_PROTECTION_ENABLED | 1 | Reorg staging / fork rollback (EVM) |
RECONCILIATION_ENABLED | 1 | Balance reconciliation cron |
BOOTSTRAP_B2_BUCKET | b2-crypt:chain-data | rclone remote for bootstrap snapshots |
Full table in the repo README.
Related pagesโ
- Architecture โ where the indexer sits in the platform
- RugBrain โ the semantic layer above the raw rows