Trion Documentation Options live · Perps in open beta
Browse documentation

Perpetuals

In one paragraph: A perpetual ("perp") is a contract with no expiry that tracks a market's index price. You post collateral, take a long or short position with leverage, and close whenever there is a counterparty. In the general V2 design a small hourly funding payment keeps the perp near the index; in the current CMPT-USD open beta funding is off and the mark price equals the index. Because it is leveraged, it can be liquidated. Because it never expires, the only way out is a trade or a liquidation.

Status: the CMPT-USD perpetual is in open beta, open to everyone from Oct 2, 2026 at app.trion.market. Collateral is USDG on Robinhood Chain (4663); keep ETH for gas. Smart-contract wallets are not supported for orders yet. Losses and profits are real. See status.

The CMPT-USD contract (open beta)

ItemBeta value
Contract unit1 contract = 1 H100 GPU-hour at the index price; 730 contracts ≈ 1 GPU-month (the ticket has a 730 preset)
Lot / tick1 contract / $0.001
ExpiryNone
IndexThe CMPT-USD perp index (engine trion-cmpt-v2-linked, ten venues). This is a different feed from the six-venue CMPT index that settles the capped options; see Prices and the methodology factsheet
Fees0% in the beta: no taker fee, no maker rebate
FundingOff in the beta; the mark price equals the index
Price bandsAn order that would trade immediately must be within ±3% of the index; resting bids may sit down to 0.1× the index, resting asks up to 10× the index
Pilot capsNew open interest across all users is admitted up to $500, with an on-chain hard cap of $1,000 and a $2,000 notional cap per account. Caps may change.
SettlementOperator-cleared: Trion’s matcher settles trades and Trion’s keeper liquidates into Trion’s receiver
Not deployed for CMPT-USDNo ADL queue, no backstop vault, no slow-mode endpoint (zero addresses in the manifest). There is no independent forced-exit path
GasPlacing and cancelling orders are signatures (free); deposits and withdrawals are on-chain transactions that need a little ETH on Robinhood Chain
Sizing leverage1x–20x in 0.1 steps; marginal position-size tiers still apply

Margin uses marginal tranches, like tax brackets: the first $100 of notional requires 5% initial (20x) / 3.5% maintenance; the next $100 requires 20% initial (5x) / 12% maintenance; above $200 requires 50% initial (2x) / 30% maintenance. A $300 position needs $5 + $20 + $50 = $75 of initial margin (4x overall). See Margin and liquidation.

At 20x, about a 1.5% adverse move from entry can bring the position to maintenance and trigger liquidation. Gaps can liquidate at worse prices. If the index feed degrades, new risk pauses and liquidations wait for a fresh normal price.

Contract addresses on chain 4663 (verified manifest overdrive/deployments/v2/4663.perps.json, market CMPT-USD):

ContractAddress
PerpetualV20x44bb9EB22B9f00C9830cdDEBC3C98f71F376AF87
OrdersV20xc80e131148C68AFDFC3AF999DE9C3B32310C936F
CloseoutRouterV20x13A053245d5152E52FF7DB35459835226621Fd99
TrionPriceVerifierV2 (index)0x2dFC619243fCDc748967868bB63810FD2E8594C5
USDG (collateral)0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168

The same manifest also carries an older CMPT perp module set (with ADL, backstop and slow-mode contracts) that was never listed. It is separate from CMPT-USD and is not what the beta trades.

An order is signed, matched off chain, batched, confirmed on chain, then the position lives through funding and possible closeout

