monaco-grpc-sdk
Typed Rust gRPC client SDK for the Monaco Exchange API, generated from Protocol Buffer definitions.
Usage
Plaintext (development / localhost)
[]
= "0.6"
= { = "0.14", = ["transport"] }
= { = "1", = ["full"] }
use OrdersServiceClient;
async
TLS (remote / HTTPS endpoints)
The transport feature alone does not enable TLS. To connect to https:// endpoints, enable a TLS backend in tonic and a roots provider:
[]
= "0.6"
= { = "0.14", = ["transport", "tls-ring", "tls-webpki-roots"] }
= { = "1", = ["full"] }
The gRPC service is exposed behind path-based routing on the same ALB as the REST API (see the v0.5.2 release notes). Connect to the environment host on port 443:
| Environment | Host |
|---|---|
| Development | develop.apimonaco.xyz |
| Staging | staging.apimonaco.xyz |
use OrdersServiceClient;
use ;
async
Other languages — Buf Schema Registry
The proto definitions that back this SDK are published to BSR at buf.build/monaco-sdk/api. Pick a channel that matches the backend branch you're targeting:
| Label | Source branch | Purpose |
|---|---|---|
develop |
develop |
Latest dev snapshot, breaking changes possible |
release-X.Y |
release/X.Y |
Release candidate |
main |
main |
Latest stable |
Example buf.gen.yaml for Go:
version: v2
plugins:
- remote: buf.build/protocolbuffers/go
out: gen/go
- remote: buf.build/grpc/go
out: gen/go
inputs:
- module: buf.build/monaco-sdk/api:main
Python, TypeScript, C++, Java, Ruby, Swift, Kotlin and more are available via BSR remote plugins.
Regenerating
After proto changes, run from the repo root:
This requires a valid BUF_TOKEN environment variable with access to buf.build/monaco-sdk/api.