Build a tokenized-equity buy/sell order (Ondo)
Build a tokenized-equity (Ondo) buy/sell order; maker is the product account.
Equities only. RWA yield tokens (Midas — mTBILL, mBASIS, mBTC) are
rejected with 422 WRONG_TRADE_FLOW; trade them via /transact/buy &
/transact/sell. Equity orders are always USDC-paired (USDC→equity to buy,
equity→USDC to sell) and settle through 1inch Fusion.
Returns up to three pieces in a single round-trip:
quote— preview of the input/output amounts and fees.approval_safe_tx_eip712— only present when the account’s allowance to the settlement contract is belowamount. The owner signs this EIP-712 payload, then it is broadcast viaPOST /v2/gas_sponsorship/prepare(or the owner can broadcast directly) to set the on-chain allowance. Wait for that transaction to confirm before signing the order.order— the order metadata (order_hash,extension,quote_id,order_message) plussafe_message_eip712, an EIP-712 payload the owner signs off-chain to authorize the order. The signature is submitted to/order/submitand is never broadcast on-chain.
The owner never broadcasts the order itself — only the (one-time) approval transaction ever hits the chain.
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" }
]
}
}