Life of a perp order

  1. Sign. Your wallet signs an EIP-712 order: market, side, quantity, limit price, time-in-force, flags, expiry, fee limit and revocation epoch. Signing does not move funds.
  2. Accept. The matcher checks the signature, your free cash and the price bands and either rests the order or matches it.
  3. Match. When a buyer and seller cross, the matcher records a fill at the maker's limit price. This is a proposal.
  4. Batch. Fills are packed (25–50 per batch, hard cap 100) and submitted to PerpetualV2.settleBatch.
  5. Confirm. The contract re-verifies every signature, price band, margin requirement and fee, then updates positions atomically. Only now is your position real.
  6. Hold. In the general design each hour the funding epoch is finalized and your account settles the difference. Not active in the CMPT-USD beta: funding is off and the mark equals the index.
  7. Exit. Close by trading the opposite side or by a reduce-only order. The general design also has a slow-mode endpoint for when the matcher is unreachable (after a 4-hour grace period, against real signed counterparties). Not active in the CMPT-USD beta: no slow-mode endpoint is deployed for CMPT-USD, so if Trion's matcher is down you can cancel or hard-revoke on chain but cannot close a position until it returns. A flat account with negative trading cash cannot withdraw, even with positive free cash; additional deposits increase free cash but do not repay negative trading cash. Accounts with an open position also need sufficient margin after withdrawal and a fresh NORMAL market.

Matching is not confirmation

The screen may show your order as MATCHED or PROPOSED before the batch lands. If the batch reverts (a maker withdrew, a price snapshot went stale, a reorg), the fill is rolled back and the matcher rematches. Nothing you saw before CONFIRMED is binding. Order statuses in the engine are RECEIVED → ACCEPTED → RESTING/PROPOSED → SUBMITTED → CONFIRMED (or TERMINAL/RECONCILING).

Long, short and notional

Quantity is in contracts; 1 CT = 1 underlying unit. Notional = quantity × price.

Example (hypothetical): a $300 position needs $5 + $20 + $50 = $75 of initial margin, or 4x overall. The first $100 is margined at 5%, the next $100 at 20%, and the remaining $100 at 50%. Selecting 20x sizing leverage does not override these position-size tiers.

Fees

CMPT-USD beta: 0%. There is no taker fee and no maker rebate in the open beta. The general V2 design carries a candidate schedule of a 5 bps taker fee and a 3 bps maker rebate, funded only from fees actually collected; that schedule is not active for CMPT-USD. Every signed order carries a maxFeeBps; the contract rejects any fill whose configured fee exceeds it, so a fee change cannot surprise an already-signed order. See Funding and fees.

What a perp cannot do

Advanced orders

Stop-market, stop-limit, take-profit, stop-loss and OCO orders are signed strategy policies that authorize child IOC orders. The trigger is evaluated against the mark price M, once; the child then executes at a real fill price E, which may differ. A strategy is revoked by advancing its epoch on chain. The desk also offers TWAP (slices posted at a set interval, at least 30 s) and Swarm (a ladder of limit orders across a price range). See Order types.

Status caveat

The CMPT-USD perpetual is in open beta, open to everyone. Trade at app.trion.market. The beta is operator-cleared: Trion runs the matcher that settles trades and the keeper that liquidates, and there is no ADL, backstop or slow-mode contract for CMPT-USD. New open interest across all users is admitted up to $500, with an on-chain hard cap of $1,000 and a $2,000 notional cap per account. Caps may change. Parts of this page that describe the general V2 design (funding, backstop, ADL, slow mode) are marked as not active in the beta; the option pages reuse the same index, mark and settlement plumbing. See status.

Source trail: docs/spec/V2_ARCHITECTURE.md §3.2 (Outcome statuses), §3.5 (processing order), §3.7 (StrategyPolicy), §6.1; overdrive/deployments/v2/4663.perps.json (market CMPT-USD: perpetual, orders, closeoutRouter, zero adlQueue / backstopVault / slowModeEndpoint); overdrive/perps/src/v2/PerpetualV2.sol (settleBatch, deposit, withdraw); overdrive/perps/src/v2/BatchDecoderV2.sol (MAX_FILLS); overdrive/perps/src/v2/SlowModeEndpointV2.sol (GRACE_PERIOD); overdrive/perps/src/v2/StrategyPolicyV2.sol; overdrive/exchange/web/src/pages/perp-logic.ts (OrderType), perp-swarm-logic.ts, perp-twap-logic.ts.

Repository-owned documentation · October 2026 · Educational material, not investment advice and not an audit.