Deri V4 FAQ

Deri Protocol
5 min readDec 7, 2023

Q: Why is there an additional ETH payment in addition to the regular gas fee?

TLDR: The additional part is the pre-paid gas fee for the subsequent step(s). This is because certain operations aren’t completed within the single user-initiated transaction. It’s akin to when you bridge tokens from Ethereum to a Layer 2 (e.g. Linea): you pay the standard gas fee on Ethereum, plus an additional “pre-paid” gas fee, which covers the bridge operation’s cost to complete the subsequent step on Linea for you.

Details:

As an xDapp, Deri V4 splits an operation (e.g., trade, add/remove margin, add/remove liquidity) into several steps executed on different blockchains. For instance, consider an “Add Liquidity” action initiated on Linea (the iChain), which involves three steps:

  1. LP calls requestAddLiquidity on Linea.
  2. Executor calls executeAddLiquidity on Deri Chain.
  3. Executor calls finishAddLiquidity on Linea.

In step 1, the LP pays the regular gas fee for calling requestAddLiquidity and an execution fee (or “pre-paid gas”) for the executor to perform steps 2 and 3.

Execution Fee = dChain Fee + iChain Fee,

where dChain Fee covers step 2, and iChain Fee covers step 3.

Given that step 2 occurs on L3, the dChain Fee is minimal, currently set at 0.00025ETH (higher on Linea due to its higher gas cost), and will be further reduced as we refine our architecture.

The iChain Fee is equivalent to the gas fee for calling finishAddLiquidity and varies based on the specific iChain.

Another instance, consider a “Trade” action initiated on Linea (the iChain), which involves two steps:

  1. Trader calls requestTrade on Linea.
  2. Executor calls executeTrade on Deri Chain.

Q: Does that mean I need to pay three times the regular gas fee?

A: No, you are paying less.

Deri V4 merely breaks down the procedure into three parts executed on different blockchains. This approach causes almost zero additional cost compared to a scenario where the entire procedure is consolidated into one function call and completed in a single transaction on one blockchain. In the one-chain-one-transaction setup, you are still paying gas to finish all the procedures of the three steps, and your cost for step 2 would likely be much higher as it would be processed on iChain.

Therefore, by executing a considerable portion of the process on Deri Chain (an extremely cost-effective L3), the overall gas cost is actually reduced.

Q: I have successfully called the Remove Liquidity function, but when I check the transaction on the explorer website, I don’t see any transfer of funds?

A: The “Remove Liquidity” operation involves three steps:

  1. LP calls requestRemoveLiquidity on Linea.
  2. Executor calls executeRemoveLiquidity on Deri Chain.
  3. Executor calls finishRemoveLiquidity on Linea.

The transaction you see on the explorer website is for step 1, which does nothing but only a request. The actual transfer of funds takes place in Step 3. Usually, on the explorer website you can see each “request remove liquidity” transaction followed by a “finish update liquidity” transaction, which is the follow-up step actually transferring your fund back.

Upon receiving the notification of step 1, the executor usually tries to finish step 2 and 3 as soon as possible. But this is constrained by the blockchain network. And sometimes it does fail, in which case you need to initialize step 1 again, unfortunately.

We dispatched an optimization specifically for Linea at 4:00 PM UTC on December 10th. After this upgrade, most of the pre-paid gas for the failed transactions can be reclaimed by the users. So users would bear little cost for failed transactions. Meanwhile, we are continuously working on reducing the failure rate.

Reclaim Prepaid Gas for Unsuccessful Transactions: https://deri.io/#/deri-tools

Q: I have USDC in my Arbitrum address, but the Pools page shows my wallet balance of USDC is 0. Why?

A: There are two versions of USDC on Arbitrum (and some other blockchains), native USDC and USDC.e. Deri V4 supports the former. So, if you have USDC.e, instead of native USDC, in your wallet, it won’t be recognized by Deri V4 website. You need to Swap USDC.e to native USDC (e.g. on Uniswap) in order to stake into Deri.

Please read this document for more details about native USDC vs USDC.e

Q: Why don’t I see my USDC on Arbitrum on the “Migrate Liquidity” page, and How do I migrate my USDC on Arbitrum from Deri V3 to V4?

A: On Arbitrum, Deri V4 supports native USDC as the base token, while Deri V3 adopts Bridged USDC (USDC.e). If you have staked “USDC” (which is really USDC.e) in Deri V3, you will need to manually convert it to native USDC. Here are the steps you need to follow

  • Withdraw USDC.e from Deri V3 here.
  • Swap USDC.e to USDC on Uniswap.
  • Add USDC to Deri V4 here.

Please read this document for more details about USDC vs USDC.e

Q: How to bridge my DERI tokens from BNB Chain to Arbitrum?

A: Currently There is no direct bridge between BNB Chain and the layer 2s for DERI token. So it takes two steps to move your DERI tokens from BNB Chain to Arbitrum.

  1. Go to the DERI Bridge page, and bridge your DERI tokens from BNB Chain to Ethereum.
  2. Once your DERI tokens are on Ethereum, then click the link to the official bridge of the layer 2s (e.g. Arbitrum) to bridge your DERI token to the layer 2.

Q: How to migrate my liquidity from Deri V3 to Deri V4?

A: The “Pools” page provides a “Start Migrate” button to help you migrate. However, please notice that this button does not work for BNB Chain or for USDC.e on Arbitrum.

Here are the steps you need to follow.

1. Go to the ‘Pools’ page on Deri.io and click ‘Start Migrate’.

2. You’ll land on the “Migrate Liquidity” page showing your Deri V3 liquidity. Choose the token to migrate and follow these steps: Remove → Approve → Add.

3. Click ‘Remove’, then confirm in your wallet to remove your liquidity on Deri V3.

4. Next, click ‘Approve’ and confirm again to approve authority on Deri V4.

5. Finally, click ‘Add’ to add liquidity on Deri V4.

6. Done! Check your liquidity on Deri V4 here.

About Deri Protocol
Deri, your option, your future!

Deri is the DeFi way to trade derivatives: to hedge, to speculate, to arbitrage, all on chain. With Deri Protocol, trades are executed under AMM paradigm and positions are tokenized as NFTs, highly composable with other DeFi projects. Having provided an on-chain mechanism to exchange risk exposures precisely and capital-efficiently, Deri Protocol has minted one of the most important blocks of the DeFi infrastructure.

Website | Twitter | Github | Telegram| Discord| Youtube

--

--

Deri Protocol

Deri Protocol = (Perpetual Futures + Everlasting Options) x Decentralized.