Product Feature


After depositing into the DeGate account, assets can be used to place orders for trading. As depicted in the diagram below, the user deposit journey starts when a user performs an on-chain deposit transaction and after 12 block confirmations, the DeGate node will credit the deposited amount as available balance. At this juncture, the user will be able to use the deposited asset. At the same time, the operator will initiate an off-chain confirm deposit transaction, undergo transaction batching, block generation, zero-knowledge proof generation, updating of the asset information on the merkle tree, and the deposit process is completed when the transaction is rolled up to the blockchain.
Deposit Process

Advanced and Standard Deposits

The advanced deposit on the DeGate website refers to the situation when the deposit process is performed by calling the DeGate smart contract function. There are no restrictions for this method of deposit – any asset can be deposited with no maximum cap on the deposit amount.
To help lower the cost of a deposit for users, DeGate has offered the standard deposit function where users can perform a deposit by transferring assets directly to DeGate smart contract address. However, this method will require users to trust that the DeGate node will credit the deposit accordingly, and therefore, this is not a trustless process. Hence, the node operator has set up restrictions on the standard deposit asset amount and supported token scope to minimize potential losses for users.
Advanced Deposit
Standard Deposit
Gas usage of user initated deposit transaction
ETH: ~110141 ERC20: ~132605
ETH: ~21055 ERC20: ~60000
Credit Duration
After the deposit transaction received 12 block confirmations
After the deposit transaction received 12 block confirmations
Applicable Asset
Selected assets based on the configuration of node operator.
DeGate smart contract will verify the deposit address and asset amount. If the deposit is not processed after a period of time, users can call a smart contract function to retrieve their asset
DeGate smart contract can only verify the asset amount and is unable to verify the deposit address. Technically, it is possible for the DeGate node to amend the deposit address. If the deposit is not processed, users cannot retrieve it on their own and they will have to contact the node operator to return the tokens.
There is a deposit amount limit per deposit and there is also a limit on the amount for all pending deposits.
: The gas consumption is the average of test results. The gas consumption for the deposit of ERC20 tokens is related to the contract function and could be larger than the average value in this table.

Processing Fee for Deposit

Most of the time, the node subsidizes the gas fee cost of confirming the deposit transaction onto L1, and therefore, users will only need to bear the gas fee for initiating the deposit transaction. The concept of the number of free subsidies is introduced to prevent the subsidy mechanism from getting exploited. There is a maximum limit set and each time the subsidy is used, it will recover linearly. The parameters of advanced and standard deposits are different. If the subsidy is used up, users need to pay an additional fee before the deposit amount is credited to their account.
For advanced deposits, the logic for the processing fee for deposit is controlled by DeGate smart contract. If the subsidy is fully used when the smart contract is called, the user will need to pay an additional 0.01 ETH (the gas fee for the processing fee for deposit is configured by the node operator), or else the on-chain deposit transaction will fail.
For standard deposits, the logic for the processing fee for deposit is controlled by the node. The assessment of the availability of subsidies conducted after the DeGate node confirms the deposit transaction. Thus, if the subsidy is fully utilized, users will be required to pay an additional ETH (the gas fee for the processing fee for deposit is configured by the node operator) to complete the deposit. This can be done by selecting the Pay button for the deposit transaction under the Asset History page.