Skip to main content
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 in PAUSED 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.
A 201 response means the order was admitted to the book, not that it filled. Matching happens asynchronously on the market’s batch-auction cadence. Poll GET /v1/orderbook/orders/{orderId} or subscribe to your private realtime channel (see below) to track fills.

Order lifecycle

Only orders in OPEN 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’s makerFeeBps / 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:
Order book depth updates are published per-market and carry a WAL 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.

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.