What problem does it solve? Reading historical blockchain data is not possible with plain RPC calls: eth_call only reads current state, and scanning millions of blocks with eth_getLogs times out or burns RPC credits. This Skill explains how to read onchain history correctly using events, indexers, and provider APIs. ## Core Features & Use Cases - Event-First Contract Design: Guidance on emitting and indexing Solidity events so frontends, dashboards, and block explorers can query every state change. - The Graph Subgraphs: Step-by-step schema, mapping, and deployment workflow for turning contract events into a queryable GraphQL API. - Indexer Selection: Comparison of The Graph, Dune Analytics, Alchemy/QuickNode APIs, Ponder, and direct RPC, with a pattern table mapping common needs (activity feeds, NFT browsers, price history) to the right tool. - Use Case: You are building an NFT collection browser. Instead of scanning blocks, deploy a subgraph that indexes Transfer events, then query token ownership and transfer history via GraphQL in milliseconds. ## Quick Start Ask the assistant to design an event schema and The Graph subgraph for your smart contract so its historical activity becomes queryable via GraphQL.