Skip to main content
POST
/
execution
/
withdraw
/
preview
Preview a withdrawal
curl --request POST \
  --url https://api.agg.market/execution/withdraw/preview \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-app-id: <api-key>' \
  --data '
{
  "amountRaw": "<string>",
  "destinationAddress": "<string>",
  "destinationChainId": 2,
  "max": true
}
'
{
  "receiveAmountRaw": "<string>",
  "feeRaw": "<string>",
  "relayFeeRaw": "<string>",
  "networkFeeRaw": "<string>",
  "quoteExpiresAt": "<string>",
  "unviableReason": "<string>",
  "maxDeliverableRaw": "<string>"
}

Authorizations

x-app-id
string
header
required

Your application ID. Required for all app-tier and user-tier routes.

Authorization
string
header
required

JWT access token returned by POST /auth/verify. Required for user-tier routes.

Body

application/json
amountRaw
string
required

Positive integer string in the token's native decimals.

Pattern: ^[1-9][0-9]*$
tokenSymbol
enum<string>
required

Stable-coin symbol the withdrawal is denominated in.

Available options:
USDC,
USDC.e,
USDT
destinationAddress
string
required

Recipient address. EVM destinations: 0x-prefixed 20-byte hex. Solana: base58 (32–44 chars).

Pattern: ^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$
destinationChainId
integer
required

Chain ID where the recipient address should receive funds.

Required range: x >= 1
max
boolean

Cap to the deliverable maximum (withdraw-max intent).

Response

200

receiveAmountRaw
string | null
required
feeRaw
string | null
required
relayFeeRaw
string | null
required
networkFeeRaw
string | null
required
pricingStatus
enum<string>
required
Available options:
quoted,
unviable
quoteExpiresAt
string | null
required
unviableReason
string | null
required
maxDeliverableRaw
string | null
required