API Reference
Complete documentation for all Inodra API methods and gateways.
Gateway Documentation
Complete guides for each gateway type:
gRPC Proxy
High-performance binary protocol with server reflection enabled. Supports both native gRPC (servers, CLIs - full bidirectional streaming) and gRPC-Web (browsers) on the same endpoint.
- Endpoint:
mainnet-grpc.inodra.com:443(TLS required) - Proto Files:Sui gRPC Proto Definitions
- API Reference: Sui gRPC Documentation
- Server Reflection: Enabled - use
grpcurlfor service discovery
GraphQL Proxy
Flexible queries through Inodra-managed Sui GraphQL nodes.
- Endpoint:
https://mainnet-api.inodra.com/v1/graphql - Schema Reference: Sui GraphQL Schema
- Concepts Guide: Sui GraphQL Concepts
- Examples: Sui GraphQL Examples
JSON-RPC Gateway
Drop-in replacement for Sui RPC nodes with long-term support commitment.
- Endpoint:
https://mainnet-api.inodra.com/v1/jsonrpc - Methods: Complete Sui JSON-RPC compatibility
- Sui Reference: Sui JSON-RPC Documentation
Note: While Sui has deprecated JSON-RPC, Inodra maintains full compatibility for the foreseeable future by translating requests to GraphQL/gRPC behind the scenes.
Authentication
All gateways use the same API key authentication:
Primary Method (Recommended):
curl -X POST https://mainnet-api.inodra.com/v1/graphql \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ chainIdentifier }"}'Alternative Method (Also Supported):
curl -X POST https://mainnet-api.inodra.com/v1/graphql \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ chainIdentifier }"}'Query Parameter (compatibility only - not recommended):
curl -X POST "https://mainnet-api.inodra.com/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ chainIdentifier }"}'The api_key query parameter works on all HTTP gateways (JSON-RPC, GraphQL, and Warp WebSocket/SSE). It exists for compatibility with clients that can't set custom headers - such as browser EventSource and WebSocket connections.
We don't recommend this method. Query parameters may be captured in server access logs, browser history, and referrer headers. Use header-based authentication unless your client genuinely can't set headers, and rotate the key from the dashboard if you suspect it leaked.
Rate Limits
- Standard rate limits apply across all gateways
- HTTP 429 returned when limits exceeded
Retry-Afterheader indicates wait time in seconds- Check response headers:
X-RateLimit-Limit- Total requests allowedX-RateLimit-Remaining- Requests remainingX-RateLimit-Reset- Unix timestamp when limit resets
For higher limits, contact [email protected].
Quick Start Examples
JSON-RPC
const response = await fetch('https://mainnet-api.inodra.com/v1/jsonrpc', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'sui_getLatestCheckpointSequenceNumber',
params: []
})
})GraphQL
const query = `
query {
checkpoints(last: 5) {
nodes {
sequenceNumber
timestamp
}
}
}
`
const response = await fetch('https://mainnet-api.inodra.com/v1/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({ query })
})gRPC
# List all services (server reflection enabled)
grpcurl -H "x-api-key: YOUR_API_KEY" \
mainnet-grpc.inodra.com:443 list
# Make a call
grpcurl -H "x-api-key: YOUR_API_KEY" \
-d '{}' \
mainnet-grpc.inodra.com:443 \
sui.rpc.v2.LedgerService/GetCheckpointNeed Help?
- Troubleshooting Guide - Common issues and solutions
- Discord Community - Get help from the community
- Support Email - Direct support
External References
For complete method specifications and advanced usage:
- Sui Official API Documentation - Comprehensive Sui API reference
- Sui GraphQL Reference - GraphQL schema and query guide
- Sui RPC Concepts - Understanding Sui's RPC architecture