BSL Compact Order Entry
Compact order entry submits signed actions to the same sequencer path as REST and FIX. The native market-maker transport is BSL Direct TCP. The HTTP compact body is byte-encoded JSON for SDK compatibility and onboarding.
Direct TCP submit
Discover the native endpoint through:
GET /api/v1/bsl/connectivity
Use bslTcp.host, bslTcp.port, and bslTcp.tlsSni, then open a persistent
TCP/TLS session and send compact action frames. The current frame contract is:
HandshakeHello: 48 bytes
HandshakeAck: 48 bytes
MessageHeader: u32_le kind + u32_le payload_len
CompactActionFrame: 192 bytes
See BSL Direct TCP for the full protocol.
HTTP compact submit
POST /api/order-entry/binary
Content-Type: application/x-senticore-order-entry-batch
Accept: application/x-senticore-mm-batch-response, application/json
X-BSL-Result-Mode: ack
X-Senticore-Response-Mode: detailed
Idempotency-Key: quote-refresh-1
X-Senticore-Order-Entry-Key: <optional provisioned lane key>
POST /api/v1/mm/orders/batch.bin is the direct compatibility route.
POST /api/v1/bsl/orders/compact is the canonical BSL route. Use an
institutional_agent HMAC credential with quote scope, or a dedicated lane
key when the connectivity bundle provisions one.
Supported Actions
Useful order-entry actions include:
| Action | Use |
|---|---|
SpotPlaceOrder | Single spot order |
PlaceOrder | Single prediction-market order on compact BSL surfaces |
Cancel | Cancel by order id |
AmendOrder | Quantity reduction while keeping priority |
SpotQuoteReplace | Spot quote refresh |
QuoteReplace | Prediction-market quote refresh |
PlaceConditionalOrder | Conditional order where enabled |
PlaceAlgoOrder | Algo order where enabled |
Internal actions such as deposit credits, settlement credits, market creation, and resolution are rejected on the BSL order-entry path.
OutcomePlaceOrder is a public/delegated JSON input alias. Compact BSL batches
use the canonical signed action variant PlaceOrder with book: "YES" or
book: "NO".
Acknowledgement Model
The beta detailed response contains acceptance metadata such as ok, seqs,
derivedOrderIds, acceptedActions, ackMode, durability metadata, and raw
errors. Use it as an order-entry acknowledgement.
For terminal order state, use private streams, FIX drop-copy, account reads, or gap-fill where provisioned.
Failure Model
Rejects may include machine-readable reason codes and raw error strings during
private beta. Preserve the full response body and x-request-id in client logs.