What is DFX?
As you read this, the global stablecoin market cap is ~ $150 billion. This accounts for approximately 16% of the total cryptocurrency market cap of ~ $950 billion when writing this article, according to CoinMarketCap.
Interestingly, a majority of these stablecoins are backed by and/or pegged to the USD. So much so, that even USTC is larger by market cap than any foreign stablecoin i.e. non-USD stablecoin. Wild, isn’t it?
According to CoinGecko’s data, USD-denominated stablecoins make up about 98% of all the stablecoin volume.
Therefore, we can conclude two important points here:
- 1.Stablecoins are widely used and serve an important role within the crypto ecosystem.
- 2.USD-pegged stablecoins dominate the market, in terms of market cap and trading volume as well.
Primarily there are 3 kinds of stablecoins:
Fiat-backed stablecoins:These are your centralized 1:1 backed stablecoins, like USDT, USDC and BUSD. For every $1 of stablecoin issued, the issuer has $1 of fiat in the bank account (or so they say). The issue with these is that they are centrally controlled and managed.
Over collateralized stablecoins:These are decentralized stablecoins, that are issued via collateralized debt positions. Users need to deposit > $1 worth of collateral to mint these. DAI and MIM are two popular CDP-based, over-collateralized stablecoins. If the value of a user’s collateral falls below a certain threshold, they will be liquidated to account for their bad debt. The issue with these is that they are capital inefficient, as you need > $1 of collateral locked to mint $1 worth of stablecoin.
Algorithmic stablecoins:These are stablecoins that are not backed or partially backed by hard assets or collateral. UST was the main algorithmic stablecoin when it was alive that is. These maintain their peg via an algorithm, which is meant to reward arbitragers to act in their best interest and restore the peg whenever there is a de-pegging event. However, the major issue with these has been the lack of trust. People know there isn’t any underlying collateral that is supporting the peg, and so these are worth $1 just as long as people are willing to believe that is the case, and as long as the algorithm is functional. If shrewd market participants with their massive capital can burden the algorithm, it is most likely game over. This is also what happened with UST.
One may wonder, why are stablecoins like USDT, USDC, and BUSD dominant in the crypto landscape, when we’re literally fighting fiat currencies in a way, yet over 15% of the overall crypto market accounts for stablecoins, which are simply fiat currency clones on the blockchain. These stablecoins are subject to all issues that we see with fiat, such as fiat debasement, for instance.
However, in my opinion, there are 3 key reasons why stablecoins are widely used, and they are:
Traders trade against USD:For the most part, all the traders/investors use USD as a unit of account to flex their gains or mourn their losses. Consequently, a lot of people are looking to stack more USD stablecoins for the most part. This behavior ensures that stablecoins will likely always command a significant share of the total crypto market cap. Whether it is a trader booking profit into USDT, or an investor waiting on the sidelines with his USDC to deploy at an optimal time, these actions contribute positively to the market cap and volume traded of these stablecoins.
Stablecoin farming:The idea of earning a yield on stablecoins is lucrative. It is probably the least risky entry to the vast and unpredictable world of crypto. People rely on stablecoin farming strategies to continue stacking more USD as they sit on the sidelines, waiting for a perfect opportunity to enter the market.
Hedge against weaker currencies:The DXY index has been soaring for some time now. People living outside the US want exposure to the USD to safeguard their portfolio in these testing times. The crypto and blockchain space allows permissionless procurement of USD-backed stablecoins. Almost every fiat currency is losing value against the USD, and people want exposure to arguably the strongest fiat currency. As much as Bitcoin maxis would want BTC to be that safe haven currency, at the moment USD commands more trust from a section of the general public. I mean take my example, I hold a decent % of my portfolio in USDC and BUSD, and I am not a US national. It is almost impossible for me to procure and store my wealth in USD, let alone think about earning some sort of a yield on that capital, however, stablecoins and blockchain technology have made it possible. So much so that the central bank of my country (India), the RBI, sees this as a threat to our local economy and warns about the risk of dollarization of the economy. I can’t say I disagree, but after all, the strongest currency is the one which is globally trusted by billions, and that happens to be USD at this point. Interestingly, as per CoinMarketCap when vetting fiat currencies against each other and denoting them in BTC terms, the Chinese Yuan is larger than the USD in terms of market cap, but that may have to do with the large Chinese population. In a way, the emergence of crypto, blockchain, and especially stablecoins has inevitably prolonged USD’s world dominance and has helped it continue to cement itself as the world’s reserve currency for the foreseeable future in my opinion. Now people all across the world can get exposure to USD – arguably the world’s strongest fiat currency in a decentralized, permissionless, censorship-resistant, and transparent manner.
I digress, I’m sure there are other reasons why people use stablecoins, but these are the major ones that popped into my head.
Therefore, this gives us clear reasons for the dominance of stablecoins in the crypto industry, and then also the supremacy of USD-pegged stablecoins within the stablecoins market.
However, one may argue that USD-backed stablecoins accounting for about 98% of the stablecoin volume is a little problematic. Sure, the US is a strong economy, and its fiat currency the USD is also desirable and strong – relative to other currencies. But as the global adoption of crypto continues to grow, and more participants join in from outside the US – which is inevitable, demand and requirement for foreign stablecoins will rise with it. Sure, I can safeguard my purchasing power by hoarding USD, however, I will still need to convert it in my local fiat currency to use in India. So, after all, even holding any USD-backed stablecoin, as an Indian citizen is an investment for me, that I may not want to consider. I may just want to hold some sort of an INR (the fiat currency of India) backed stablecoin. Overall, I feel there’s a massive opportunity for foreign stablecoins to be adopted more broadly. The next generation of global finance cannot rely solely on USD-backed stablecoins.
With that in mind, let us learn about the leading crypto foreign exchange trading protocol, DFX Finance. It is the only optimized decentralized protocol for exchanging foreign and USD-backed stablecoins on Ethereum and Polygon.
Simply put, the guys over at DFX Finance understood the importance of stablecoins, and more importantly, they understood the importance of foreign stablecoins i.e. non-USD-backed stablecoins. So, they’ve created a compliant stablecoin ecosystem for everyone to use.
One could think of DFX Finance as a stable swap AMM DEX protocol on Ethereum and Polygon. The architecture used is a tweaked version of the Shell protocol.
However, a key differentiator for DFX Finance is that it only supports one USD-backed stablecoin, and that is USDC. The rest of the stablecoins that are supported are foreign stablecoins. The supported assets are:
In many ways, DFX Finance is simply a DEX that supports swapping between various fiat-backed stablecoins.
Apart from swapping fiat-backed stablecoins, as DFX Finance is a decentralized protocol, and we’ve seen with DeFi protocols that liquidity pools operate better than order books for the most part, therefore, DFX Finance allows DeFi users to provide liquidity to the protocol which consequently allows the users to initiate the swaps.
At the time of writing, the protocol has garnered over $16 million in TVL, this does not account for external pools
Liquidity providers can provide their tokens in a liquidity pool, and earn their share of inflationary DFX rewards and swap fees.
Under the Pools section, you’ll see a variety of liquidity pools. Some of them are external pools on Balancer, Curve Finance and Sushi Swap. These external pools do not award inflationary DFX rewards to liquidity providers. The native pools on DFX Finance, however, do award inflationary DFX rewards to liquidity providers as previously mentioned.
Finally, the DFX token, apart from functioning as a reward token for liquidity providers, also functions as a governance token. According to the docs, “Anyone can take part in the DFX governing process, and anyone that holds the DFX Token can vote on proposals. Governance is what makes decisions about new features and the directions the DFX Protocol should/could go. Governance is what ultimately powers the DFX Protocol.” More importantly, the team have incorporated the vote-escrowed tokenomics model, which I will discuss later.
Overall, the protocol consists of 3 major segments:
- DFX AMM: Swap multiple fiat-back stablecoins on Ethereum and Polygon
- Liquidity Mining: Yield farming opportunities for liquidity providers
- Governance: DFX holders participate in governing the protocol
Continue reading as I break down the DEX, the liquidity pools, and the governance process in-depth and in easy-to-understand language.
The team at DFX Finance have built a purpose-driven AMM, that is optimized for swapping stablecoins, and is not used a generalized AMM design.
- The protocol leverages a data oracle provided by ChainLink to provide external foreign exchange price feeds into the pricing engine. This helps with price accuracy.
- The team back tested the currency pairs to use historical foreign exchange data to set and optimize the price range for the bonding curve to maximize capital efficiency and lower slippage. Ensuring low slippage and minimal price impact, no matter the size of the trade is the ultimate goal of any AMM DEX.
- Each currency is paired with USDC. USDC is treated as a bridge currency in the DFX AMM between all the other stablecoins. This allows it to maintain the most liquid pools to facilitate swaps without fragmenting liquidity.
In essence, the AMM is a set of smart contracts that leverages a data oracle powered by ChainLink, making DFX an efficient protocol for optimizing exchange prices on-chain. It is important to note that the ChainLink data oracle does not dictate the price of the various stablecoins, but instead, it serves as a reference point for the bonding curve. In a traditional DEX like Uniswap, the price only changes when there’s a swap. However, with DFX, the price changes based on the oracle price, and also when someone swaps.
The price only changes due to swaps if the ratio of assets in the pool becomes imbalanced. A large portion of the liquidity is allocated to be priced based on the oracle price. However, if the pool becomes imbalanced, slippage and price impact will be higher, to prevent the pool from running out of liquidity. The flat region on the bonding curve is where the price remains influenced by the oracle price. At launch, this lies between 25 & 75% of the liquidity that the pool holds. If the ratio is outside this range, the pool becomes imbalanced, and the fee component of the bonding curve increases to incentivize arbitrage, and consequently rebalance the pool again.
This model enables DFX to provide efficient prices, even with smaller liquidity pools.
The team at DFX have devised a mechanism that will incentivize arbitragers to come in if a pool becomes unbalanced. That is also why the price of the stablecoin only changes via swaps when the pool is imbalanced. If it is between the 25 & 75% range, the ChainLink oracle will be used as a reference point for the price. Moreover, the bonding curve ranges of 25 to 75% are set at the launch and can be changed by the community via governance.
Finally, it is worth mentioning that the AMM smart contracts have been audited by Trail of Bits. You can read the detailed report here. The critical issues mentioned in the report have since been rectified.
Under the Pools tab, you can view the various liquidity pools, the rewards APR, and the pool TVL, and decide to add liquidity to the said pool
Apart from swapping various fiat-backed stablecoins, users on DFX Finance can also decide to become market makers and provide liquidity to the protocol. The liquidity added in various liquidity pools enables users on the platform to swap the stablecoins. In return for their liquidity, the liquidity providers are incentivized in two ways:
- 1.Earn a share of inflationary DFX token rewards
- 2.Earn a share of the swapping fees paid by the users who swap on the exchange
Upon providing liquidity, the user can decide to stake their LP tokens to earn their share of DFX token rewards. Regardless, as soon as liquidity is provided, the liquidity provider will earn .05% of every transaction based on their percentage in the liquidity pool.
Every stablecoin is paired with USDC to form a liquidity pool. Therefore, in essence, USDC acts as the central stablecoin. This is done, as previously mentioned, to ensure liquidity isn’t fragmented.
Next, it is important to understand the concept of and the difference between balanced and unbalanced pools. A liquidity pool remains balanced if the ratio of the value of the two assets is within the defined limit. For example, for the CADC/USDC pool, this limit is between 29-71%. Currently, at the time of writing, the pool comprises 50.89% CADC and 49.11% of USDC, so is well within the range. Again, when the pool is balanced, the ChainLink oracle influences the price of the swap. However, a pool is considered unbalanced, if the ratio of the value of one of the assets to the other exceeds the defined limit. For example, for the GYEN/USDC pool, this limit is between 30-70%. However, at the moment, the comprises 28.99% GYEN and 71.01% USDC. Therefore, it is slightly unbalanced. For unbalanced pools, the swaps dictate and affect the prices. The pool will remain unbalanced until someone swaps for the side that give positive slippage. Also, if the pool is unbalanced, there is more price impact when a swap is initiated. In our example, swapping GYEN in for USDC will result in positive slippage, and rebalance the pool again.
In summary, when the ratio of the value between the two assets in a liquidity pool is within the defined limit, the ChainLink oracle helps establish the price, therefore, the normal AMM mechanics of price discovery for the pool don’t completely function. This enables accurately priced swaps, even with limited liquidity in the pools. However, when the ratio is unbalanced, then the slippage rises, the swaps start dictating the price, and arbitrageurs can come in, and swap wherever there’s positive slippage to rebalance the pool.
Here’s a screenshot of the slightly unbalanced GYEN/USDC pool 👆
If you are interested in becoming a liquidity provider, you can read DFX Finance’s detailed guide here. Just keep the concept of impermanent loss (IL) in your mind when deciding to supply liquidity.
DFX Finance is permissionlessly governed by DFX holders. Anyone can decide to buy DFX and participate in the governance of the protocol.
The DFX governance process starts from a simple discussion to a proposal, to a vote and finally, to full-on implementation. This process is meant to be easy, safe, transparent, and a way to continue progressing the future of the DFX Protocol.
Voting power for the governance proposals is directly dictated by a user’s holding of the veDFX token. The more tokens you hold, the more you can influence the vote.
The governance process takes place on Snapshot, here. Snapshot is an off-chain gasless multi-governance client with easy-to verify and hard-to-contest results.
You can view the entire governance process, here. In brief, it allows anyone to submit a forum proposal, here. Once a user has submitted the proposal on the forum, it will be active for 7 days, so that the DFX community can comment, offer suggestions, and cast a pre-vote. After the forum proposal takes place, it will go through a final vetting process by the DFX team to make sure everything is ok. This process usually takes less than a week and then it will be posted for an actual vote on Snapshot. Once the governance proposal is posted on Snapshot, the platform will take a snapshot, and all the token holders on Ethereum and Polygon can participate. The proposal will be open for voting for 3 days. To reach quorum at least 15% of the DFX circulating supply must vote, and 66% of the vote must be “yes”.
For now, DFX holders participate in the governance proposals on Snapshot. However, in due time, only veDFX holders will be able to participate in it. I will explain what veDFX is later on in the article.
As previously established, DFX is the protocol’s governance token, but also acts as a reward token to incentivize liquidity providers. This is the breakdown of the tokenomics.
Total supply: 100,000,000
Every stakeholder, including founders and investors, will be distributed tokens continually, with the bulk of the tokens distributed to the community as follows. By month 96, all 100 million tokens will have been distributed.
This is the vesting schedule for the DFX token
Each allocation is vested linearly within its own period.
The goal is to have varied stakeholders and participants owning the token
A high % of the token allocation towards the community will flow to the liquidity providers. This will be done in 3 intervals of 32 months each. The amount distributed per interval will decline as time goes on, starting with 65% being distributed in the first interval.
During each interval, the allocated tokens are vested linearly across the 32 months and split across different pools, to be decided via gauges.
DFX Finance uses the vote escrowed model, to incentivize long-term holders and users who believe in the project. The idea is to increase the utility of the token, and at the same time reward long-term believers of the project. It is also the governance token of the protocol.
veDFX can be obtained by locking up DFX from anywhere from 1 week to all the way up to 4 years. A smaller balance of veDFX is obtained when locking in for a shorter time. veDFX balances decrease linearly with time to reflect the reduction in lock-time, approaching 0 veDFX when lock time is about to expire and locked DFX is to be released.
1 DFX locked for 1 year → 0.25 veDFX
1 DFX locked for 2 years → 0.5 veDFX
1 DFX locked for 3 years → 0.75 veDFX
1 DFX locked for 4 years → 1 veDFX
veDFX is the token used for routing DFX emissions through gauge weights in the protocol. Moreover, veDFX holders earn a boost on their LP positions. I will discuss more on this later.
This mechanic helps the protocol in 3 ways:
- 1.Allocating voting power for gauges to long-term holders of DFX through veDFX – ensuring aligned incentives
- 2.Incentivizes and encourages users to participate in the DAO
- 3.Creating a bond-like utility for DFX and creating a benchmark APR rate for staked DFX
In terms of locking your DFX to obtain veDFX, it is important to note the following:
- The token veDFX is non-transferable
- Single lock duration per address
- The amount of veDFX balance will decrease linearly over time, and after the entire lock duration, the locked DFX can be claimed
- Users can decide to lock more DFX to obtain more veDFX
- Users can also decide to extend their current lock duration to obtain the lost veDFX
It is important to note that at this time, veDFX holders do not get a share of the protocol revenue. The entire protocol revenue is earned by the liquidity providers. So unlike veCRV for instance, you cannot stake your veDFX yet. However, the team may implement such a feature soon.
Now, let’s talk about the gauges. Gauges simply allow veDFX holders to route DFX emissions to the pools of their choice. The gauge system implemented by DFX is similar to that of the Curve protocol. veDFX holders are able to distribute their voting power across single or multiple gauges on-chain. A gauge is nothing, but a staking contract and every liquidity pool has one. By voting for a gauge, veDFX holders can increase the amount of DFX tokens sent to the related pool contract as compared to other liquidity pools. veDFX holders, therefore, vote for the gauges they think should receive more DFX rewards. This allows veDFX holders, who are the most long-term users of the protocol, to have control over future DFX emissions. So, this would mean, no more fixed DFX emission rates to liquidity pools. If liquidity providers in certain liquidity pools want to keep getting high emissions aka DFX rewards, they will have to lock their DFX for veDFX and vote. This system inherently incentivizes liquidity providers to lock their earned DFX rewards for veDFX, and then vote to direct DFX emissions to their gauges, if they want to continue earning the token rewards. It is important to note that this system does not impact the DFX issuance rate. In practice, veDFX can allocate its voting power to the available gauges to influence the reward distribution. Then, the sum of all the veDFX assigned to each gauge by all holders determines the quantity of rewards to be distributed.
Finally, veDFX holders also receive a yield boost for holding the token. Holding veDFX gives users more weight when collecting certain yield rewards. A big majority of the rewards that are distributed directly through the protocol are eligible for veDFX boosts. Importantly, the veDFX boost does not increase the overall token emissions. The boost is an additive boost that is added to each user’s yield proportional to their veDFX balance. To compute the boost, the contract considers that an address holding veDFX is providing more liquidity than it really is. In a given gauge, owning veDFX increases a liquidity provider’s share of the pool thus increasing the rewards received. As usual, liquidity providers holding no veDFX are considered as providing 100% of their liquidity. If an address owns enough veDFX, the contract can consider that it brings up to 250% of its original liquidity, or an x2.5 boost compared to the original 100%. It is important to note that as the quantity of veDFX owned by liquidity providers increases, the number of rewards received by non-veDFX holders decreases, as they represent a smaller share of the liquidity. This is another benefit of locking your DFX rewards as a liquidity provider rather than selling them.
I feel DFX Finance is an interesting DeFi protocol. We definitely need a wide variety of fiat-backed stablecoins flowing in the ecosystem and not just USD-backed ones. As stated earlier, as the adoption of crypto grows, so will the demand for these foreign stablecoins.
Secondly, I like the bonding curve implementation when it comes to how the AMM functions. Having the ChainLink oracle pricing the stablecoins, when they are balanced allows for accurate pricing, without needing tons of liquidity.
The tokenomics and rewards incentive for liquidity providers is sound in my opinion. It allows for aligned long-term incentives for all major stakeholders.
The implementation of the vote escrowed model is always welcome. It allows to increase in the value proposition of the token and furthers the role of aligned incentives. I just hope the team implements veDFX staking soon too, and a portion of the protocol revenue goes to the veDFX holders.
Finally, dfxStables is an interesting initiative by the team. As I said, the mystery of a decentralized non-fiat-backed and capital-efficient stablecoin continues. We thought UST had solved the problem until it didn’t. There are other hybrid stablecoins as well, the most popular at this point is FRAX by far, but there is definitely room here for more experimentation and innovation.