Polyester provides different interfaces for request-response APIs, realtime subscriptions, and order entry. Most integrations combine two or three of them. Use this page to choose the ones that match your traffic pattern and operational model; every interface reaches the same accounts, orders, and rules.
Compare interfaces
Each entry gives the encoding and the usual client, then what the interface is best for.
- REST · JSON · any HTTP client
Direct HTTP integrations, scripts, and operational tooling. - ConnectRPC · binary Protobuf or ProtoJSON · official SDKs
Latency-sensitive typed API calls and application backends. - WebSocket JSON · JSON · custom WebSocket client
Live market data and account events for JSON-oriented integrations. - WebSocket Protobuf · binary Protobuf · official SDKs or a custom Protobuf client
Typed market data, balance, transfer, trigger, and account events. - Private WebSocket · binary Protobuf or JSON · official SDKs or a custom client
Your own orders, fills, and command outcomes, with snapshots and resumable cursors. - SBE WebSocket · SBE · direct SBE client
Ultra-low-latency binary order entry, with your order and execution events on the same socket. - Protobuf trade WebSocket · binary Protobuf · custom Protobuf client
Low-latency order entry that reuses the Orders API request messages. - FIX Classic · FIX tag-value · FIX engine
Coming soon: institutional session connectivity using established FIX tooling. - FIX-SBE · SBE · FIX-SBE engine
Coming soon: institutional connectivity with binary application messages.
SBE WebSocket (/ws/trade.sbe) and the Protobuf trade WebSocket (/ws/trade.proto) connect to
the trade API host of each environment, not to the API host. On Testnet, that host is trade.api.testnet.polyester.com; see Environments and hosts for every
host. Neither trade WebSocket offers JSON. The Protobuf trade
WebSocket carries order commands and their acknowledgements using the tradews.v1 contract, whose
frames wrap the same orders.v1 request and response messages as ConnectRPC. Authenticate its
upgrade with the same Ed25519 API-key headers as SBE WebSocket.
Common combinations
Use an official SDK with binary ConnectRPC for typed calls, WebSocket Protobuf for market data and account events, and the private WebSocket for your order updates.
Use REST for request-response calls, WebSocket JSON for continuous updates, and the private WebSocket with its JSON encoding for your order updates.
Use SBE WebSocket for compact order commands, acknowledgements, and your order and execution events. Pair it with WebSocket Protobuf for market data and balances, and with the read APIs for reconciliation.
FIX Classic and FIX-SBE are coming soon. Use FIX Classic with tag-value FIX infrastructure or FIX-SBE for binary application messages.
Shared data conventions
Transport choice does not change the business meaning of an order, transfer, or market-data event. Representation can still differ by interface:
- Review Public IDs before converting protobuf numeric IDs or REST Base58 values.
- Review Scaled integers before converting prices, quantities, or fees.
- Review Ed25519 API keys for private programmatic requests.
- Treat realtime encoding support as channel-specific rather than assuming every stream offers both JSON and Protobuf.