Skip to main content
POST
/
exchanges
Create exchange
curl --request POST \
  --url https://api-partner.houdiniswap.com/v2/exchanges \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "addressTo": "<string>",
  "quoteId": "<string>",
  "addressFrom": "<string>",
  "refundAddress": "<string>",
  "signatures": [
    {
      "signature": "<string>",
      "key": "<string>",
      "swapRequiredMetadata": {}
    }
  ],
  "destinationTag": "<string>",
  "walletInfo": "<string>"
}
'
{
  "swapName": "<string>",
  "houdiniId": "<string>",
  "created": "2023-11-07T05:31:56Z",
  "receiverAddress": "<string>",
  "anonymous": true,
  "expires": "2023-11-07T05:31:56Z",
  "inAmount": 123,
  "inSymbol": "<string>",
  "outAmount": 123,
  "outSymbol": "<string>",
  "receiverTag": "<string>",
  "notified": true,
  "eta": 123,
  "inAmountUsd": 123,
  "outAmountUsd": 123,
  "multiId": "<string>",
  "inCreated": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "isDex": true,
  "orderFinishedReceived": "2023-11-07T05:31:56Z",
  "actionRequired": true,
  "outToken": {
    "icon": "<string>",
    "id": "<string>",
    "chain": "<string>",
    "created": "2023-11-07T05:31:56Z",
    "chainData": {
      "icon": "<string>",
      "addressValidation": "<string>",
      "tokenAddressValidation": "<string>",
      "id": "<string>",
      "created": "2023-11-07T05:31:56Z",
      "name": "<string>",
      "shortName": "<string>",
      "explorerUrl": "<string>",
      "addressUrl": "<string>",
      "kind": "<string>",
      "enabled": true,
      "shortNameV1": "<string>",
      "modified": "2023-11-07T05:31:56Z",
      "memoNeeded": true,
      "hashUrl": "<string>",
      "priority": 123,
      "chainId": 123
    },
    "address": "<string>",
    "decimals": 0,
    "symbol": "",
    "name": "",
    "modified": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "mainnet": true,
    "enabled": true,
    "unverified": true,
    "hasDex": true,
    "hasCex": true,
    "hasSelfPrivate": true,
    "cexTokenId": "",
    "rank": 123,
    "cgId": "<string>",
    "marketCapChange24h": 123,
    "circulatingSupply": 123,
    "price": 123,
    "marketCap": 123,
    "volume": 123,
    "fdv": 123,
    "change": 123,
    "priority": 123,
    "warningMessage": "<string>",
    "minMax": {
      "anon": [
        123
      ],
      "cex": [
        123
      ],
      "dex": [
        123
      ]
    }
  },
  "inToken": {
    "icon": "<string>",
    "id": "<string>",
    "chain": "<string>",
    "created": "2023-11-07T05:31:56Z",
    "chainData": {
      "icon": "<string>",
      "addressValidation": "<string>",
      "tokenAddressValidation": "<string>",
      "id": "<string>",
      "created": "2023-11-07T05:31:56Z",
      "name": "<string>",
      "shortName": "<string>",
      "explorerUrl": "<string>",
      "addressUrl": "<string>",
      "kind": "<string>",
      "enabled": true,
      "shortNameV1": "<string>",
      "modified": "2023-11-07T05:31:56Z",
      "memoNeeded": true,
      "hashUrl": "<string>",
      "priority": 123,
      "chainId": 123
    },
    "address": "<string>",
    "decimals": 0,
    "symbol": "",
    "name": "",
    "modified": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "mainnet": true,
    "enabled": true,
    "unverified": true,
    "hasDex": true,
    "hasCex": true,
    "hasSelfPrivate": true,
    "cexTokenId": "",
    "rank": 123,
    "cgId": "<string>",
    "marketCapChange24h": 123,
    "circulatingSupply": 123,
    "price": 123,
    "marketCap": 123,
    "volume": 123,
    "fdv": 123,
    "change": 123,
    "priority": 123,
    "warningMessage": "<string>",
    "minMax": {
      "anon": [
        123
      ],
      "cex": [
        123
      ],
      "dex": [
        123
      ]
    }
  },
  "outTransactionOutHash": "<string>",
  "fixed": true,
  "refundAddress": "<string>",
  "modified": "2023-11-07T05:31:56Z",
  "nonRefundable": true,
  "metadata": "<unknown>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.houdiniswap.com/llms.txt

Use this file to discover all available pages before exploring further.

Authentication

✅ Organization User (CustomerEmployee)
❌ Delegated User (EndUser)
❌ Service Account

Required Permissions

Exchanges:Create: Always required.

Authorizations

Authorization
string
header
required

Body

application/json

Request body for creating a new exchange

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.

addressFrom
string

Source wallet address (required for DEX, ignored for CEX)

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
signatures
object[]

EIP-712 signatures for permit-based approvals (DEX only)

destinationTag
string

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

Maximum string length: 64
walletInfo
string

Wallet info string

Maximum string length: 256

Response

Exchange created

From T, pick a set of properties whose keys are in the union K

swapName
string
required
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
receiverTag
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
multiId
string
required
inCreated
string<date-time>
required
id
string
required
isDex
boolean
required
orderFinishedReceived
string<date-time>
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
outStatus
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
outTransactionOutHash
string
required
fixed
boolean
refundAddress
string
modified
string<date-time>
nonRefundable
boolean
metadata
any