Prepare withdrawal transaction
Returns ABI-encoded calldata for a vault withdrawal. Identify the vault by its BoringVault contract address. The withdrawal mode is selected server-side per caller: eligible callers receive an atomic withdrawal that settles in a single transaction with no prior share approval, while all other callers submit a withdrawal order and must have pre-approved the WithdrawQueue to spend vault shares.
Authorizations
API key in format: pxl_<public_id>_
Query Parameters
BoringVault contract address (0x + 40 hex chars)
"0xbbbb000000000000000000000000000000000001"
ERC-20 token address to receive upon withdrawal
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
Vault share amount to redeem, in share token base units (decimal string)
"1000000000000000000"
User wallet address — submits the withdrawal order. Also used as the default intendedDepositor, receiver, and refundReceiver when those optional params are omitted.
"0x1234567890abcdef1234567890abcdef12345678"
Address treated as the depositor of record for the withdrawn shares (on-chain SubmitOrderParams.intendedDepositor). Defaults to userAddress when omitted.
"0x1234567890abcdef1234567890abcdef12345678"
Address that receives the withdrawn wantAsset on settlement (on-chain SubmitOrderParams.receiver). Defaults to userAddress when omitted.
"0x1234567890abcdef1234567890abcdef12345678"
Address that receives refunded shares if the order is cancelled (on-chain SubmitOrderParams.refundReceiver). Defaults to userAddress when omitted.
"0x1234567890abcdef1234567890abcdef12345678"
EVM chain ID
1
Controls response fields. "encoded" (default): ABI-encoded calldata only. "full": calldata + ABI fragment, function name, args. "structured": ABI fragment, function name, args only.
encoded, full, structured Slippage tolerance for the minimum assets accepted, in basis points (0-10000). Defaults to 0 (accept exactly the quoted rate). Supported only for accounts enabled for direct settlement; every other withdrawal is priced when the order is processed and carries no minimum-assets floor, so passing this returns 400 rather than silently ignoring it.
0 <= x <= 100000
Response
How long this withdrawal is expected to take to settle, as a duration string. Returned only for accounts that publish size-based settlement estimates, and only for withdrawals that go through the queue — it is absent otherwise. The estimate reflects the order size against currently available liquidity at the time of the request, so it is indicative rather than a guarantee, and it is omitted rather than guessed when the underlying data is briefly unavailable.
"86400s"