Skip to main content
POST
/
swap
/
execute
Execute swap
curl --request POST \
  --url https://api.zet.money/v1/swap/execute \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "quoteId": "qt_01H8X5...",
  "walletId": "wal_01H8X3...",
  "sourceAddress": "0xabc...",
  "reference": "swap_001",
  "callbackUrl": "<string>"
}
'
{
  "success": true,
  "data": {
    "transactionId": "txn_01H8X5...",
    "reference": "swap_001",
    "status": "pending",
    "transactionHash": "0xabc123...",
    "approvalData": {
      "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "data": "0x095ea7b3...",
      "value": "0"
    },
    "transactionData": {
      "to": "0x1231DEB6...",
      "data": "0x4630a0d8...",
      "value": "0",
      "gasLimit": "350000"
    }
  }
}

Authorizations

x-api-key
string
header
required

Your Zet API key. Contact zetdotmoney@gmail.com to obtain your keys.

Body

application/json
quoteId
string
required
Example:

"qt_01H8X5..."

walletId
string

Zet wallet to execute the swap from. Required for custodial flow.

Example:

"wal_01H8X3..."

sourceAddress
string

External wallet address. For non-custodial flow, the user must approve and sign the swap transactions themselves — use the returned approvalData and transactionData.

Example:

"0xabc..."

reference
string
Example:

"swap_001"

callbackUrl
string<uri>

Response

Swap initiated.

success
boolean
Example:

true

data
object