Availability
Streaming is available on all plans. Organizations may maintain multiple concurrent stream connections subject to plan limits. API-key connection limits are resolved from the organization’s billing limits.Access
Streaming requests must be authenticated and associated with an organization. Client examples use thex-api-key gRPC metadata header.
Subscriptions are scoped to trading accounts owned by the authenticated principal’s organization. Subscribe requests must include a valid trading account UUID and at least one event type.
Subscriptions
Once connected, your client can subscribe to message types for a trading account. The subscription messages are defined in protobuf via the proto repository: anthid-labs/proto.Service Definition
Streaming Models
Anthid supports two streaming patterns.StreamEvents
A bidirectional gRPC stream intended for backend and native applications. Clients can dynamically subscribe and unsubscribe from trading accounts over an existing connection.SubscribeEvents
A server-streaming endpoint intended for clients with a fixed subscription. The subscription is established when the request is created and remains active for the lifetime of the stream.Endpoints
Authentication
Streaming requests must include an API key using gRPC metadata.Event Types
Applications can subscribe to one or more event types.Subscription Requests
Subscribe
Unsubscribe
Unsubscribe is only available on the bidirectional StreamEvents RPC.
Stream Events
The server may emit the following event types.Heartbeat
Indicates that the connection remains healthy. The server emits heartbeats approximately every 5 seconds.Status
Returned when a subscription is added or removed successfully. Successful messages aresubscribed and unsubscribed.
Error
Returned when a request cannot be processed.BrokerOrder
Represents a real-time order lifecycle update. Events may include:- New orders
- Accepted orders
- Partial fills
- Filled orders
- Cancelled orders
- Rejected orders
BrokerPosition
Represents a real-time position update received from a broker. Position updates are emitted whenever Anthid receives a change in account holdings. Broker trade events and internal broker heartbeat events are not forwarded on the public stream.Connection Lifecycle
- Connect to the streaming endpoint.
- Authenticate using an API key.
- Subscribe to one or more trading accounts.
- Receive status confirmation.
- Receive real-time events.
- Reconnect and resubscribe if the connection is interrupted.
Recommended Usage
Use the Streaming API for:- Live order monitoring
- Position synchronization
- Trading dashboards
- Notifications
- Automated trading workflows
- Intent submission
- Historical queries
- Search and filtering
- Reporting
- Reconciliation workflows
Related Resources
- Node.js Guide
- Python Guide
- Rust Guide
- Intents
- Orders
- Positions
- Trading Accounts
- Ledger