Skip to main content

Order Submissions

An order submission is your trading intent: what you want to buy or sell, how much, and at what all-in price. There is no separate buying API and selling API — both sides use the same submission, distinguished by a single direction field.

A submission is not itself a resting order. When you create one, Tradepost materializes it into a resting order — a bid for a BUY, an ask for a SELL — on the book for the one product and key it names, in every venue it is scoped to. You manage the submission as the unit: amend it, cancel it, or query its state.

Matching is asynchronous: createOrderSubmission returns QUEUED, and within about a second the order crosses what it can and rests the remainder or cancels it per time in force. Read the outcome with getOrderSubmission, or subscribe to the order lifecycle stream.

Direction

DirectionWhat rests on the bookSide-specific inputs
BUYBidsPayment rail / payment token, auto-outtake, vaulting preference, recipient address
SELLAsksOrigin address, minimum order size

Order types

TypeBehavior
LIMITRests at your all-in price until matched, cancelled, or expired
MARKETCrosses immediately against available liquidity, subject to slippage controls

Time in force

TIFBehavior
GTCGood till cancelled — rests until you cancel or it expires
IOCImmediate or cancel — fills what it can instantly, cancels the rest
FOKFill or kill — fills entirely and instantly, or not at all

Status lifecycle

Status says where the order stands with the book — is it still working, and if not, how did it end. Fill progress is filledQuantity / settledQuantity, not the status: an order with units resting stays amendable and cancellable whatever has already matched or delivered. Crossing the book commits quantity but moves no money and no goods — a cross can still fail while settling — so only settlement ever declares FILLED.

StatusMeaning
QUEUEDAccepted, not yet resting on any book
EXECUTINGA worker is running this order's match/rest right now — milliseconds, not a business phase
RESTINGUnits on the book, none delivered yet. Working — some quantity may already be matched and settling
PARTIALLY_FILLEDUnits on the book and some already delivered. Working — amend or cancel acts on the resting remainder
SETTLINGNothing left on the book; matched units still moving through settlement. Done working, not done settling — nothing to amend or cancel. Resolves to FILLED, or to CANCELLED / EXPIRED carrying the delivered count
FILLEDEvery unit delivered. Terminal
CANCELLEDNothing on the book, nothing moving, short of a full fill — pulled, swept, or killed. filledQuantity may be non-zero. Terminal
EXPIREDNothing on the book, nothing moving; the last resting order ran out its clock. filledQuantity may be non-zero. Terminal

Who may trade

Every venue carries access rules — identity verification, account type, balance, region — evaluated when you submit. A refused order returns a payload error naming what would fix it: KYC_REQUIRED, PAYOUT_METHOD_REQUIRED, PRICE_REQUIRED, or the generic ACCESS_DENIED. getProductMarkets previews the venues and sides open to you — see Markets.

API surface

OperationPurpose
getOrderQuotePrice a prospective submission before creating it — see Quotes
createOrderSubmissionSubmit an order — see Creating
bulkCreateOrderSubmissionsSubmit many orders in one call
updateOrderSubmissionAmend a live submission — see Managing
cancelOrderSubmissionCancel a live submission
bulkCancelOrderSubmissionsCancel many submissions in one call
getOrderSubmissionFetch one submission — see Querying
listOrderSubmissionsPage your submissions with filters

The fills that result from your submissions are Order Executions.