Sodax
No content
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"
}
}No content
No content
GET /api/sodax/affiliate HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
sodax-withdrawPossible values: No content
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..."
}
}No content
Intent tx hash on Sonic hub (from waitUntilIntentExecuted)
0xabc123...Spoke tx hash on source chain (from createIntent)
0xdef456...Wallet address that initiated the swap
0x1234...Input token address on source chain
0xtoken...Output token address on destination chain
0xtoken...Input amount in smallest unit
1000000000000000000Minimum output amount
990000000000000000Source chain ID
1Destination chain ID
2Source address on spoke chain
0xabc...Destination address on spoke chain
0xdef...Transaction registered or already exists
No content
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..."
}Transaction registered or already exists
No content
Swap lifecycle status
No content
GET /api/sodax/transactions/{txId}/status HTTP/1.1
Host: api.bound.exchange
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Swap lifecycle status
No content
Match rows where tradingAddress, withdrawTo, or userAddress equals this address.
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.
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).
Page number (default: 1)
1Number of items per page (default: 10)
10Sort field and order. Use - prefix for descending. Example: -createdAt, createdAt
-createdAtFields to select (comma separated). Use + prefix to include hidden fields. Example: name,status,+holders
Relations to populate (comma separated). Example: wallet,token
Get Sodax transactions
1common.successGET /api/sodax/transactions HTTP/1.1
Host: api.bound.exchange
Accept: */*
Get Sodax transactions
{
"code": "1",
"message": "common.success",
"data": [
{}
],
"metaData": {
"totalItems": 1,
"currentPage": 1,
"pageSize": 1,
"totalPages": 1
}
}Last updated