Product Feature


At any point in time, a user can perform an off-chain withdrawal request to retrieve their asset from DeGate smart contract. As depicted in the diagram below, the user withdrawal journey starts when a user initiates and signs a withdrawal request. After the node has verified the signature, the withdrawal amount will be locked from the available balance and the operator will process the transaction roll-up operation. Users will receive their withdrawal assets once the roll-up transaction is confirmed on the blockchain. For any reason, if the node refuses to process the withdrawal request, the user can retrieve the asset through the force withdrawal function and the exodus mode.
Withdrawal Process

Withdrawal Fees

Users are required to pay gas fees when performing a withdrawal. Currently, DeGate supports gas fee payments in ETH, USDC, and USDT. For the withdrawal of assets other than ETH, USDC, and USDT, payment in the withdrawal asset is not supported for the gas fee payment.

Withdrawal Failure

When a roll-up transaction with zero-knowledge proof is included in a zkBlock, the DeGate contract will verify the validity of the data. The rollup will be completed if the verification is successful. If the rollup transaction includes a withdrawal transaction, an inline transaction to process the withdrawal will be initiated. For the withdrawal of ERC20 tokens, the transfer method of the token contract address will be called. In some special circumstances, if the token contract has restrictions on the transfer function, this withdrawal will fail. When this occurs, the user's assets are not lost and will remain in DeGate's smart contract. The user can simply retry the withdrawal by calling DeGate smart contract method. Note that the withdrawal to address and withdrawal amount cannot be modified.