DeGate
Product Feature
Search
⌃K
Links

Deposit

Once assets are deposited into a user’s DeGate account, they become available for placing orders and transactions. As illustrated in the figure below, the user initiates a deposit transaction on-chain. After the transaction is included in a block and confirmed after 12 blocks, the DeGate node will credit the deposited amount into the user’s DeGate account balance, so that the user can immediately use these assets. Meanwhile, the Operator will initiate an off-chain transaction to confirm the deposit. The transaction goes through several phases, including block inclusion, block production, proof generation, and updating assets in the Merkle tree, before being rolled up on chain, thereby completing the deposit.
Deposit Process

Advanced and Standard Deposits

Advanced deposit refers to the deposit process achieved by calling the DeGate smart contract method. All assets can be deposited in this way, with no special limit on the deposited amount.
To reduce costs for users, DeGate also offers a standard deposit option where users can directly transfer their assets to the DeGate contract address to complete the deposit. However, the standard deposit method does not guarantee complete trustlessness and users must trust that the DeGate node will accurately credit their assets into their account balance. Therefore, the node operator imposes limits on the amount of funds that can be deposited and supported tokens using the standard deposit method to reduce potential losses suffered by users.
Comparison
Advanced Deposit
Standard Deposit
Gas usage of user initated deposit transaction
1
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
All
Selected assets based on the configuration of node operator.
Trustless
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.
Restrictions
None
There is a deposit amount limit per deposit and there is also a limit on the amount for all pending deposits.
Note
1
: The gas consumption here represents the average value obtained from our testing results. The actual gas consumption for depositing ERC20 tokens is related to the contract implementation method, and could exceed the reference value in the table.
Typically, the DeGate node subsidizes the L1 Gas fees for confirming deposit requests, and users only need to bear the cost of initiating the deposit transaction. However, to prevent exploitation of the mechanism, a cap is placed on the number of free deposits. With each deposit, the number of free deposits will decrease. However, this number will recover linearly over time. The parameters for advanced and standard deposits differ. Once the number of free deposits is exhausted, users must pay to have their deposits credited to their account.
The paid deposit logic for advanced deposit is controlled by the DeGate smart contract. If the number of free deposits has been exhausted when a user calls the contract, they will need to add an extra 0.01 ETH to the transaction (this parameter is set by the node operator). Otherwise the deposit transaction will fail.
The paid deposit logic for standard deposit is controlled by the DeGate node. The difference is that the the DeGate node will only check the number of free deposits when confirming the deposit transaction. If the number of free deposits has been exhausted, users must pay a certain amount of ETH fees (this parameter is set by the node operator) to complete the deposit. Users can locate the deposit record in the "Assets Record” section and click “Paid Deposit" to complete the operation.