BSL Operations
BSL is designed for low-latency professional flow, so operations should expose pressure early and keep recovery deterministic.
Session Controls
| Control | Endpoint |
|---|---|
| Current limits | GET /api/v1/bsl/limits |
| Session state | GET /api/v1/bsl/sessions |
| Cancel-on-disconnect | POST /api/v1/bsl/sessions/cancel-on-disconnect |
| Quote obligations | GET /api/v1/bsl/markets/{marketId}/quote-obligations |
Cancel-on-disconnect is a production safety control, not a convenience helper. Operations should define the session timeout, heartbeat expectations, and account-level stale-order policy before enabling high-rate quoting.
Backpressure Policy
BSL must reject early when the venue cannot keep latency bounded. The expected client-facing codes are:
| Code | Operational cause |
|---|---|
SHARD_BUSY | Market shard cannot accept more work without queue aging. |
QUEUE_LIMIT | Ingress lane, backlog, or concurrency limit reached. |
RISK_CREDIT_LIMIT | Credit or exposure reservation denied. |
KILL_SWITCH | Account, market, or venue kill-switch is active. |
MARKET_HALTED | Market lifecycle gate blocked trading. |
For professional clients this is a feature. A fast reject lets the strategy cancel, widen, or reroute immediately.
Observability
Monitor these dimensions per account, market, and shard:
| Metric family | Why it matters |
|---|---|
| BSL request latency by result mode | Separates ACK, DURABLE, and FULL behavior. |
x-bsl-* timing breakdowns | Locates latency in auth, risk, queue, engine, durability, or edge. |
| Reject code counts | Shows whether clients hit queue, risk, market, or auth limits. |
| Per-shard exposure and locked credit | Protects the venue while enabling multi-market quoting. |
| Release lag for credit and order reservations | Finds stale locks that harm quoting capacity. |
| Execution stream gap-fill rate | Detects stream disconnects or client lag. |
Deployment Checks
Before advertising BSL to a client:
GET /api/v1/bsl/limitsreturnsx-bsl-contract: bsl-order-entry-v1.POST /api/v1/bsl/orders/batchreturns abslenvelope on both success and reject paths.POST /api/v1/ws/tokentokens work immediately on/api/v1/bsl/accounts/{account}/executions.- The private BSL WebSocket emits monotonic execution
seqvalues. - Cancel-on-disconnect is tested against a resting-order account.
- The client has documented behavior for
SHARD_BUSY,QUEUE_LIMIT,RISK_CREDIT_LIMIT,KILL_SWITCH, andMARKET_HALTED.