🌩️GraphQL APIs

Query accounts data of any Solana program with GraphQL APIs

As a Solana developer, you're likely well-acquainted with the pros and cons of using the getProgramAccounts() RPC call. While it's a crucial tool for fetching a program's account data, it does come with its fair share of challenges. The primary pain points include its sluggish performance and the lack of features like pagination and flexible filteringβ€”something you'd expect from a conventional database. Simply put, relying solely on getProgramAccounts() in a production environment might not deliver the seamless user experience you're aiming for.

In the quest for a top-notch user interface, development teams often find themselves investing considerable time and resources in crafting custom indexing pipelines. These pipelines are indispensable for circumventing the limitations of getProgramAccounts(). However, the trade-off is an increased development cost and a prolonged timeline to bring your project to fruition. To compound matters, these solutions must function as real-time indexing systems to ensure users always have access to the most current data directly from the blockchain.

While tackling this challenge in the high-speed realm of Solana development isn't a walk in the park, it's a puzzle we've successfully cracked.

Enter Shyft SuperIndexers.

Summary: Given an IDL, we spin up a GraphQL API for querying any program's account data.

What happens in the background:

  • Map IDL to a DB schema.

  • Backfill all the program accounts.

  • Use our real-time infra layer to keep DB state in-sync with on-chain state.

  • Expose the data through GraphQL APIs.

  • Make sure its always in sync with on-chain.

We make all of this possible so you don't spend months of engineering effort enabling queries like

Get me all governance proposals with name LIKE "xyz".

Last updated