This page explains the concepts behind XentFi Pro’s order book. For the full request/response schema of every endpoint, see the XentFi Pro API Reference.
Overview
XentFi Pro adds a hybrid off-chain matching / on-chain settlement order book on top of your existing XentFi wallets. Orders are matched off-chain for speed, and matched trades settle on-chain in batches — so you get exchange-grade order types and latency without giving up self-custody of the wallets involved.Markets
A market is a trading pair (e.g.USDC-USDT) scoped to one blockchain, with its own tick size, lot size, order size limits, fee schedule, and batch-auction cadence.
Discover available markets with
GET /v1/orderbook/markets, and a single market’s live config with GET /v1/orderbook/markets/{marketSymbol}.
Market status
New markets are created inPAUSED status by design — this gives you a chance to verify asset configuration and confirm the settlement wallet is funded before trading opens. A market moves to ACTIVE via PATCH /v1/orderbook/markets/{marketSymbol}.
Order types
timeInForce (GTC, IOC, FOK, GTT) is set independently of type and controls how long an order (typically a LIMIT) is allowed to rest before it’s cancelled.
Placing an order
clientOrderId is your own idempotency key, unique per organization + app — always set one so a retried request after a timeout can’t place the same order twice.
Order lifecycle
Only orders inOPEN or PARTIALLY_FILLED status can be cancelled (DELETE /v1/orderbook/orders/{orderId}) — the reserved balance behind the order is released atomically as part of cancellation.
Fees
Every trade charges the maker (the resting order that got matched against) and the taker (the order that triggered the match) separately, per the market’smakerFeeBps / takerFeeBps. Maker fees are typically lower — sometimes zero or rebated — to reward the side providing liquidity. Fees are visible per trade on Trade.makerFee / Trade.takerFee.
Market data
Realtime updates
Rather than polling, subscribe to your organization’s private order-update channel for pushed fills, cancels, and rejects:sequence number — if your client detects a gap, resync with GET /v1/orderbook/markets/{marketSymbol}/book rather than assuming continuity.
Your trade history
GET /v1/orderbook/orders/{orderId}/trades— fills for a specific order, whether it was maker or taker.GET /v1/orderbook/wallets/{walletId}/trades— full trade history for a wallet. Only visible if your organization has itself placed an order with that wallet.
API Reference
Full request/response schemas: XentFi Pro API Reference.
Related
Liquidity & Settlement
How matched trades settle on-chain and how to keep a market funded.
XentFi Pro Quickstart
Place your first order end to end.
XentFi Pro Authentication
Get an API key with the Trade scope.

