5-Minute Onboarding
The shortest path from zero to a live order. For market makers, start with the tested BSL HTTP quote path, prove reconciliation, then move the same signed flow to Direct TCP/FIX when your account conformance is green.
The private-beta API is live for whitelisted accounts at
https://api.sentico-labs.xyz. You need funded beta credentials to trade. Public
mainnet is not live yet.
The touchpoints
Everything you integrate against is one of these lanes. Pick the first lane that matches your use case; you do not need all of them on day one.
| You are | Lane | Endpoint | Continue in |
|---|---|---|---|
| A bot, dashboard, or getting started | REST + WebSocket | api.sentico-labs.xyz:443 (HTTPS/WSS) | Getting Started |
| An existing FIX shop | FIX 4.4 | fix.sentico-labs.xyz:9878 | FIX Overview |
| A market maker doing the first live quote | BSL compact HTTP | api.sentico-labs.xyz:443 | First BSL Quote |
| A latency-sensitive market maker after conformance | BSL Direct TCP | bsl.sentico-labs.xyz:9001 | BSL Direct TCP |
| An SBE/FIXP (iLink-3-class) shop | Binary-FIX / FIXP | fixp.sentico-labs.xyz:9879 | BSL Overview |
Hosts, ports, SNIs, CompIDs, and signing parameters are served live by the
connectivity bundle - build your config from it, not from copied values:
GET /api/v1/bsl/connectivity. See Connectivity & Endpoints
and the Connectivity Bundle.
The 5 steps
1. Get credentials. Create an institutional_agent through the
wallet-authorized API Agent flow and request an HMAC credential for it. ->
Authentication
2. Read the connectivity bundle. Call GET /api/v1/bsl/connectivity with
the HMAC credential. Cache the BSL/FIX route, SenderCompID/TargetCompID, and
the action-signing chainId + verifyingContract. ->
Connectivity Bundle
3. Sign and submit one BSL action. Every order is a locally signed action - the operator cannot forge or alter it. With the SDK:
const chainBinding = (await client.orderEntry.getActionChainBinding()).data;
const signed = signAction(payload, ACTION_PRIVATE_KEY, { chainBinding });
await client.orderEntry.submitActions([signed], {
idempotencyKey: `first-bsl-quote-${payload.account}-${payload.nonce}`,
responseMode: "detailed",
headers: { "x-bsl-result-mode": "ack" },
});
-> Local Action Signing - EIP-712 Signing
4. Pipeline, don't block. Nonces use a windowed replay model: any unused
nonce in [nonceFloor, nonceFloor + 256) is valid, out-of-order and with gaps.
One account keeps up to 256 orders in flight without waiting for acks. ->
Concurrency & Nonces
5. Listen and reconcile. Subscribe to the private WebSocket (or FIX drop-copy) for fills and order state. -> Private Channels - FIX Drop-Copy
Market-maker checklist
For the copy-paste path, have these values ready:
API_BASE_URL=https://api.sentico-labs.xyz
ENGINE_ACCOUNT=0x... # 20-byte engine account
MARKET_ID=...
BOOK=YES
API_KEY_ID=...
API_SECRET=...
API_PASSPHRASE=...
ACTION_PRIVATE_KEY=...
Do not start with Direct TCP as the first proof. First prove:
- HMAC credential works.
- Fresh bootstrap shows funding.
- Signed
QuoteReplaceis accepted. - Orders/fills/private stream reconcile the result.
Then use the same account and compact mapping for Direct TCP/FIX conformance.
Copy-paste path
When you want a real, funded end-to-end run instead of a map, go straight to the tested walkthroughs:
- Place Your First Institutional BSL Quote - credentials -> signed
QuoteReplace-> reconciliation. - Market Maker Beta Quickstart - what is live and tested vs. reserved routes.
- Live Verified Beta - current conformance status and observed beta timings.
What you can trust
The reason this is safe to integrate against quickly: your collateral sits in an on-chain vault, every order is a signature you control, and withdrawals settle against on-chain roots with Merkle proofs - not operator discretion. Fast to onboard, and verifiable by design.