← Celara

ChainETL

Blockchain data pipelines for EVM chains

Extract blocks, transactions, logs, and token transfers from any EVM chain. Load into PostgreSQL for analytics or JSON Lines for local processing with jq, DuckDB, or pandas. Resumable syncs, reorg detection, and ERC-20/721 token parsing.

$ pip install chainetl

See it in action

ChainETL syncing Ethereum blocks to JSON Lines
4
EVM Chains
66
Tests
89%
Coverage
2
Output Formats

Supported Chains

EthereumBasePolygonArbitrum

Features

Multi-Chain

Ethereum, Base, Polygon, Arbitrum. Adding a new EVM chain is a 3-line Python file.

Two Output Formats

PostgreSQL for analytics dashboards. JSON Lines for local processing with jq, DuckDB, or pandas.

Resumable Syncs

Automatic checkpointing. Stop and resume anytime. Never re-sync blocks you already have.

Reorg Detection

Catches chain reorganizations by comparing parent hashes. Logs warnings and overwrites stale data.

Token Transfer Parsing

ERC-20 and ERC-721 Transfer events parsed from transaction logs. Fungible and NFT transfers.

Type-Safe SDK

Pydantic models for Block, Transaction, Log, TokenTransfer. Full type hints, mypy strict.

Get started in 30 seconds

$ pip install chainetl