# Cross Defi Queries

{% hint style="success" %}
Cross program queries are only possible with Shyft's GraphQL APIs. Fastest and easiest way to query multiple protocols in a single call.
{% endhint %}

We often need to get data from multiple protocols. For eg, fetching all liquidity pools for USDC token  across Raydium, Orca, and more. Right now if you want to achieve this

* You can use respective Dex's SDK and do a getProgramAccounts call. <mark style="color:yellow;">This is super slow.</mark>
* Index data from multiple DEXs on your own. <mark style="color:yellow;">This is super tough.</mark>

With **Shyft's GraphQL APIs**, you can query multiple protocols in a single call. So fetching all liquidity pools from Raydium, Orca and more can be done in a single call.  On top of that, you get data in a parsed format.

Going through our <mark style="color:yellow;">getting started</mark> section will help you understand few basics first.

{% content-ref url="/pages/u1PUzJS4QLAL6nLyVpe3" %}
[Getting Started](/solana-indexers/graphql-apis/getting-started.md)
{% endcontent-ref %}

TLDR:  In order to start querying protocols, follow these steps:

* Get an [<mark style="color:red;">API key</mark>](https://shyft.to/get-api-key) if you don't have one.
* Head to any GraphQL client of your choice, for example [<mark style="color:red;">Hasura</mark>](https://cloud.hasura.io/public/graphiql)<mark style="color:red;">.</mark>
* Enter the GraphQL endpoint for your preferred network
  * Mainnet: <mark style="color:yellow;"><https://programs.shyft.to/v0/graphql/?api\\_key={api-key}\\&network=mainnet-beta></mark>
  * Devnet: <mark style="color:yellow;"><https://programs.shyft.to/v0/graphql/?api\\_key={api-key}\\&network=devnet></mark>
* Start filtering, sorting and querying data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shyft.to/solana-indexers/case-studies/query-solana-dexes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
