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.