Skip to content

API Reference

Complete documentation for all Inodra API methods and gateways.

📚 Interactive REST API Documentation

https://api.inodra.com/docs - Full interactive REST API documentation powered by OpenAPI with live request testing, complete schemas, and code generation support.

Gateway Documentation

Complete guides for each gateway type:

gRPC Proxy

High-performance binary protocol with server reflection enabled.

JSON-RPC Gateway

Drop-in replacement for Sui RPC nodes with long-term support commitment.

Note: While Sui has deprecated JSON-RPC, Inodra maintains full compatibility by translating requests to GraphQL/gRPC behind the scenes.

GraphQL Proxy

Flexible queries through Inodra-managed Sui GraphQL nodes.

REST API

Indexed Sui data with powerful filtering, pagination, and analytics.

Authentication

All gateways use the same API key authentication:

Primary Method (Recommended):

bash
curl -H "x-api-key: YOUR_API_KEY" https://api.inodra.com/v1/checkpoints

Alternative Method (Also Supported):

bash
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.inodra.com/v1/checkpoints

Rate Limits

  • Standard rate limits apply across all gateways
  • HTTP 429 returned when limits exceeded
  • Retry-After header indicates wait time in seconds
  • Check response headers:
    • X-RateLimit-Limit - Total requests allowed
    • X-RateLimit-Remaining - Requests remaining
    • X-RateLimit-Reset - Unix timestamp when limit resets

For higher limits, contact [email protected].

Quick Start Examples

JSON-RPC

javascript
const response = await fetch('https://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

javascript
const query = `
  query {
    checkpoints(last: 5) {
      nodes {
        sequenceNumber
        timestamp
      }
    }
  }
`

const response = await fetch('https://api.inodra.com/v1/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY'
  },
  body: JSON.stringify({ query })
})

gRPC

bash
# List all services (server reflection enabled)
grpcurl -H "x-api-key: YOUR_API_KEY" \
  grpc.inodra.com:443 list

# Make a call
grpcurl -H "x-api-key: YOUR_API_KEY" \
  -d '{}' \
  grpc.inodra.com:443 \
  sui.rpc.v2.LedgerService/GetLatestCheckpoint

REST API

bash
# Get latest checkpoints
curl -H "x-api-key: YOUR_API_KEY" \
  'https://api.inodra.com/v1/checkpoints/latest'

# Get transactions
curl -H "x-api-key: YOUR_API_KEY" \
  'https://api.inodra.com/v1/transactions/latest?limit=10'

Need Help?

External References

For complete method specifications and advanced usage:

Released under the MIT License.