The indexer is a backend service designed to track and sync transactions and events for Solana programs. It processes blockchain data, extracts relevant information, and stores it in a database for further use.

Core Functionalities

  1. Program & Environment Management
    • Retrieves and validates programs, ensuring they are linked to authorized users or teams.
    • Supports dynamic loading of program configurations.
  2. Transaction & Event Processing
    • Connects to Solana RPC to fetch transaction history.
    • Uses instruction decoders and event parsers to extract structured data.
  3. Data Storage & Syncing
    • Saves indexed transactions and events to a database.
    • Maintains synchronization using last known signatures.
  4. Resource & Credit Control
    • Enforces credit limits for indexing operations.
    • Resets daily credits for users and teams.
  5. Error Handling & Monitoring
    • Implements logging and error tracking via Sentry for debugging.
    • Handles RPC call failures with retry mechanisms.
  6. Scalability & Extensibility
    • Designed to support multiple Solana programs.
    • Includes optional message queue integration for event-driven processing.