Skip to main content
POST
Builds the exact typed data the custody contract will verify, and tells you whether the trader’s tradable balance covers the order. Nothing is created and nothing is reserved: this is a construction step. Call it, have the trader sign order against domain and types, then send the signature back with the same expiry, nonce and salt to Submit Order. Those three fields are part of the signed struct, so a value that differs from what was signed produces a different hash and the signature fails. Only limit orders exist on this venue, so price is always required.

Path and units

price and quantity go in as order book units. What comes back in order.quantity and order.price are on-chain amounts in each token’s own decimals, because that is what the contract signs over. Both conversions use the decimals recorded on the book. A quantity or price that does not convert cleanly is refused rather than rounded, and the message states the step size the token allows.

Body Parameters

string
required
Target book. Must be an external securities book you own or have imported, and must be ACTIVE.
string
required
The trader’s wallet. Becomes order.trader.
string
required
BUY or SELL.
string
required
Limit price in order book units, as a digit-only string. Must be greater than zero.
string
required
Base quantity in order book units, as a digit-only string. Must be greater than zero.
integer
Unix timestamp in seconds after which the signature can no longer settle. Defaults to seven days out. Must be at least 60 seconds and at most 90 days in the future.
string
Order nonce, as a digit-only string that fits in a uint64. Defaults to "0". A trader can invalidate every order below a nonce by raising their on-chain nonce floor, so use this to group orders you may want to retire together.
string
32-byte hex value making the order hash unique. Generated randomly if omitted. Two orders identical in every other field need different salts, otherwise the second is a duplicate of the first.

Response Fields

object
sufficient: false is a warning, not a refusal. The order is still buildable. Submission is where the balance is enforced, with INSUFFICIENT_CUSTODY_BALANCE. On a buy, an insufficient figure usually means the settlement asset allowance is too low rather than the balance; raise it with Approve Settlement Asset.

Error Codes