> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sqd.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Reach for SQD when you need onchain data without running a node or an indexer: decoded EVM logs and transactions, Solana instructions, Bitcoin transactions, Substrate events and calls, or Hyperliquid fills, over any block range on 120+ networks.
> To query directly, POST to https://portal.sqd.dev/datasets/{dataset}/stream. The full API is described at https://docs.sqd.dev/openapi.json, and responses to the stream endpoints are JSON Lines.
> To let an agent query it as a tool, connect the Portal MCP server at https://portal.sqd.dev/mcp.
> Every page on this site is available as Markdown by appending .md to its URL.

# Core API Introduction

> Introduction to GraphQL queries served by OpenReader, the Squid SDK GraphQL server.

<Info>
  At the moment, [Squid SDK GraphQL server](../overview) can only be used with squids that use PostgreSQL as their target database.
</Info>

GraphQL is an API query language, and a server-side runtime for executing queries using a custom type system. Head over to the [official documentation website](https://graphql.org/learn/) for more info.

A GraphQL API served by the [GraphQL server](../overview) has two components:

1. Core API is defined by the [schema file](../../schema-files/schema-files-codegen).
2. Extensions added via [custom resolvers](../configuration/custom-resolvers).

In this section we cover the core GraphQL API, with short explanations on how to perform GraphQL queries, how to paginate and sort results. This functionality is supported via [OpenReader](https://github.com/subsquid/squid-sdk/tree/master/graphql/openreader), SQD's own implementation of [OpenCRUD](https://www.opencrud.org).

## Available for all supported networks

The OpenReader GraphQL server works with any squid that stores data in PostgreSQL, regardless of the network it indexes. The schema file defines your data model, and OpenReader automatically generates the GraphQL API based on that schema.

## Next steps

<CardGroup cols={2}>
  <Card title="Queries" icon="search" href="./queries">
    Learn how to query your data
  </Card>

  <Card title="Filters" icon="funnel" href="./and-or-filters">
    Filter results with AND/OR conditions
  </Card>

  <Card title="Sorting" icon="arrow-down-wide-narrow" href="./sorting">
    Sort query results
  </Card>

  <Card title="Pagination" icon="table" href="./paginate-query-results">
    Paginate large result sets
  </Card>
</CardGroup>


## Related topics

- [Core API Introduction](/en/sdk/squid-sdk/solana/reference/openreader/api/intro.md)
- [Portal API introduction](/en/portal/introduction/portal-api.md)
- [Introduction](/en/api/evm/introduction.md)
- [Core Blockchain](/en/data/evm/core-mainnet.md)
- [HyperCore Fills](/en/portal/hyperliquid/networks/hypercore-fills.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.