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-1/

ERC-20 Token Transfer Indexer

Problem Description

A DeFi analytics team needs to track all transfer events for the USDC token on Ethereum mainnet. They want a Ponder indexer that captures every Transfer event, stores the sender, receiver, amount, and block timestamp, and exposes the data through a standard query interface with filtering and pagination.

The USDC contract address on mainnet is 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 and it was deployed at block 6082465.

The standard ERC-20 Transfer event ABI is:

[{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true},{"name":"to","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}]},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true},{"name":"spender","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}]}]

Output Specification

Create a complete Ponder project with the following files:

  • ponder.config.ts - Chain and contract configuration
  • ponder.schema.ts - Database schema for transfer records
  • src/index.ts - Indexing function for Transfer events
  • src/api/index.ts - API route setup for querying data
  • tsconfig.json - TypeScript configuration
  • package.json - Project dependencies
  • abis/ERC20Abi.ts - The ABI file
  • .env.local - Environment variable template

The project should be ready to run with ponder dev after providing an RPC URL.

evals

scenario-1

criteria.json

task.md

SKILL.md

tile.json