Build an order
Build a tokenized-equity (Ondo) buy/sell order; the product account is the maker.
Returns everything needed to place the order in one round-trip: a price quote,
a one-time token approval to sign (only until the settlement contract is
approved), and the order payload the owner signs off-chain. Only the approval
ever touches the chain — the signed order is relayed to market makers, never
broadcast. Equities only; RWA yield tokens use /transact/buy and
/transact/sell.
Body
Build a buy or sell order for a tokenized equity.
Token the sender is paying. Either an on-chain symbol (e.g. TSLAon), the literal USDC, or a 0x-prefixed token address.
"USDC"
"WETH"
"0xA0b86a33E6441ccF30EE5DdEF1E9b652C91ac1c8"
Token the sender is receiving. Same accepted forms as from_token.
"USDC"
"WETH"
"0xA0b86a33E6441ccF30EE5DdEF1E9b652C91ac1c8"
Human-readable amount of from_token to swap (decimal string). Decimals are applied server-side.
Wallet that owns the Tokenized Assets Account. The product account address is derived deterministically from this owner. The owner signs the EIP-712 payloads returned by this endpoint (the optional approval and the order itself).
Max acceptable slippage in basis points (1 bp = 0.01%). Range 1-5000 (0.01%-50%); defaults to 50 (0.5%). The upper bound is intentionally wide so callers can clear the wide auction floors quoted for thinly-traded tokenized stocks.
1 <= x <= 5000Response
Successful Response
Quote, optional approval payload, and the EIP-712 order to sign.
Preview of input/output amounts and fees for the proposed order.
Order metadata plus the EIP-712 payload to sign. The owner signs order.safe_message_eip712 and submits the resulting signature to /order/submit along with the rest of the order fields.
EIP-712 payload that authorizes a one-time max-approve of from_token to the settlement contract. Populated when the Tokenized Assets Account's existing allowance is below amount. The owner signs it, then it is broadcast via POST /v2/gas_sponsorship/prepare (or directly by the owner) to set the allowance on-chain. null when the allowance is already sufficient.
{
"domain": {
"chainId": 8453,
"verifyingContract": "0x6B90E8B4E3E971E74C1A47a3a20976377E2dB4b1"
},
"message": {
"baseGas": "0",
"data": "0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020",
"gasPrice": "0",
"gasToken": "0x0000000000000000000000000000000000000000",
"nonce": "7",
"operation": 1,
"refundReceiver": "0x0000000000000000000000000000000000000000",
"safeTxGas": "0",
"to": "0x93C23AAE4793C14D6DF35D2A2A2234204e1559dA",
"value": "0"
},
"primaryType": "SafeTx",
"types": {
"EIP712Domain": [
{ "name": "chainId", "type": "uint256" },
{
"name": "verifyingContract",
"type": "address"
}
],
"SafeTx": [
{ "name": "to", "type": "address" },
{ "name": "value", "type": "uint256" },
{ "name": "data", "type": "bytes" },
{ "name": "operation", "type": "uint8" },
{ "name": "safeTxGas", "type": "uint256" },
{ "name": "baseGas", "type": "uint256" },
{ "name": "gasPrice", "type": "uint256" },
{ "name": "gasToken", "type": "address" },
{
"name": "refundReceiver",
"type": "address"
},
{ "name": "nonce", "type": "uint256" }
]
}
}