Skip to Content
V4 API BetaEndpointsOrdersCreate Order

Create Order

POST/v4/orders

Description

Create an order from a quote ID. This endpoint returns the order details along with unsigned transactions that need to be signed and broadcast.

Unsigned Transactions: Orders return unsigned transactions that you must sign with your wallet before broadcasting to the blockchain.

Header Parameters

NameDescriptionRequiredExample
App-NameApp-Name for the authorizationyesacme-inc
App-VersionApp-Version for the authorizationno23.5.5
App-PlatformClient platform: desktop, mobile, or browsernobrowser
ForwardedIf you are proxying requests to the API, you must include the "Forwarded" header with the original request IP address. This is used for geolocation availability purposes.no
User-AgentUser-Agent for the authorizationnoAgentName/1.0.0

Query Parameters

NameDescriptionRequiredDefaultOptions
caip19Return CAIP-19 identifiers when true or legacy XO identifiers when false.notruetrue, false

Request Body

NameDescriptionRequiredDefault
quoteIdQuote ID obtained from POST /v4/quotesyes
fromAddressThe address to withdraw funds from (must match the address used in the quote)yes
toAddressThe address to receive the exchanged fundsyes
fromAddressTagTag/memo for fromAddress. Required for ATOM, EOS, XRP, XLMno
toAddressTagTag/memo for toAddress. Required for ATOM, EOS, XRP, XLMno

Response

Successful order
{
  "id": "order_xyz789abc",
  "status": "inProgress",
  "pair": "eip155:1/slip44:60_eip155:137/erc20:0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
  "fromAsset": "eip155:1/slip44:60",
  "toAsset": "eip155:137/erc20:0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
  "fromAmount": "1",
  "toAmount": "2500",
  "fromAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  "toAddress": "0x531a9aA0f2cF0F0B193d6Ca6aA9d990a54A2657a",
  "slippage": 0.5,
  "createdAt": "2024-01-15T10:00:00Z",
  "unsignedTransactions": ["0x02f8..."]
}

Response fields:

  • id - Order identifier
  • status - Order status: inProgress, complete, failed, expired, refunded, delayed
  • pair - Pair identifier in CAIP-19 format
  • fromAsset - Source asset identifier in CAIP-19 format
  • toAsset - Destination asset identifier in CAIP-19 format
  • fromAmount - Amount being sent in standard units (e.g., “1” for 1 ETH)
  • toAmount - Amount to receive in standard units (e.g., “2500” for 2500 USDC)
  • fromAddress - Source address
  • toAddress - Destination address
  • slippage - Slippage tolerance percentage
  • createdAt - ISO 8601 timestamp when order was created
  • unsignedTransactions - Array of unsigned transaction strings ready to sign

Unsigned transaction format:

The unsignedTransactions field contains an array of strings representing transactions ready to sign. The format depends on the blockchain:

  • EVM chains (Ethereum, Polygon, etc.): Hex-encoded transaction (e.g., 0x02f8...)
  • Bitcoin: Base64-encoded PSBT (Partially Signed Bitcoin Transaction)
  • Solana: Base64-encoded transaction
  • TRON: Hex-encoded transaction
Last updated on