Skip to main content
POST
Create private send order

Authorizations

Authorization
string
header
required

Body

application/json

Create a private same-token order from a prior private-send quote.

addressTo
string
required

Destination wallet address where funds will be sent

Required string length: 1 - 200
quoteId
string
required

Quote ID from a prior quote response. Amount, from token, to token, and swap provider are retrieved from the provided quote. For CEX exchanges, if the exchange fails with the chosen swap provider, it will fallback to the next best route.

markup
number<double>

Partner markup for this request, as a percentage (0.5 = 0.5%). Accepted range: 0–4. This value overrides your account’s default markup for this trade. Send 0 to apply no markup, or leave the field empty / set it to null if no markup is requested. Providers that do not support the requested markup will be excluded.

Required range: 0 <= x <= 4
Example:

0.5

refundAddress
string

Sender's wallet address for refunds if a fixed-rate swap fails. Required when the quote was created with fixed: true.

Maximum string length: 200
refundExtraId
string

Memo/tag for refundAddress on memo-bearing chains (e.g. XRP DestinationTag, Stellar memo, TON comment). Ignored when the destination chain has no memo concept.

Maximum string length: 64
destinationTag
string

Destination tag / memo (e.g. for XRP, XLM)

Maximum string length: 64

Response

Success

houdiniId
string
required
created
string<date-time>
required
receiverAddress
string
required
anonymous
boolean
required
expires
string<date-time>
required
status
enum<number>
required
  • -2 Order is being initialized (label: INITIALIZING)
  • -1 Order initialized (label: NEW)
  • 0 Waiting for deposit confirmation (label: WAITING)
  • 1 Deposit is being confirmed (label: CONFIRMING)
  • 2 Exchange is in progress (label: EXCHANGING)
  • 3 Order is going through anonymization (label: ANONYMIZING)
  • 4 Order completed successfully (label: FINISHED)
  • 5 Order has expired (label: EXPIRED)
  • 6 Order failed (label: FAILED)
  • 7 Order was refunded (label: REFUNDED)
  • 8 Order was deleted (label: DELETED)
Available options:
-2,
-1,
0,
1,
2,
3,
4,
5,
6,
7,
8
inAmount
number<double>
required
inSymbol
string
required
outAmount
number<double>
required
outSymbol
string
required
notified
boolean
required
eta
number<double>
required

ETA time, depending on swap

inAmountUsd
number<double>
required

USD value of the input amount at order creation time.

outAmountUsd
number<double>
required
inCreated
string<date-time>
required
id
string
required
isDex
boolean
required
actionRequired
boolean
required
outToken
object
required
inToken
object
required
inStatus
enum<number>
required
  • 0 New swap
  • 1 Waiting for confirmation
  • 2 Being confirmed
  • 3 Exchange in progress
  • 4 Sending to destination
  • 5 Swap completed
  • 6 Swap failed
  • 7 Swap refunded
  • 8 Verifying swap
  • 9 Swap expired
  • 10 Fallback mode
Available options:
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
displayStatus
enum<string>
required
Available options:
WAITING_FOR_DEPOSIT,
DEPOSIT_DETECTED,
EXCHANGE_IN_PROGRESS,
SENDING_TO_INTERMEDIARY,
REACHED_INTERMEDIARY,
INITIATING_SECOND_EXCHANGE,
SECOND_EXCHANGE_IN_PROGRESS,
SENDING_TO_RECEIVER,
SWAP_COMPLETED,
EXPIRED,
FAILED,
REFUNDED,
DELETED
fixed
boolean
refundAddress
string
modified
string<date-time>
depositTag
string

Memo/tag required when depositing funds for assets that use one

nonRefundable
boolean
metadata
any
rerouted
boolean

True when the route that executed is not the one that was quoted, because the quoted route failed and a fallback was used. The amounts may differ from the quote — compare inAmount against quotedInAmount and outAmount against quotedOutAmount.

quotedInAmount
number<double>

The deposit amount originally quoted, present only when the order was rerouted. inAmount is what the fallback route actually asks for; on an exact-out order this is the side that moves.

quotedOutAmount
number<double>

The payout originally quoted, present only when the order was rerouted. outAmount is what the fallback route will actually pay; on an exact-in order this is the side that moves.

receiverTag
string | null

Memo/tag required when receiving funds for assets that use one

swapName
string

Name of the exchange handling the deposit leg. Omitted on private orders, which withhold the provider, and on multiswap orders that have not yet been assigned one.

multiId
string

Multi ID. Present only on orders created as part of a batch.

outStatus
enum<number>

Status of the payout leg. Present only on private orders — public orders settle in a single leg and never carry one.

Available options:
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
outTransactionOutHash
string

Payout transaction hash of the second leg. Present only on private orders, and only once that leg has paid out. Public orders report their payout hash on inTransactionOutHash instead.

orderFinishedReceived
string<date-time>

Date and time when the order received status 4. Stamped only when an order finishes; orders that expire, fail or refund never receive one.

depositAddress
string

The CEX deposit address where the user must send funds. Omitted on multiswap orders whose per-order initialization did not complete.