Skip to main content

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.

Beta access

The private-beta API is live for whitelisted accounts at https://api.sentico-labs.xyz. You need funded beta credentials to trade. The custody and checkpoint contracts are live on Arbitrum One, but public, self-service venue access 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 areLaneEndpointContinue in
A bot, dashboard, or getting startedREST + WebSocketapi.sentico-labs.xyz:443 (HTTPS/WSS)Getting Started
An existing FIX shopFIX 4.4fix.sentico-labs.xyz:9878FIX Overview
A market maker doing the first live quoteBSL compact HTTPapi.sentico-labs.xyz:443First BSL Quote
A latency-sensitive market maker after conformanceBSL Direct TCPbsl.sentico-labs.xyz:9001BSL Direct TCP — wallet-signed frames were rejected (202) on production at the 2026-09-04 review; see that page before choosing this lane
An SBE/FIXP (iLink-3-class) shopBinary-FIX / FIXPfixp.sentico-labs.xyz:9879FIXP Conformance
Never hard-code endpoints

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:

npm install @sentico-labs/[email protected]
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 # binary/outcome only; omit for spot
API_KEY_ID=...
API_SECRET=...
API_PASSPHRASE=...
ACTION_PRIVATE_KEY=...

Do not start with Direct TCP as the first proof. First prove:

  1. HMAC credential works.
  2. Fresh bootstrap shows funding.
  3. Signed QuoteReplace is accepted.
  4. 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:

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.