Sui RPC Endpoint Documentation | ERPC

Sui RPC Endpoint Documentation

Use ERPC as your Sui RPC endpoint for unary gRPC-web requests. Sui RPC is part of ERPC's RPC APIs within our Global Edge Blockchain Infrastructure, and the API key can be managed from the ERPC Web Dashboard.
You can use the same RPC key as Solana, Ethereum, and Avalanche.
Send your API key as Authorization: Bearer <YOUR_API_KEY>. The Sui SDK appends the service path to the base URL, so the key goes in the header rather than the api-key query parameter.

Endpoints

Use either base URL as the baseUrl of your gRPC-web transport:
text
https://edge.erpc.global/sui
text
https://sui.erpc.global
Requests are binary gRPC-web (application/grpc-web+proto) POSTs to /sui.rpc.v2.<Service>/<Method>, one uncompressed protobuf frame per unary call.

Examples

Here is a transport configuration example.
typescript
import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport'

const transport = new GrpcWebFetchTransport({
  baseUrl: 'https://sui.erpc.global', // or https://edge.erpc.global/sui
  format: 'binary',
  meta: { Authorization: 'Bearer <YOUR_API_KEY>' },
})
Pass the transport to the unary service client generated for the Sui gRPC API.
You can obtain and check your API key on the ERPC Web Dashboard: ERPC Web Dashboard

Batch Requests

Sui has no batch requests. Each HTTP request carries one unary call and is metered as one call. The request body can be up to 1 MiB.

Usage Metering

Usage is metered in tokens, and the token rate can differ by method. Each unary call is metered as one call.

Free Plan Limits

On the Free plan, your account can send one request per 10 seconds. The limit is counted per account, not per endpoint, so a request to another chain can also count toward it. A request sent sooner is answered with HTTP 429, and the retry-after header gives the wait in seconds.

Supported Methods

The endpoint serves these 19 unary gRPC-web methods. Each is called at /sui.rpc.v2.<Service>/<Method> and the capitalization must match exactly.
  • LedgerService (5): GetServiceInfo, GetCheckpoint, GetObject, GetTransaction, GetEpoch
  • MovePackageService (4): GetPackage, GetDatatype, GetFunction, ListPackageVersions
  • NameService (2): LookupName, ReverseLookupName
  • SignatureVerificationService (1): VerifySignature
  • StateService (5): GetCoinInfo, GetBalance, ListBalances, ListDynamicFields, ListOwnedObjects
  • TransactionExecutionService (2): ExecuteTransaction, SimulateTransaction
A path that is not listed is answered with HTTP 400. Native gRPC, text-format gRPC-web, streaming, and BatchGet* calls are not supported.

Response Status Codes

HTTP statusMeaning
200Successful unary call. The body is application/grpc-web+proto.
400A path outside the Supported Methods list, a body that is not one uncompressed binary gRPC-web frame, or a body over 1 MiB.
401Missing or invalid API key, or an IP or Origin restriction on the key is not met.
405A request method other than POST.
426A WebSocket Upgrade was requested. The endpoint is HTTP only.
429Rate limited, including the Free plan limit of one request per 10 seconds. If a retry-after header is present, wait that many seconds.
502The upstream call could not be completed: a failed upstream response, a response over 8 MiB, no answer within 30 seconds, or a grpc-status other than 0.
503The service is temporarily unavailable.

Sui RPC Methods and Documentation

For the full list of standard methods, parameters, and specifications, please refer to the official documentation.