Skip to main content

Operations & programs

Order Entry is built for low-latency professional flow, so operations should expose pressure early, keep recovery deterministic, and reward reliable quoting. This page covers the runtime controls — receipts, session state, quote obligations and limits, cancel-on-disconnect — the observability and go-live posture around them, and the market-maker incentive program.

For connectivity, credentials, and request signing, see Authentication and Action Signing. The host, paths, and ports are in Getting Started: one host per environment, REST under {host}/api/v1/.... Result modes and the response contract are documented in Result Modes.

Session controls

ControlEndpoint
Current limitsGET /api/v1/order-entry/limits
Session stateGET /api/v1/order-entry/sessions
Cancel-on-disconnectPOST /api/v1/order-entry/sessions/cancel-on-disconnect
Quote obligationsGET /api/v1/order-entry/markets/{marketId}/quote-obligations

GET /api/v1/order-entry/limits returns the live rate, batch, credit, and concurrency limits that apply to the credential, alongside the contract header x-bsl-contract: bsl-order-entry-v1. Use it as the source of truth for what a strategy is allowed to send before tuning quote rate.

GET /api/v1/order-entry/markets/{marketId}/quote-obligations returns the two-sided presence, spread, and depth obligations a quoting program is expected to meet on a market. These obligations also feed incentive eligibility (see Incentive program).

Cancel-on-disconnect

Cancel-on-disconnect is a production safety control, not a convenience helper, and it is the primary defense against stale quotes when a session drops. Operations should define the session timeout, heartbeat expectations, and account-level stale-order policy before enabling high-rate quoting, and test the behavior against a resting-order account before go-live.

Backpressure and receipts

Order Entry rejects early when the venue cannot keep latency bounded. For professional clients this is a feature: a fast reject lets the strategy cancel, widen, or reroute immediately instead of letting a quote age silently in an overloaded queue. The stable client-facing reject codes are:

CodeOperational cause
SHARD_BUSYMarket shard cannot accept more work without queue aging.
QUEUE_LIMITIngress lane, backlog, or concurrency limit reached.
RISK_CREDIT_LIMITCredit or exposure reservation denied.
KILL_SWITCHAccount, market, or venue kill-switch is active.
MARKET_HALTEDMarket lifecycle gate blocked trading.

Every submission returns a receipt at the requested result-mode boundary. The response envelope reports the requested and resolved result mode, the stream-truth source, replay paths, reject code, and per-stage timing — see Result Modes for the full contract. The durable truth for all modes is the sequencer/execution stream; an HTTP acknowledgement is not a terminal order state, so reconcile fills, cancels, and rejects from the private execution stream and gap-fill.

Observability

Monitor these dimensions per account, market, and shard:

Metric familyWhy it matters
Request latency by result modeSeparates ack, durable, and full behavior.
x-bsl-* timing breakdownsLocates latency in auth, risk, queue, engine, durability, or edge.
Reject code countsShows whether clients hit queue, risk, market, or auth limits.
Per-shard exposure and locked creditProtects the venue while enabling multi-market quoting.
Release lag for credit and order reservationsFinds stale locks that harm quoting capacity.
Execution stream gap-fill rateDetects stream disconnects or client lag.

Go-live checks

Before advertising Order Entry to a client:

  • GET /api/v1/order-entry/limits returns x-bsl-contract: bsl-order-entry-v1.
  • POST /api/v1/order-entry/orders returns the response envelope on both success and reject paths.
  • POST /api/v1/ws/token tokens work immediately on the private execution stream for the account.
  • The private WebSocket emits monotonic execution seq values.
  • 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, and MARKET_HALTED.

Incentive program

Senticore's market-maker program is designed to bootstrap deep, reliable liquidity during closed beta and mainnet launch. It rewards uptime and quote quality, not only volume.

Pre-launch values

Tier thresholds and rebates are illustrative until the final beta fee schedule is published.

Program goals

  • improve displayed depth around mid-price
  • reward uptime and quote quality, not only volume
  • reduce stale-quote risk through cancel-on-disconnect
  • align liquidity providers and HFT market makers with protocol fee growth

Illustrative tiers

Monthly maker volumeMaker rebate
Less than 10M USD0 bps
10M to 100M USD1 bps
100M to 1B USD2 bps
More than 1B USD3 bps

Quality metrics

Eligibility can include:

  • uptime by market
  • average spread contribution
  • quoted depth near top of book
  • cancel-to-fill ratio
  • incident response and stale quote handling

Reporting

Liquidity providers receive tier, volume, rebate, and quality reports through the institutional HTTP API, the private execution streams, and private WebSocket channels where provisioned.

Legacy route names

The names "MM", "BSL", and "binary" are legacy aliases for Order Entry. The session-control routes have live bsl equivalents — for example GET /api/v1/bsl/limits, GET /api/v1/bsl/sessions, POST /api/v1/bsl/sessions/cancel-on-disconnect, and GET /api/v1/bsl/markets/{marketId}/quote-obligations — that remain accepted for already-wired clients. New integrations should use the canonical order-entry routes above.