The SDK is a thin typed layer over two wire protocols:
- ConnectRPC over HTTP for unary requests (binary Protobuf by default)
- Centrifugo over WebSocket for realtime (binary Protobuf client protocol and payloads)
Config / credentials API URL, WS URL, Ed25519 key material, Account ID
|
`polyester.Client` wires transports, catalogs, and service accessors
โโโ Connect transport public + authenticated unary calls
โโโ Realtime client shared WebSocket multiplexer
โโโ Catalogs spot + Zipper reference data / scales
โโโ Services orders, market_data, balances, ...
โโโ chain on-chain Funding helpers (not ConnectRPC)Go is synchronous. Pass context.Context on every call. Cancel the context to stop waits and stream receives.
Aliases: client.Candles โ MarketData, client.TradingWithdraws โ Withdraw. Account resolve is out of scope for API-key SDKs.
Services are accessed as attributes/fields on the client (client.Orders, client.MarketData, โฆ). Catalog hydration usually starts on client create;
wait before decimal writes that depend on scales.
Related: Environments, Client configuration, Realtime.
Related Topics
Environments Default testnet endpoints and how to point the client at another deployment. Authentication model Ed25519 API-key request signing for ConnectRPC and private realtime channels. Catalog & precision Spot/Zipper catalogs, decimal strings, and scaled-integer inputs. Requests & idempotency Go call conventions, context cancellation, and idempotency keys for orders and triggers. Limitations & non-features What API-key SDKs intentionally omit, and where to go instead.