CtrlK
BlogDocsLog inGet started
Tessl Logo

hefgi/ponder

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

1.25x
Quality

99%

Does it follow best practices?

Impact

98%

1.25x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-5/

Production-Ready Token Indexer Deployment

Problem Description

A team has been running a Ponder indexer in development that tracks ERC-20 token balances on Ethereum mainnet. Now they need to prepare it for production deployment. The indexer watches the WETH contract at 0xc02aaa39b223fe8d0a0e5d4e34be79256ae984e4 (deployed at block 4719568) for Transfer and Approval events, maintaining current balances and approval allowances per account.

They need:

  1. The complete Ponder project configured for production with Postgres
  2. A deployment script (deploy.sh) that documents the exact commands to start the indexer and a separate API-only process for horizontal scaling
  3. A health check configuration document (healthcheck.md) that describes the available health endpoints and their behavior during backfill vs when caught up
  4. The project should support zero-downtime redeployments

The ERC-20 ABI events needed:

event Transfer(address indexed from, address indexed to, uint256 value)
event Approval(address indexed owner, address indexed spender, uint256 value)

Output Specification

Create a complete Ponder project with:

  • ponder.config.ts - Production-ready configuration
  • ponder.schema.ts - Schema for balances and allowances
  • src/index.ts - Indexing handlers for Transfer and Approval events
  • src/api/index.ts - API setup
  • tsconfig.json - TypeScript configuration
  • package.json - Dependencies
  • abis/ERC20.ts - ABI file
  • .env.local - Environment variable template with all required production variables
  • deploy.sh - Deployment commands for starting indexer and separate API process
  • healthcheck.md - Documentation of health check endpoints and their status codes

evals

SKILL.md

tile.json