Skip to main content
Withdrawals are routed through the WithdrawQueue flow.
Breaking change in v0.5.0: All withdrawal functions now identify accounts by vaultName instead of yieldType. See the migration guide.
Recommended sequence: getVaultsByConfig()prepareWithdrawalAuthorization()prepareWithdrawal().

Step 0: Discover the Account

Before making any withdrawal calls, discover your account and record its name:

Step 1: Check Authorization

Step 2: Submit Withdrawal Order

Optional Low-Level APIs

Checking Withdrawal Status

After submitting a withdrawal order, use getWithdrawalRequests to poll for status updates:

Withdrawal Request Statuses

Withdrawal orders are fulfilled by the account operator, typically within 24 hours of submission. Use getWithdrawalRequests to display current status to users.

Canceling a Withdrawal

Withdrawal requests with a PENDING status can be canceled and refunded to the user in a specified asset. This uses a two-step process: retrieve the withdrawal requests, then submit the cancellation.

Step 1: Retrieve Withdrawal Requests

Use getWithdrawalRequests to fetch pending requests for a given user address:

Step 2: Submit Cancellation

Prepare and send the transaction to cancel a specific pending withdrawal request:
Only the order owner can cancel their withdrawal request. The wantAsset specifies the token the user will receive as a refund.

Smart Wallet Behavior

In auto mode, smart wallets are routed to approval mode so approve + withdraw can be batched atomically.