For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sodax

Create Sodax transaction

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
typestring · enumRequiredPossible values:
paramsobjectRequired
Responses
201Success

No content

post/api/sodax/transaction
POST /api/sodax/transaction HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 193

{
  "type": "sodax-withdraw",
  "params": {
    "amount": "10000",
    "tokenId": "2904354:3119",
    "withdrawTo": "tb1qabcdef1234567890",
    "sodaxData": "0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20"
  }
}
201Success

No content

Get affiliate fee

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200Success

No content

get/api/sodax/affiliate
GET /api/sodax/affiliate HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success

No content

Sign and broadcast Sodax transaction

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
typestring · enumRequiredExample: sodax-withdrawPossible values:
Responses
201Success

No content

post/api/sodax/transaction/sign
POST /api/sodax/transaction/sign HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 77

{
  "type": "sodax-withdraw",
  "params": {
    "signedBase64Tx": "cHNidP8BAH0CAAAAAd..."
  }
}
201Success

No content

Register a non-BTC swap transaction (e.g. ETH↔SOL, ETH↔BTC via SDK)

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
intentTxHashstringRequired

Intent tx hash on Sonic hub (from waitUntilIntentExecuted)

Example: 0xabc123...
spokeTxHashstringRequired

Spoke tx hash on source chain (from createIntent)

Example: 0xdef456...
walletAddressstringRequired

Wallet address that initiated the swap

Example: 0x1234...
inputTokenstringRequired

Input token address on source chain

Example: 0xtoken...
outputTokenstringRequired

Output token address on destination chain

Example: 0xtoken...
inputAmountstringRequired

Input amount in smallest unit

Example: 1000000000000000000
minOutputAmountstringRequired

Minimum output amount

Example: 990000000000000000
srcChainnumberRequired

Source chain ID

Example: 1
dstChainnumberRequired

Destination chain ID

Example: 2
srcAddressstringRequired

Source address on spoke chain

Example: 0xabc...
dstAddressstringRequired

Destination address on spoke chain

Example: 0xdef...
Responses
200

Transaction registered or already exists

No content

post/api/sodax/transactions/register
POST /api/sodax/transactions/register HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 288

{
  "intentTxHash": "0xabc123...",
  "spokeTxHash": "0xdef456...",
  "walletAddress": "0x1234...",
  "inputToken": "0xtoken...",
  "outputToken": "0xtoken...",
  "inputAmount": "1000000000000000000",
  "minOutputAmount": "990000000000000000",
  "srcChain": 1,
  "dstChain": 2,
  "srcAddress": "0xabc...",
  "dstAddress": "0xdef..."
}
200

Transaction registered or already exists

No content

Get swap lifecycle status by txId

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
txIdstringRequired
Responses
200

Swap lifecycle status

No content

get/api/sodax/transactions/{txId}/status
GET /api/sodax/transactions/{txId}/status HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Swap lifecycle status

No content

Get Sodax transactions

get
Query parameters
relatedAddress_eqstringOptional

Match rows where tradingAddress, withdrawTo, or userAddress equals this address.

intentTokenPair_eqstringOptional

Match rows where BOTH tokens appear as intent.inputToken or intent.outputToken (bidirectional). Pass two comma-separated token addresses (e.g. tokenA,tokenB). Matches both A→B and B→A.

intentToken_eqstringOptional

Match rows where intent.inputToken OR intent.outputToken equals this value (e.g. EVM token address). Use with relatedAddress_eq for (intent OR intent) AND (tradingAddress OR withdrawTo).

pagenumberOptional

Page number (default: 1)

Example: 1
pageSizenumberOptional

Number of items per page (default: 10)

Example: 10
sortstringOptional

Sort field and order. Use - prefix for descending. Example: -createdAt, createdAt

Example: -createdAt
selectstringOptional

Fields to select (comma separated). Use + prefix to include hidden fields. Example: name,status,+holders

populatestringOptional

Relations to populate (comma separated). Example: wallet,token

Responses
200

Get Sodax transactions

application/json
codestringRequiredExample: 1
messagestringRequiredExample: common.success
dataobject · PartnerTxEntity[]Required
get/api/sodax/transactions
GET /api/sodax/transactions HTTP/1.1
Host: api.bound.exchange
Accept: */*
200

Get Sodax transactions

{
  "code": "1",
  "message": "common.success",
  "data": [
    {}
  ],
  "metaData": {
    "totalItems": 1,
    "currentPage": 1,
    "pageSize": 1,
    "totalPages": 1
  }
}

Last updated