Build EVM blockchain data indexers using Ponder (ponder.sh) - an open-source TypeScript framework for indexing smart contract events, transactions, and traces into custom database schemas with type-safe APIs. Use when the user mentions ponder, blockchain/EVM indexing, onchain data pipelines, subgraph replacement, or wants to index smart contract events into a queryable database.
98
99%
Does it follow best practices?
Impact
98%
1.25xAverage score across 5 eval scenarios
Passed
No known issues
ERC-20 token indexer setup
ABI as const
100%
100%
Correct startBlock
100%
100%
RPC env var pattern
100%
100%
Hex type for addresses
0%
100%
Bigint for amounts
100%
100%
Snake case table name
0%
100%
Virtual module imports
0%
100%
Store API usage
100%
100%
Exact tsconfig
25%
100%
GraphQL middleware
0%
100%
Lowercase address
100%
100%
Factory contract indexing
Factory config
100%
100%
Composite primary key
0%
33%
Child contract address
100%
100%
ABIs as const
100%
100%
Hex for addresses
100%
100%
Bigint for amounts
100%
100%
Pool address index
100%
100%
Virtual imports
50%
100%
Lowercase addresses
100%
100%
Correct startBlock
100%
100%
Store API usage
100%
100%
Multi-chain indexing with ordering
Omnichain ordering
0%
100%
Both chains configured
100%
100%
Chain-specific RPC vars
100%
100%
Chain distinction in handler
70%
100%
Correct startBlocks
100%
100%
Hex for addresses
100%
100%
Bigint for amount
100%
100%
Query indexes
100%
100%
Custom Hono route
100%
100%
Read-only API db
100%
100%
ABI as const
100%
100%
Schema design and upsert patterns
Upsert for accounts
100%
100%
Existing row in callback
100%
100%
Hex for addresses
100%
100%
Bigint for token ID
100%
100%
Snake case tables
100%
100%
Owner index
0%
100%
Held count index
100%
100%
Store API not SQL
100%
100%
Virtual imports
100%
100%
ABI as const
100%
100%
Correct startBlock
100%
100%
Lowercase address
100%
100%
Production deployment configuration
Schema flag in start
30%
100%
Serve command
70%
100%
Health endpoint
100%
100%
Ready endpoint
100%
100%
DATABASE_URL env var
100%
100%
DATABASE_SCHEMA env var
25%
100%
Allowance composite key
0%
100%
Hex for addresses
100%
100%
Bigint for values
100%
100%
ABI as const
100%
100%
Correct startBlock
100%
100%
Lowercase address
100%
100%