API Reference
Complete documentation for the Realm gRPC API. 29 endpoints covering market data, trading, account management, and real-time streaming.
Protocol
Base URL
| Network | gRPC-Web (browsers) | Native gRPC |
|---|---|---|
| Mainnet | https://api.realm.software | grpc://api.realm.software:9090 |
Authentication
Realm uses Dilithium-3 signatures for authentication (no API keys). Each request includes your public key, a signature of the request payload, a timestamp, and a monotonic nonce.
Read the full authentication guide →
Protocol Buffers
All messages are serialized using Protocol Buffers. The canonical definitions are available in our GitHub repository:
syntax = "proto3";service RealmApi {// Public (no auth)rpc Ping(PingRequest) returns (PongResponse);rpc GetChainInfo(GetChainInfoRequest) returns (ChainInfoResponse);rpc GetMarkets(GetMarketsRequest) returns (MarketsResponse);// ... 26 more endpoints}
View full proto file on GitHub →
Endpoints
Public Endpoints
No authentication required
Account Endpoints
Authentication required
Trading Endpoints
Authentication required
Streaming Endpoints
Authentication required
Faucet
Authentication required (testnet only)
Error Handling
All responses include a success boolean and an optionalerror string. When success is false, check the error message for details.
| Error Code | Description |
|---|---|
INVALID_SIGNATURE | Signature verification failed |
INVALID_NONCE | Nonce is not monotonically increasing |
INSUFFICIENT_BALANCE | Not enough funds for the operation |
INVALID_ORDER | Order parameters are invalid |
MARKET_NOT_FOUND | Requested market does not exist |
RATE_LIMITED | Too many requests |
Rate Limits
Rate limits are generous and designed for HFT. Current limits:
- Public endpoints: 1000 req/min per IP
- Authenticated endpoints: 10000 req/min per address
- Order submission: 100 req/sec per address