eUSD: A synthetic USD Token based on MCDEX ETH-PERP


The MCDEX ETH-PERP is an inverse ETH Perpetual contract. This contract is quoted in USD and collateralized and settled in ETH. Actually, in the Mai protocol v2, there is only a Vanilla Contract. Thus, the ETH-PERP is a USD vanilla contract quoted in ETH collateralized and settled in ETH.

As a result, the vanilla contract’s long position, which is shown as the short position of the inverse ETH-PERP in UI, is the long position of USD. We can tokenize the long USD position by opening a fully collateralized position (with 1x leverage).

We call the tokenized position “eUSD.” eUSD is a standard ERC20 token.

1 eUSD = 1USD 1x short ETH-PERP position


It is straightforward to build the eUSD smart contract on the MCDEX ETH-PERP smart contracts stack. As demonstrated in the following diagram, anyone can call the eUSD smart contract’s interfaces to mint/redeem the synthetic tokens. The eUSD smart contract has its margin account in ETH-PERP smart contract. The balance of eUSD is equal to the share of the ETH-PERP position.

When minting eUSD, the issuer trades against the eUSD smart contract. The issuer longs ETH-PERP while the eUSD smart contract shots. The eUSD smart contract sends the token to the issuer. After minting, the issuer gets the long position in his margin account and a corresponding eUSD token. Because the eUSD token is a short position, the net portfolio position, made up with eUSD and the long position, is zero.


  • Mint()
    • the issuer sends ETH to eUSD smart contract
    • the issuer trade against the eUSD smart contract
      • the issuer longs ETH-PERP
      • the eUSD smart contract shorts
    • the eUSD smart contract sends eUSD tokens to the issuer
  • Redeem()
    • the issuer sends eUSD to the smart contract
    • the issuer trade against the eUSD smart contract
      • the issuer shorts ETH-PERP
      • the eUSD smart contract longs
    • the eUSD smart contract send released ETH in the margin back to the issuer
  • Settle()
    • use for the global settlement only
    • call Perpetual smart contract’s settle interface
    • redeem the token and send release ETH back to the issuer

Compare with Dai

MarkerDao’s Dai is an excellent production. It is interesting to compare Dai and eUSD.


  • the issuer longs ETH
  • collateralized in ETH
  • peg to USD
  • mint without any counterparty


1. No Interest Rate for Issuer

Dai’s issuers pay interest (stable fee) when redeeming Dai. MKR holders determine Dai’s interest rate by voting. In comparison, the eUSD’s interest rate is the funding rate of ETH-PERP, which is calculated in smart contracts and updated every second.

The eUSD issuer does not pay interest, because the issuer holds the equal size long position and short position (eUSD). Thus, the net position size of the issuer’s portfolio is zero. No matter the funding rate of ETH-PERP is positive or negative, the issuer suffers no interest as if he holds the long position opened when minting eUSD.

2. Liquidation Method.

As Dai is some debt, it requires to write off bad debts (called “SIN” in the smart contract) by redeeming the same number of Dai when liquidation. However, Dai has worse liquidity when liquidation. First, when the CDP gets liquidated due to the ETH price dropping, the DAI’s price goes up, making it cost much to buy Dai to redeem. What’s more, Dai is widely locked in the other DeFi smart contracts, which reduce Dai’s liquidity when liquidation.

On the other hand, ETH-PREP is a structure of decoupling in the long/short positions. eUSD is only standards for the short position of ETH-PERP. When the long position of ETH-PERP, which is the counterparty of eUSD holder, gets liquidated, there is no need to redeem the eUSD.

Use Cases

Get Stable Coin by Longing ETH

The ETH holders can mint eUSD and use eUSD as some kind of “stable coin” without selling their ETHs.

The ETH-PERP makes the number of ETH collateralized in the eUSD smart contract dynamic. When the ETH price increases, the ETH-PERP smart contract automatically releases some ETH collateral from the eUSD smart contract’ margin account to the issuer’s margin account, only if the issuer holds the long position. Thus, issuers can still benefit from the rise in ETH prices, even if they use the eUSD in some other places.

Collateral in MCDEX’s contracts

MCDEX is a derivative trading platform. MCDEX could use eUSD as its contracts’ collateral.


  1. The eUSD transfers the risk of ETH-PERP to other products if it is widely used like Dai. To reduce the risk, we maybe need to increase the maintenance margin (e.g., 20%) of ETH-PERP, resulting in lower max leverage of ETH-PERP.

  2. The ETH-PERP’s funding payment will increase/decrease the NAV of the eUSD. When the funding rate is positive, eUSD receives funding from the long side, making the NAV of eUSD increase. When the funding rate is negative, eUSD pay funding to the long side, making the NAV of eUSD decrease. In a nutshell, the funding payment makes the price of eUSD fluctuate. However, as the long side of ETH-PERP has the maintenance margin, the eUSD still can be considered fully collateralized. When the market mechanism is effective, the funding rate will not always be positive or negative. From a long enough perspective, the mathematical expectation of funding should be zero.


Great to here that…


Can you please explain how this works?

As I understand it, having a 1x short position in the perpetual basically means having your money in USD rather than ETH, so I don’t get how you can benefit from ETH price increase… Can you please expand on this dynamic?

The issuer has a portifolio, making up of : 1. eUSD token (the short position of ETH-PERP) 2. long position in margin balance. And the net position size of the portifolio is zero. Thus, the issuer is actually holding the ETH collateral. When the ETH price increase, the long position in their margin account get profits.

It would be very nice to be able to draw eUSD from an AMM position. Being able to draw liquidity from your position is a huge plus when considering where to park capital.

1 Like