SDK Overview
Official SDKs for interacting with the Realm blockchain. Choose your language and get trading in minutes.
TypeScript
stable100% coverageOfficial SDK for Node.js and browsers. Full API coverage with TypeScript types.
npm install @empyrealm/sdkPython
beta80% coveragePython SDK with async/await support. Most trading endpoints available.
pip install empyrealmGo
beta60% coverageGo SDK for high-performance applications. Core endpoints implemented.
go get github.com/realm-exchange/sdk-goFeature Comparison
| Feature | TypeScript | Python | Go |
|---|---|---|---|
| Wallet Generation | ✅ | ✅ | ✅ |
| Dilithium Signing | ✅ | ✅ | ✅ |
| Public Endpoints | ✅ | ✅ | ✅ |
| Account Endpoints | ✅ | ✅ | ✅ |
| Trading Endpoints | ✅ | ✅ | 🔄 |
| Conditional Orders | ✅ | ✅ | 🔄 |
| Real-time Streaming | ✅ | 🔄 | 🔄 |
| Browser Support | ✅ | ❌ | ❌ |
✅ Implemented 🔄 In Progress ❌ Not Applicable
Choosing an SDK
- Web Applications — Use TypeScript. It's the only SDK with browser support (gRPC-Web).
- Trading Bots — TypeScript or Python, depending on your team's expertise. Both have full trading support.
- High-Performance Systems — Go for maximum performance, or generate clients directly from protobuf.
Custom Clients
If your language isn't listed, generate a client from our protobuf definitions. See API Reference for the proto file location.
Common Patterns
All SDKs follow similar patterns:
- Create client with API endpoint
- Generate or restore wallet (Dilithium keypair)
- Connect to authenticate
- Call methods — all signed automatically