Polyester provides different interfaces for request-response APIs, realtime subscriptions, and institutional trading connectivity. Select the interface that matches the traffic pattern and operational model of your integration.
Compare interfaces
| Interface | Best for | Encoding | Client path |
|---|---|---|---|
| REST | Direct HTTP integrations, scripts, and operational tooling | JSON | Any HTTP client |
| WebSocket JSON | Live updates for JSON-oriented integrations | JSON | Custom WebSocket client |
| ConnectRPC | Latency-sensitive typed API calls and application backends | Binary Protobuf or ProtoJSON | Official SDKs |
| WebSocket Protobuf | Typed market, order, balance, transfer, and account events | Binary Protobuf | Official SDKs or custom Protobuf client |
| SBE WebSocket | Ultra-low-latency binary order entry | SBE | Direct SBE client |
| FIX Classic | Institutional session connectivity using established FIX tooling | FIX tag-value | FIX engine |
| FIX-SBE | Institutional connectivity with binary application messages | SBE | FIX-SBE engine |
Common combinations
Use an official SDK with binary ConnectRPC for typed calls and WebSocket Protobuf for live state.
Use REST for request-response calls and WebSocket JSON for continuous updates.
Use SBE WebSocket for compact order commands and acknowledgements. Pair it with WebSocket Protobuf and read APIs for execution and state updates.
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.