Futures Trading

A perpetual futures desk running on your own order book — leverage, isolated margin, hedge-mode positions, server-side stop-loss and take-profit, and a liquidation engine that trades positions out against the book.

4 min readUpdated 3 August 2026futures, leverage, margin, liquidation, scylladb

Futures Trading turns your install into a perpetual futures venue. Traders open long or short positions with leverage against markets you define, and every one of those positions is settled against your own order book — not a broker's, not an exchange's. You are the counterparty to the whole book. If the engine liquidates late, the shortfall is yours.

That single fact shapes every page here. Read Liquidation before you enable a market at 100x.

What this product requires

This addon needs Bicrypto core and the Ecosystem addon installed and working, plus a reachable ScyllaDB. Ecosystem is not a nice-to-have: the futures routes import their wallet ledger, their fixed-point maths and their Scylla client from it. Without Ecosystem, order placement and position closing answer 503 — "This feature requires the Ecosystem extension.", and the matching engine logs "Ecosystem extension not available, futures matching engine disabled" and never starts.

Needs Why
Bicrypto core Accounts, wallets, KYC, the admin panel, the cron scheduler
Ecosystem The wallet ledger, the 10^18 fixed-point helpers, the ScyllaDB client, and the tokens a futures market is built from
ScyllaDB Orders, positions, order book and candles. A second keyspace (futures) alongside Ecosystem's trading one

Futures markets are created by pairing two active Ecosystem tokens. If a token is not in the Ecosystem token list and enabled, it cannot become half of a futures contract.

What the desk does

  • Perpetual contracts only. There is no expiry, no settlement date and no contract roll. A position lives until the trader closes it, a stop fires, or the engine liquidates it.
  • Isolated margin. Each position posts its own margin — entryPrice × amount ÷ leverage — and can never lose more than that. There is no cross-margin mode and no account-level equity.
  • Hedge mode, always. A long and a short on the same symbol are two separate positions with two separate margins. They do not net, and opening one never closes the other. The position API says so explicitly (mode: "HEDGE").
  • Two order types. LIMIT and MARKET. A market order is priced by walking your real order book at placement; there is no external price feed.
  • Per-market leverage. Each market publishes the exact rungs it offers ("1,5,20,50"). Anything not on that list is rejected at placement.
  • Server-side stop-loss and take-profit, attached at order placement and enforced by the engine's own sweep — not by the browser.
  • Two-stage liquidation. A partial trim at 70% of posted margin lost, a full close at 90%, both executed as reduce-only orders against the book.
  • An admin risk console showing open interest, side skew, the positions closest to liquidation, and where leverage is concentrated.

What it deliberately does not do

Knowing the gaps is what stops you promising them to traders.

  • No funding settlement. No funding is ever charged or paid. The rate shown in the trading ticket is a reference figure you type into the market, nothing more. See Funding and the mark price.
  • No insurance fund. When the book cannot absorb a liquidation, the shortfall is logged and absorbed by the platform. Nothing tops it up.
  • No cross margin, despite what some marketing copy elsewhere in the admin panel claims.
  • No stop-entry or OCO orders. Stops and targets attach to a position you are opening; they do not open one.
  • No leverage change on an open position. Leverage is fixed at placement.
  • No admin force-close. An operator can disable a market and watch positions, but there is no button that closes a trader's position for them.

Where it appears

Surface Path
Public market list /futures
The trading screen /trade?symbol=BTC-USDT&type=futures
Admin dashboard /admin/futures
Admin markets /admin/futures/market
Admin positions /admin/futures/position
Admin orders /admin/finance/order/futures

The three admin screens under /admin/futures come from the extension's own menu and only appear once the futures extension row is enabled. The orders table lives under Finance → Orders instead, because it is one of several order books an operator compares side by side.

Where to start

Install

Enable the extension, point it at ScyllaDB, confirm the matching engine took the lease, and give a trader a fundable wallet.

Create a market

The three-step wizard, what every metadata field actually controls, and why deleting a market is not the way to retire one.

How trading works

Order types, how a market order is priced, what maker and taker mean here, and the full life of a position.

Leverage and margin

The arithmetic the engine actually runs: what is held at placement, what is released on a fill, and which currency everything moves in.

Liquidation

The thresholds, the bankruptcy price, and exactly what a liquidation writes to a position row.

Risk console

Reading open interest, side skew, the at-risk queue and the leverage bands — including the one number that is capped.

Two reference pages sit behind those: API and events lists every endpoint, permission and WebSocket stream, and Engine and storage covers the matching engine's leadership lease, the three cron jobs, the ScyllaDB tables and the environment variables that tune them.

When something is wrong, Troubleshooting starts with the two failures that account for most of them: an engine that never took the lease, and a market whose ticker has never printed.