Vertexprotocol withdrawals depended on the margin left in the account before the exchange closed
Last updated
Vertexprotocol withdrawals returned eligible collateral to a wallet while preserving the trading account’s required initial margin. The amount available depended on its balances, positions and borrowing. Redeeming pool shares could restore an account balance without completing a wallet withdrawal. The July 2025 shutdown ended the ordinary withdrawal service and introduced a separate settlement return process.
A portfolio value and a withdrawable amount described different things. Historical records also distinguished an estimated limit, a submitted request and tokens received in a wallet. Those states mattered when deciding whether collateral had actually left the exchange.
In short: Native pool redemption updated account balances, while a wallet exit still required a collateral withdrawal that passed the account’s margin checks.
Collateral needed by the remaining portfolio
An account could release less than its visible balance when borrowing or open positions needed that collateral to meet initial margin requirements. Partial withdrawals remained possible if the resulting account passed the required checks. A full exit required enough liabilities and exposure to be removed that the account could release its remaining collateral. Repaying a borrow reduced an obligation; closing a position changed exposure and its associated profit or loss. The selected token also had to pass the money market’s utilization check. Adequate account margin did not establish that recorded deposits could support the withdrawal.
Exit operations that released different balances
The legacy contracts defined wallet withdrawal routes and native pool redemptions; Elixir used separate pool withdrawal and claim operations. These operations applied to different holdings and did not share one completion point.
| Historical operation | Balance released | Condition or next required action |
|---|---|---|
| Standard collateral withdrawal | Selected token to the owner’s wallet | Initial health and token utilization checks |
| Fast collateral withdrawal | Selected token after the fast deduction | Every configured verifier signer’s signature, an unused index above the pool minimum, an amount exceeding the fast fee and sufficient token liquidity |
| Slow-mode collateral withdrawal | Selected token through queued execution | Queue timing and the underlying withdrawal checks |
| Native spot LP redemption | Base and quote balances in the subaccount | Collateral withdrawal needed for a wallet exit |
| VLP redemption | Quote credit after the burn fee, possibly zero | Nonnegative remaining VLP balance; wallet withdrawal separate |
| Elixir spot pool withdrawal | Proceeds from the pool’s supported tokens | Queue processing, settlement and a claim |
| Elixir perpetual pool withdrawal | Proceeds from the pool’s supported token | Shares burned before settled liquidity became claimable |
| Wallet completion | Selected tokens at the receiving address | Account credits and pending claims were intermediate states |
A native pool redemption updated account balances inside the protocol. Its completion and a later wallet withdrawal therefore had different balance changes and different constraints.
The health remaining after collateral removal
Initial health measured remaining risk capacity using weighted balances and positions, so equal token withdrawals could affect different accounts differently. Prices and product risk weights entered that calculation. Offsetting spot and perpetual exposure could change the combined margin requirement. Borrowing added liabilities, while interest and perpetual funding changed balances over time. Portfolio value alone supplied too little information to calculate the withdrawal limit. Perpetual settlement separately updated quote collateral, so a profit contribution to margin was not automatically the same quantity of withdrawable tokens.
Two health thresholds
Initial health after the balance reduction
The legacy collateral withdrawal function required an ordinary subaccount’s initial health to remain at or above zero after the balance reduction. This constrained withdrawals even when maintenance health remained positive.
Maintenance health and liquidation
Maintenance health governed liquidation eligibility when its weighted measure fell below zero. An account could remain above that threshold while lacking initial health for additional risk. Avoiding liquidation did not establish permission to remove the requested collateral.
The token’s lending state
The spot engine required total recorded deposits to remain at least as large as total recorded borrows after withdrawal. That check concerned the selected token’s lending state, while initial health concerned the withdrawing account. Passing either condition alone did not establish that the other condition held.
Wallet receipt and pending protocol records
An engine success response recorded a different state from a wallet token transfer in the legacy withdrawal architecture. The SDK’s maximum-withdrawable query returned an estimate for a particular product and subaccount. Its withdrawal call returned an engine execution response. A signed withdrawal payload represented authorization.
A wallet transfer identified the receiving address and selected token on the relevant chain. A credited account balance, an engine response and an integration’s pending claim each described different states. A redemption record alone did not show receipt of spendable wallet tokens.
Standard fees and the fast withdrawal deduction
Standard engine withdrawals charged a product-specific fee, while the historical fast route deducted an additional fee from the pool transfer. The legacy fast-withdrawal code used the greater of 0.1% of the requested token amount or five times the product’s base withdrawal fee. The requested amount had to exceed the fast deduction. A percentage alone therefore did not describe the cost for small requests.
The requested amount and the tokens that arrived could differ. Fees used the relevant product’s token denomination, so a token fee and its dollar value were different quantities. Network gas for an on-chain action was a separate cost.
Pool redemptions before a wallet exit
Native pool balances
A native spot LP burn returned proportional base and quote balances to the subaccount. Those proportions reflected the pool’s balances when redemption occurred. A VLP burn valued the redeemed amount at the supplied oracle price and deducted a burn fee. The quote credit was zero when the fee met or exceeded that value. Both paths changed protocol balances. The subsequent collateral withdrawal had its own account and token checks.
Elixir-managed pool claims
Elixir’s integration had a separate withdrawal-and-claim process. Its spot and perpetual pool functions queued withdrawal intents, and processing burned the relevant user shares. The integration sent withdrawal requests to the exchange; settled liquidity arrived at each pool’s VertexRouter. A claim through VertexManager then transferred the recorded proceeds to the user. The integration charged processing fees in native ETH and described a 1 USDC sequencer charge for the withdrawal request. Those charges applied to the Elixir integration’s withdrawal flow.
Slow-mode execution under its own conditions
The legacy slow-mode queue provided an on-chain fallback for collateral withdrawal requests while retaining the underlying withdrawal checks. The Endpoint assigned a request an executable time three days after submission. Public execution had to respect that timestamp; sequencer execution could process the request sooner.
Sender validation remained part of processing. The fallback called the same Clearinghouse collateral withdrawal logic, including the ordinary account’s initial-health requirement and token utilization check. Waiting for the timestamp did not repair insufficient margin or change the lending pool’s balances.
The three-day queue condition did not establish a fixed wallet-arrival deadline. Submission, eligibility for execution and successful transfer were different states.
The July 2025 closure changed the exit path
Manual withdrawals remained operational during the first three stages of the July 2025 shutdown. Phase 4 began on July 16, 2025 at 14:00 UTC, when the timetable disabled deposits and withdrawals. The closure plan provided for settlement funds to return directly to wallets.
Remaining perpetual positions faced forced closure at frozen oracle prices before their settlement funds were due for distribution. Outstanding money market borrows faced collateral swaps during final closure, with a 5% penalty for borrows left beyond Phase 3. Historical balances therefore needed to be read alongside their position and borrowing settlements.
Collateral returns and the VRTX-to-INK token migration addressed separate assets. For an unresolved old exit, the decisive record was the transfer of the relevant collateral to the receiving wallet. A shutdown timetable or token allocation did not establish that an individual collateral payment had arrived.
Things people ask about Vertexprotocol withdrawals
Could an old collateral withdrawal send funds to a different wallet?
Ordinary collateral withdrawals went to the wallet encoded in the withdrawing subaccount. The Clearinghouse replaced a supplied destination with that owner address for normal accounts. Its internal settlement account followed a separate rule, so that account’s destination parameter did not establish a general option for redirecting user withdrawals.
Did the standard EVM withdrawal pool bridge collateral to another chain?
The standard EVM WithdrawPool transferred the selected token on its own chain. That contract’s token transfer did not initiate a cross-chain bridge. Moving the received balance to another network required its own supported route and conditions; the core transfer did not establish receipt on another network.
Which amount format did the collateral withdrawal call require?
The collateral withdrawal call used integer amounts in the selected token’s native decimal units. The Clearinghouse normalized that amount to 18-decimal precision for its internal balance update. A displayed token amount therefore needed the token’s actual precision; the normalized accounting number was not the wallet-transfer quantity.
Could the maximum-withdrawable estimate include new borrowing?
The SDK’s maximum-withdrawable estimate could consider spot borrowing. In SDK 0.1.0, setting spot_leverage to false excluded borrowing from the calculation; its documented default was true. An estimate that considered credit was different from an amount available solely from existing collateral.
Were direct collateral withdrawals available from isolated perpetual subaccounts?
The legacy Clearinghouse rejected direct collateral withdrawals from isolated subaccounts. The restriction applied to the sender of that specific call. Ordinary account withdrawals and isolated-position margin handling were distinct operations. Changing the wallet’s connection did not remove the contract-level restriction on the collateral withdrawal method.
Who could submit an Elixir claim for settled withdrawal proceeds?
Anyone could call Elixir’s VertexManager claim function on behalf of a user when claims were unpaused and the pool and beneficiary were valid. The function transferred that user’s recorded proceeds to the user and its reimbursement fee to Elixir. The settled funds still had to be available.
Was the same fast withdrawal payable twice through the regular path?
Marked withdrawal indices prevented duplicate transfers of the same indexed withdrawal by the pool. The fast route marked an accepted index, and the regular route skipped payment for an index already marked. This protection concerned duplicate pool payouts; a marked index alone was not a wallet receipt.