Funding

Get withdrawal status

GET
/execution/withdrawals/{withdrawalId}

Authorization

appIdbearerAuth
headerx-app-id<token>

Your application ID. Required on app-tier and user-tier routes. Omitted on routes that authenticate with x-app-api-key only.

headerAuthorizationBearer <JWT>

JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.

Path Parameters

withdrawalId*string

Response Body

200

application/json
  1. response
withdrawalId*string

Withdrawal id. Poll it on the status endpoint.

status*string

Withdrawal status. pending: accepted, not started (the submit response always returns this). bridging: moving funds across chains. transferring: same-chain transfer in progress. Terminal: completed, partial (some sources delivered; see completedAmountRaw), failed.

Value in"pending""bridging""transferring""completed""partial""failed"
requested*

What is being withdrawn.

completedAmountRaw*string

Estimated total delivered by the completed parts. null until the withdrawal is terminal. Integer string in the destination token's atomic units (6 decimals, so 1000000 = 1 USDC; 18 decimals on BNB Chain).

destination*

Where the funds are delivered.

legs*array<>

Transfers that make up the withdrawal.

expected*

Quote for the withdrawal. null fields unless pricingStatus is quoted.

pricingStatus*string

Fee quote state. quoted: expected holds a current quote. unquoted / quoting: no quote yet. unviable: at least one source is too small to cover its fees.

Value in"unquoted""quoting""quoted""unviable"
errorMessage*string

Why the withdrawal failed or only partly completed. null otherwise, and always null on the submit response (errors there are returned as HTTP errors).

sources*array<>

Balances the withdrawal is funded from.

pendingSignatures?array<>

Self-custody only: requests the signing wallet must answer before the withdrawal continues. Absent for managed custody. Answer them on POST /execution/withdrawals/{withdrawalId}/signatures.

Example Request
curl -X GET 'https://api.t.sufwankhalid.com/execution/withdrawals/string'
Example Response
{  "withdrawalId": "cmf3s7d9k00e1mw0l4n2x6pvh",  "status": "completed",  "requested": {    "tokenSymbol": "USDC",    "amountRaw": "50000000"  },  "completedAmountRaw": "49930000",  "destination": {    "chainId": 8453,    "address": "0x2f9a4c7e1b3d6f8a0c5e9b2d4f7a1c3e6b8d0f52",    "tokenSymbol": "USDC"  },  "legs": [    {      "type": "bridge",      "status": "confirmed",      "sourceChainId": 137,      "destChainId": 8453,      "amountRaw": "50000000",      "txHash": "0x7e0b3d6a9c2f5e8b1d4a7c0f3e6b9d2a5c8f1e4b7d0a3c6f9e2b5d8a1c4f7e0b",      "bridgeOperationId": "0x1d4a7c0f3e6b9d2a5c8f1e4b7d0a3c6f9e2b5d8a1c4f7e0b3d6a9c2f5e8b1d4a",      "sourceTokenSymbol": "USDC",      "errorMessage": null    }  ],  "expected": {    "outputRaw": "49930000",    "feeRaw": "70000",    "etaSeconds": 30  },  "pricingStatus": "quoted",  "errorMessage": null,  "sources": [    {      "sourceId": "cmf3s7d9m00e2mw0l8k5r1bqa",      "chainId": 137,      "tokenSymbol": "USDC",      "tokenAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",      "decimals": 6,      "amountRaw": "50000000",      "custodyKind": "DEPOSIT_WALLET",      "status": "confirmed",      "txHash": "0x7e0b3d6a9c2f5e8b1d4a7c0f3e6b9d2a5c8f1e4b7d0a3c6f9e2b5d8a1c4f7e0b",      "bridgeOperationId": "0x1d4a7c0f3e6b9d2a5c8f1e4b7d0a3c6f9e2b5d8a1c4f7e0b3d6a9c2f5e8b1d4a"    }  ]}