Back to Sui

GraphQL for Sui RPC (Beta)

docs/content/references/sui-graphql.mdx

latest2.2 KB
Original Source

:::info

<ImportContent source="data-serving-gql-beta.mdx" mode="snippet" />

:::

GraphQL for the Sui RPC is a public service that enables interacting with the Sui network.

To get started with GraphQL for the Sui RPC, check out the Getting Started guide. If you'd like to learn more about the concepts used in the GraphQL service, check out the GraphQL for Sui RPC concepts page. If you'd like to view the reference documentation, check out the schema.

:::info

<ImportContent source="data-serving-msg.mdx" mode="snippet" />

:::

Key types

All GraphQL API elements are accessible via the left sidebar, the following are good starting points to explore from.

  • "Queries" lists all top-level queries for reading the chain state, from reading details about addresses and objects to <UnsafeLink href="/references/sui-api/sui-graphql/beta/reference/operations/queries/simulate-transaction.mdx">dryRunTransactionBlock</UnsafeLink>, which has an execution-like interface but does not modify the chain.
  • <UnsafeLink href="/references/sui-api/sui-graphql/alpha/reference/types/objects/object">Object</UnsafeLink> is the type representing all on-chain objects (Move values and packages).
  • <UnsafeLink href="/references/sui-api/sui-graphql/alpha/reference/types/objects/address">Address</UnsafeLink> corresponds to account addresses (derived from the public keys of signatures that sign transactions) and can be used to query the objects owned by these accounts and the transactions they have signed or been affected by. <UnsafeLink href="/references/sui-api/sui-graphql/beta/reference/types/objects/owned-or-immutable">Owner</UnsafeLink> represents any entity that can own a <UnsafeLink href="/references/sui-api/sui-graphql/beta/reference/types/objects/move-object">MoveObject</UnsafeLink> to handle cases where it is not known whether the owner is an <UnsafeLink href="/references/sui-api/sui-graphql/beta/reference/types/objects/object">Object</UnsafeLink> or an <UnsafeLink href="/references/sui-api/sui-graphql/beta/reference/types/objects/address">Address</UnsafeLink> (for example, from the perspective of a Move object looking at its owner).