Build a client with polyester.New(Config{...}). Defaults target API-key trading applications on
devnet. Unary ConnectRPC responses are limited to 4 MiB after decompression.
Recommended constructor
accountID := "..." // Profile โ Account ID
client, err := polyester.New(polyester.Config{
APIKeyID: "ak_...",
APIPrivateKey: "...", // 64-char hex from key creation
DefaultAccountID: &accountID,
HydrateCatalogs: true,
// APIURL: "https://api-devnet.polyester.ai",
// WSURL: "wss://api-devnet.polyester.ai",
// Timeout: 10 * time.Second,
// WireFormat: "binary", // or "json"
// DefaultSubAccountID: &subID,
})
if err != nil { log.Fatal(err) }
defer client.Close()
if err := client.WaitForCatalogs(ctx); err != nil { log.Fatal(err) }Config fields
| Field | Default | Notes |
|---|---|---|
APIKeyID / APIPrivateKey | empty | Required for private RPCs / private WS |
APIURL | https://api-devnet.polyester.ai | ConnectRPC base |
WSURL | wss://api-devnet.polyester.ai | Centrifugo WebSocket |
DefaultAccountID | unset / env fallback | Private channel scoping |
DefaultSubAccountID | unset | Default trading scope |
Timeout | 10s | HTTP timeout |
WireFormat | binary | "binary" or "json" |
HydrateCatalogs | false in zero Config; set true for bots | Background spot + Zipper hydrate |
HTTPClient | SDK default | Optional custom *http.Client |
FromEnv sets HydrateCatalogs: true before applying overrides.
Aliases
| Alias | Points to |
|---|---|
client.Candles | client.MarketData |
client.TradingWithdraws | client.Withdraw |
FromEnv
polyester.FromEnv() loads:
POLYESTER_API_KEY_IDPOLYESTER_API_PRIVATE_KEYPOLYESTER_ACCOUNT_ID
It does not load POLYESTER_API_URL / POLYESTER_WS_URL. Set Config.APIURL / Config.WSURL explicitly (or via FromEnv override funcs). Prefer explicit Config in
production.
Catalog readiness
Call
client.WaitForCatalogs(ctx) before decimal order writes that need symbol scales. The wait
fails if either required catalog cannot be hydrated or validated.Retries are application-controlled
The SDK does not automatically retry unary calls. Retry only transport and rate-limit failures
with backoff and stable idempotency keys. Reconcile mutation outcomes before retrying.
Related
Related Topics
Address book Saved destinations and whitelist views. API keys List, get, subscribe, and generate local API key material (no create on API-key SDKs). Auth Auth service helpers including nested profile access. Balances List ledger balances, history, holds, and subscribe to live updates with the Go BalancesService. Candles Read and stream public spot OHLCV candles via MarketData (Candles alias). Catalog Spot/Zipper catalog hydration via HydrateCatalogs and WaitForCatalogs, plus Manager lookups. Chain helpers On-chain Funding โ Trading and Funding withdraw helpers. Chain analytics Chain analytics read APIs. Deposit Create and list per-account chain deposit addresses for funding your Polyester account. Errors Go SDK error types, sentinel ErrPolyester, MFA auth codes, and queue overflow. Guard signer Guard signer approval helpers. Heatmap L2 order book heatmap reads. Internal transfers Move trading balances between Polyester accounts without touching a chain. Layout Layout collaboration APIs (reference-only). Lifecycle Deposit/withdraw lifecycle flows and subscribe. Market overview List and subscribe to per-market stats with optional snapshot-then-stream merge. Order book Depth snapshots and a stateful live order book that reconstructs the book for you. Orders Place, modify, cancel, batch, and stream spot orders with the Go OrdersService. Policies Realtime API-key and subaccount-policy updates. Polychart Polychart collaboration APIs (reference-only). Profile Profile identity reads and subscribe helpers. Public trades Public trade tape reads and subscribe via MarketData. Realtime Shared Centrifugo client, Messages() delivery, handshake-before-return, and fail-closed overflow. Social verification Social verification APIs (reference-only). Subaccounts Subaccount reads, members, invites, activity. User trades List and stream your private spot fills (not the public tape). Transfers Transfer history reads. Triggers Create, manage, pause/resume, and stream standalone trigger automations with the Go TriggersService. Whiteboard Whiteboard collaboration APIs (reference-only). Withdrawals Trading withdraw intents to funding or external chain destinations (signed payload). Zipper Deposit/withdraw config and related Zipper reads.