Withdrawal guard
Protects
Depositor funds in case of price/oracle manipulation
Withdrawal guard
The Withdrawal guard is DeltaPrime's security powerhouse. Unique to DeltaPrime, it allows you to withdraw if, and only if, you have all your borrowed assets available in your balance. Next to the liquidation bots, this is DeltaPrime's strongest safety feature. In other liquidity protocols, if you can successfully manipulate the (perceived) price of a token, you can borrow and withdraw the rest of the liquidity on that platform, creating bad debt for the liquidity protocol in the process. A "highly profitable trading strategy".
DeltaPrime's withdrawal guard is an extra line of defense against such an attack. By only allowing withdrawals when the Prime Account owns the nominal number of tokens indebted to the protocol, inflating the "value" of a token becomes futile.
The withdrawal guard is DeltaPrime's no-oracle solution. It guarantees withdrawals only happen in solvent accounts, without any dependency on our oracle.
Example:
Jane has deposited $30 USDC and borrowed 10 AVAX worth $10 each. Every other security measure fails simultaneously, and Jane manages to trick DeltaPrime into believing one AVAX is worth $0. Jane expects she can withdraw all borrowed AVAX (valued $100), as her debt seems to be $0. Theoretically, she could repay her borrowed amount, right?
The withdrawal guard kicks in: Jane tries to withdraw her borrowed AVAX and sees a message popping up: She needs to keep 10 nominal AVAX in her Prime Account in order to withdraw any funds. Jane borrows more, swaps, LPs and farms away, but until she has the nominal amount of tokens equal to the tokens borrowed, there is no way she can withdraw. She can only withdraw when the protocol is sure that she can repay her debt. Not theoretically, the exact funds should be there.
The withdrawal guard is a powerful tool that protects the protocol from bad debt, even in black swan events. For a borrower, this manual disassembling of your carefully created portfolio can feel restrictive, and are actively looking into solutions like a flash-repay function, which would automate this process for you.
How to solve
If you encounter the Withdrawal Guard during a withdrawal attempt and need support in adhering to its rules, there is a tutorial right here: Withdrawing & Withdrawal Guard.
Last updated