29 Jun 2022
Overview
Chainflip’s AMM design differs substantially from industry standards due to limitations introduced by the nature of cross-chain transfers. The Chainflip AMM protocol has several distinguishing features which radically alter the optimal liquidity provider strategy and offer significant capital efficiency and pricing accuracy advantages for users. We call this style of AMM a “JIT (Just In Time Liquidity) AMM.” There are very few examples of similar trading products in use today.
Background
Uniswap v3 introduced the concept of range orders into the AMM world, which brought about a number of improvements to the capital efficiency and user experience of many of Uniswap’s most popular pools. Chainflip, as a cross-chain product, does not share the same execution environment assumptions as typical AMMs, and therefore additional features are required to prevent front-running which negatively impacts users. Unlike in a single chain environment, Chainflip must address the following issues:
- The protocol must wait several blocks to confirm external chain deposits, due to the risk of chain reorganisations external to Chainflip. As a decentralised and programmatic system, there is no way to manually reorder transactions if this occurs, and so several block confirmations are needed to operate safely. Given that there is a non-trivial delay to confirm incoming swap deposits, and they are on public chains, all market participants will know the swaps that will be executed before they occur. This leaves the protocol vulnerable to various forms of front-running.
- Furthermore, the confirmation times also cause pricing and arbitrage to be significantly delayed, resulting in prolonged price differences compared to market index prices. This can be observed on other AMM-based cross chain DEXes that have not mitigated this problem, where prices consistently deviate from the market rate by as much as 10%.
- Finally, new proposed features of the AMM would be largely untested in the wild, as existing AMM designs have not been built with custom execution environments in mind and as such there are few examples of protocols with similar properties to derive learnings from.
There is also a unique opportunity to explore the possibilities of AMMs running on a custom execution environment. As Chainflip runs in its own independent execution environment, much of the swap execution can be automated and executed by the validator network without complex user interactions. This should be leveraged to the maximum extent, and new features should be designed to capitalise on this for the benefit of users.
Just In Time AMM Core Features
Chainflip offers several new features on top of the existing Uniswap v3 AMM design, which set out to mitigate the aforementioned problems, and leverage the unique advantages afforded by a custom execution environment. The two core features that drive the JIT AMM are:
- Faster-than-swap Range Order Updates - Range Orders can be updated before known swaps are executed, meaning market makers can actively respond to incoming trade flow.
- Swap Batching - Swaps are grouped together and executed periodically, cancelling out a lot of slippage, and rendering trade frontrunning unprofitable.
These features are implemented directly in the Chainflip State Chain and accompanying software that Chainflip Validators run.
How JIT works
The core concept that drives the JIT AMM design is to flip frontrunning on it’s head. Instead of users being frontrun by MEV seeking bots, the protocol naturally incentivises liquidity providers to frontrun each other to the benefit of the user. Several months after first publishing our protocol design of a JIT AMM, MEV seekers spotted examples of this in action on Uniswap v3. For trades of a large enough size, there are opportunities to front-run other LPs even on the expensive and generalised Ethereum blockchain, proving the viability of this strategy in the wild.
The fixed liquidity fee in each pool (between 5 and 30 bps in most pools) acts as a built-in delta for market makers to attempt to capture. The way market makers capture that delta is to move their liquidity position right up to the market price. The market price is dictated by the availability of instantaneous liquidity on separate primary and secondary markets (including centralised exchanges, derivatives markets, and any other liquidity sources, such as OTC desks) just before a swap is executed. By opening hedging positions or taking existing liquidity on other markets, market makers can capture the liquidity fee entirely if they take on more price risk than all other liquidity providers. Once the swap is executed, the market makers can update their range order again to rebalance their position ready for the next swap batch.
As long as a few market makers compete with each other for the delta, this protocol design should ensure that users performing swaps are always getting market pricing or better than market pricing at the time of swap execution, with reliable fees and minimal slippage, and that capital efficiency in this protocol should exceed all other existing AMM designs depending on the level of competition between market makers.
An Example Of JIT Swaps
Let’s trace the path of a typical swap to examine how this works in practice. For this example, our hypothetical user will swap USDC (ERC20) for DOT (Native), and market makers A, B, and C will compete to win the liquidity fee from the trade. There is a 25bps liquidity fee on this pool.
-
The user (A DOT buyer) generates a quote which creates a unique deposit address associated with their destination address and swap intentions for DOT. The user initiates the swap by depositing 10,000 USDC to their quote address.
-
The Ethereum blockchain includes the USDC deposit in the next block. The market makers spot that the deposit has occurred and track other upcoming USDC deposits. There are also DOT sellers making deposits on the Polkadot chain. Although it will take several Ethereum and Polkadot blocks for the transactions to be recognized on the Chainflip State Chain, the market makers can watch both the Polkadot and Ethereum chains to calculate the overall direction of the trades in the next Chainflip batch ahead of execution.
-
Chainflip requires 6 Ethereum blocks to consider a deposit transaction ‘final.’ It also processes swaps in 6 Ethereum block batches (or about 18 Polkadot blocks), so there is a minimum of a 6 block delay between swap deposits being made on the Ethereum blockchain and the swap being executed on Chainflip. This means market makers have about 90 seconds where they know exactly what the swaps will be, can source liquidity or calculate risk on other markets, and can adjust their range orders via a state chain transaction.
-
While this is happening, the user is waiting between 6 and 12 Ethereum blocks for the batch to be executed. In this case, there are 10 trades totalling $280,000 worth of volume in the batch, however only $90,000 worth of that volume is buying DOT. Therefore, for everyone’s trades in the batch to go through, overall the batch needs to sell about $170,000 worth of DOT. To capture up to 25bps of fees on the total volume of $280,000 (about $700), the market makers must now offer the best possible price on $170,000 worth of DOT within the 6 block delay window. This is where the name “Just In Time” comes into the picture, as they need to get liquidity sources and push forward some buy liquidity ‘Just In Time’ to win.
-
By having additional capital float on other exchanges like FTX, Binance, and so on, market makers can use risk model calculations to determine their best possible price for the trade. Using this calculation, they update their range orders and move their USDC in the USDC-DOT pool right up to that price. In this case, Market Maker A moves their USDC range order to have $170,000 of USDC liquidity concentrated at $23.45 per DOT, whereas Market Maker B moves their $170,000 of USDC with a concentration at $23.47 per DOT.
-
The Chainflip network executes the batch. Even though the overall direction is selling, even those users who are buying do not suffer unnecessary slippage as the market makers have sourced liquidity externally in order for the pool price to naturally gravitate close to the market index price. Market Maker B captures 100% of the liquidity fee, assuming they concentrated ahead of all other market makers. The Market makers that didn’t take the trade make no fees, but also experience 0 impermanent loss (as their balances remain unchanged).
-
Market Maker B, knowing that they have won the fee and how much DOT they just bought, goes ahead and sells $170,000 of DOT at $23.47 or higher on other markets. If managed correctly, the market maker just pulled in $700 or more of profit on one batch, and did so by taking on a mere 6 seconds of price risk. These opportunities occur every time a batch is executed, which occur as often as every couple of minutes for each pool.
-
The Chainflip Validator network now sends the funds to the users, who receive funds based on a swap price that closely tracks the global market price. Our DOT buyer receives their funds directly to their native DOT wallet.
-
Market Maker B might now make some withdrawals or deposits to their LP position to rebalance their portfolio to prepare to capture future batch opportunities, while Market Makers A and C are ready to take opportunities in batches in the immediate future. The next one is just 6 Ethereum blocks away.
This swap flow relies on market makers executing behaviour which is nearly identical to that of typical software driven OTC desks, but in an open and competitive environment. This strategy can easily be integrated into typical market making strategies as a method of generating trade flow without needing to build or expand a customer base.
Some Caveats to the Example
In reality, it would likely be rare that a single liquidity provider takes 100% of the liquidity fee, but rather one or two market makers taking the large majority of a given trade with inconsequential amounts filled by an assortment of other liquidity providers just due to the nature of AMM curves. In any case, the market makers will always know what trades they just did and will follow the same steps and principles.
Furthermore, in the wider Chainflip protocol design, it is intended to have dozens of these pools operating simultaneously, all moving at slightly different speeds on the basis of the block and confirmation times of each chain. A BTC to ETH swap for example would not be facilitated in a single swap. Instead, a user’s funds would automatically be routed through two pools, BTC-USDC and then USDC-ETH, which would involve two swap batches that both follow the same rules as described above.
Due to this arrangement, market makers must not only track future deposits into the pool in question, but also the expected path of deposits into other pools that will ultimately be routed into the pool in question in order to accurately predict batches. Routing everything through USDC does mean that users will be exposed to USDC for a short window of time while they wait for their swaps to be routed, which may not be desirable in some circumstances, but is assessed to be a worthwhile tradeoff in order to minimise liquidity fragmentation, which would arguably be worse for users under normal market conditions. If particular routes within the protocol become popular enough, direct asset-to-asset pools (such as ETH-BTC) can be added through protocol upgrades to allow users to avoid this price exposure.
Lastly, with all market making strategies, there are degrees of complexity. Advanced risk and prediction modelling would certainly give competing market makers an edge over one another. At a basic level, a JIT bot could be written that would simply wait until the future batch is completely known, make an instantaneous assessment of liquidity on other order books, update the range order price, and then wait for the batch to confirm before market buying or selling on other order books. This way, the bot would never make trades on other books unless it knew for a fact that it had taken some flow on the JIT AMM, and wouldn’t rely on any advanced modelling to function at its core. It would however be quite easy to outcompete this simple JIT bot with a more holistic market making strategy. It can therefore be expected that as the volume increases, natural competitive dynamics will force the performance of market makers to constantly improve, leading to even better pricing for users.
Other Tradeoffs of the JIT AMM
Using this swap flow has some other non-trivial benefits for users. Firstly, by grouping trades into blocks or even batches of blocks, frontrunning traders becomes nonsensical, as all traders in the batch get the same price. Furthermore, for a good majority of trades in normal market conditions, this liquidity strategy should totally neutralise effective slippage for the bulk of users.
There are however some tradeoffs which we must accept to achieve this. Namely, this protocol can not give users certainty about the ultimate outcome of their swap ahead of time. Until all trades are in, the final state of the batch can not be guaranteed, and even then until the range order updates are in, a final slippage/pricing calculation can not be made. This is exacerbated in multi-swap trade routes.
However, with the development of risk models and prediction models displayed on trade estimation tools on user front ends, it will be relatively straightforward to inform the users about the likely outcome of their trades given the intended size, current market state, and historical data.
On top of this, if a pool ever becomes very imbalanced because of large trades in one direction in a short window of time, users who are relying on the JIT model for accurate pricing might end up suffering. This is because all of the market makers would have been cleaned out on one side, and passive liquidity is not generally expected to be prevalent on JIT AMMs to mitigate this problem. Market makers also have to wait longer to rebalance a portfolio than normal AMMs, as there is an additional lag to confirm deposits and process withdrawals than other on-chain AMMs. That being said, rebalancing wouldn’t take any longer than on a typical centralised exchange. This could be mitigated again by displaying a warning to users when generating quotes if the front-end detects a current imbalance or significant deviation in the relevant pools from index prices.
The Extremes of Capital Efficiency
The TVL of the pools in a JIT AMM can not be compared to a typical liquidity pool, as the TVL of a pool actually represents as much as half of the maximum practical trade size - a kind of capital efficiency that pushes at the extremes of what is possible. If all LPs are executing an active strategy, a pool with popular assets that has a TVL of $10m could in theory tolerate a trade batch of up to around $3.5m to $4m in one direction with sub 2% price impact in most cases (depending on the trade pair and global liquidity state across all markets). This kind of capital efficiency can not be replicated effectively on single-chain AMMs. This price impact estimation is based on observing typical instantaneous liquidity on major pairs using tools such as cryptosor.info, but further reductions in price impact are possible.
However, it is not possible to have greater than 100% capital efficiency. Large deposits that exceed or heavily exhaust the available liquidity in the pool change the underlying game theory, and incentivise the market makers to collude rather than compete. If Market Makers know that they can’t fill the order, and also know that the other Market Makers can’t fill the order, Market makers stand to gain much more if they all shift their range orders away from the market price to effectively buy the incoming deposit at a fraction of the global market price.
This isn’t too different to what happens when liquidity pools on other AMMs accept huge deposits with non linear slippage, where exceeding the effective liquidity of the pool progressively degrades the effective price. However, because the market makers on the JIT AMM have time to respond to incoming deposits, there is greater room for exploitation. It only makes sense for the market makers to play this new game if liquidity on one side will definitely be exhausted in a given trade, but the consequences for the trader in this case are worse than if they had used a typical AMM.
For those large trade batches with significant direction changes, there is also a form of arbitrage that could mitigate the likelihood of pool exhaustion occurring. If a large deposit is detected, arbitrageurs could make counter deposits within the same block to be exposed to the price impact expected from the overall batch. This would effectively allow the arbitrageur to buy cheap or sell at a higher than index price, but the opportunities would only exist when large imbalanced batches are expected. Arbitrageurs following this strategy would help to reduce the impact of large trades on other traders in the batch, further improve capital efficiency, and would mean that the market makers would be able to handle even larger flows without exhausting liquidity.
Another potential feature that would help avoid exhausting liquidity pools and incentivising predatory market maker behaviour is to break up extremely large deposits automatically. By splitting large deposits into several of the upcoming batches, arbitrageurs and market makers would have more time to handle the trade. This is similar to how most OTC desks handle large orders on the backend in any case. The depositor should theoretically get similar prices as if they had used an OTC desk if this deposit splitting feature is implemented effectively. At this stage, we don’t plan to implement this feature early on, but if proven to be important in the wild, a protocol upgrade can occur.
Summary
The Chainflip AMM protocol is an implementation of a potentially new class of AMM called a “Just In Time AMM” (JIT AMM), which is a decentralised method of getting users close to market prices at all times in spite of the unique challenges faced by a multichain AMM like Chainflip. It is also a way to give free trade flow to market makers who can integrate the AMM into their existing flow sources. Significant work must be conducted in order to implement this design, and it is expected that both the protocol engineers and market makers will also have to iterate through many cycles of development in order to optimise and capitalise on the protocol effectively.
29 Jun 2022
Ah, dear reader. Whether you meant to or not, you have stumbled upon the first part of a series on Cryptoeconomics, mostly related to Chainflip, but be warned: this will get deep. Simon H, [10. If you haven’t got the time to chew through some in-depth analysis, steer clear of this series and perhaps check out the info on Chainflip’s economic parameters in the FAQ.
Every part in this series will be paired with its own topic in the brand new Chainflip Governance Forum. If after reading this you have comments, questions, or things to add, head on over and join the discussion.
To avoid writing a 20 page long article (trust me nobody wants that), I’ve had to break down the discussion of Chainflip’s cryptoeconomics into multiple, limited pieces. I’ll try to avoid jumping between topics, but given the tightly coupled nature of the Chainflip project as a whole, we may have to brush over certain related topics and get back to them in another part. LET’S DO IT.
Part 1: Uncapped Supply
Part 2: Validator Auction Theory
Part 3: Swapping Logic
Part 4: Liquidity Incentive Structure
Part 5: Economic Security
P1: FLIP’s Token Model & Supply: To Cap or Not to Cap?
To get stuck into the series, I’ll start with a topic that requires less background knowledge about Chainflip’s inner workings. Everyone’s gotta warm up, right?
An aspect of the token design of Chainflip that investors have asked about more than I’d expect is regarding the so-called ‘infinite’ supply of the $FLIP token. In other words, there is no hard limit to the number of tokens that could be minted in the future.
What caught me off guard about this topic is that this is still perceived to be a strange move — to me personally it seems reasonable that any incentive driven protocol should have a means of sustainably expanding its supply in order to be a viable product — but this is actually not the case in the vast majority of projects on the market.
In a world where big daddy Bitcoin famously has a maximum supply of 21m and the bulk of major token projects of the last couple of years have been fixed supply Ethereum tokens with no network of their own, it’s easy to understand why an ‘elastic’ supply token might catch people off guard.
It’s easy to think ‘infinite’ supply tokens have infinite inflationary pressure and therefore do not constitute ultra-sound crypto money. This is quite a surprising viewpoint to me, not only because it ignores the many downsides that come from having no emissions for many types of tokens, but also because the vast majority of ‘fixed’ supply tokens on the market are nowhere near their max supply limits and are rapidly inflating through token unlocks, reward programs, and other emission producing activities.
One of the key tools protocol designers have in their toolbox is the creation and distribution of tokens. This isn’t always necessary, but the creation of an emissions schedule is the key mechanism by which all proof of stake, proof of work, liquidity mining, and governance incentive schemes function.
“But wait!” — you say. “My token has no emission!” Well dear reader, I must ask in reply, what about those 146% APY yields on your token’s key liquidity pool? Are they not emissions too?
Just because they may be manually released on fixed or variable schedules, do not get it twisted: at a fundamental level, these rewards are released from a non-circulating state into a state where market participants are free to exchange them on the wider market and can not be put back in the box from which they came. That sounds an awful lot like emission to me. All forms of incentives should be considered when discussing emissions and coin supply, whether or not they are part of a wider block reward or ‘capped’ emission or unlock schedule.
A Misleading Practice
Many token projects have an arbitrary ‘max supply’, and a circulating supply that is often a fraction of this arbitrary limit. Particularly in the ethereum/bsc/etc token space, where minting of new tokens often isn’t possible, project teams essentially retain unilateral control over vast swathes of token supply, not because they are malicious, but just because they have not built other means to regulate the rate of coin release to pay for important incentives.
It’s for this reason we see over 100 $1bn projects today. In most cases, these huge valuations (ie. the ‘supply’ multiplied by the current price) arise as a result of a small amount of liquid tokens and incredible demand resulting in extraordinary market caps. Looking at reported fully diluted valuations further distorts the picture of the space.
Personally I see this as misleading. Reporting giant valuations on fixed or capped supply tokens implies a stable supply and token price, where in a lot of these cases, not only is there emission occurring (often at incredible rates well over 100% per year), but also there is often very little to prevent project teams from altering effective emissions without community awareness. More importantly, in most cases there is no way to offset the supply increases.
Further to this, there is also a hard-limit to incentive schemes — once the tokens of fixed supply projects have been released, that removes the possibility of using them ever again. In other words, most incentive schemes seen today will stop not because they are necessarily a bad idea, but simply because there aren’t enough tokens to fund them.
Market capitalisations as they are represented today are very unhelpful as they almost never paint an accurate picture of how a token’s supply is really broken down — in the majority of cases the notion of a ‘circulating supply’ and ‘max supply’ vary in definition from project to project with no real way of making an apples to apples comparison. It’s safe to say that although tokens with a ‘fixed supply’ are common, that often doesn’t mean much in practice.
I think it’s worth pointing out at this stage that crypto economics remains a highly experimental (and hotly debated) area of research. I’m not saying any particular approach is right or wrong, nor do I claim to know the perfect setup for any particular project (including Chainflip). We have however tried to do our homework and assess various models to derive a set of hypotheses. Conversations around token models can get murky very quickly. Given the cross-section of disciplines required to have informed debate, it’s often difficult to do so in a wider setting. We are very much open to feedback on the ideas presented in this article, as we strive to make the best economic decisions to ensure the success of the Chainflip protocol.
Chainflip’s Approach
At Chainflip, we settled on an emission style that can broadly be likened to Ethereum’s EIP-1559 token model.
Set emission rates are defined for Validator rewards, liquidity incentives, and other programmatic initiatives. These all create newly minted tokens which are allocated to the various operators of these systems.
On the flip side, we have introduced mechanisms which also remove tokens from circulation forever. Burning is an underappreciated topic. While the narrative around ‘deflationary’ assets is strong, the reality is very few protocols even have the technical ability to be truly deflationary. Bitcoin, for example, can not be described as deflationary. At best, it can be described as supply neutral in its final form, with the only mechanism for circulating supply to go down is just people losing their keys (a non-trivial proportion actually!). Ethereum has been far from deflationary, having grown from 70m ETH in 2015 to 115m ETH today, but in relative terms, supply hasn’t increased much more over time compared to Bitcoin, which has also minted heaps to miners over the years. Now that gas fees will be partially burned on Ethereum, there is actually a potential (if unlikely) future in which overall Ethereum supply declines over time.
Chainflip shares a similar model. For every swap that passes through the Chainflip system, a small fee is taken from the user (in USDC) and is used to buy FLIP tokens in the built-in USDC/FLIP pool. This purchased flip is automatically burned, removing it from the supply.
Fee Collection
Exchanges are incredibly lucrative businesses. An exchange charging fees of 0.1% on trades with $500m in daily volume (a mere fraction of Uniswap’s) should yield $182,500,000 in revenue every year. If all of those fees were directed into the purchasing of a token directly from the liquidity pool and then burning those tokens, the token holders would automatically benefit from this without having to lift a finger — it’s simply automatically reflected in the token price.
If said exchange bought $182m worth of tokens over a year, and if the average price was $10 each (based on comparable DeFi tokens), that’s 18.2 million tokens. Putting that in FLIP terms, that would be over a fifth of the initial supply, meaning emissions would have to exceed 20% per annum to even come close to the amount of tokens being removed from circulation. That means that if this did occur, the FLIP supply would decrease over time based on current models, where we anticipate between 11 and 16% inflation per year. That’s pretty neat I’d say.
DISCLAIMER: Chainflip may alter its model over time. Nothing is guaranteed, especially the potential daily volumes, and the other parameters are likely to change. Chainflip is a risky project — get involved, but only when you have a good understanding of these risks.
Determining Distribution
So why not pay the fees directly to Validators? Why not just have a fixed supply and have the Validators bid for access to exchange fees?
Well, this doesn’t help token holders. Token holders play an important role in the protocol too — not everyone can be a Validator and yet non-Validators still provide liquidity, are incentivised to bring on more users to the protocol, and they play a key role in user-informed governance.
The other main reason why fees shouldn’t be given straight to Validators is simple: Validators must provide economic security at all times — fluctuations in volumes, and therefore incentives, are impossible to reliably model. The potential upside for Validator operation is important to encourage operators to make long term investments in Validator slots and time investment in the infrastructure. A slow month in volume could result in Validators dropping out, reducing collateralisation and therefore economic security. This limits liquidity capacity and therefore increases slippage for users, reducing volumes and therefore fees — a downward spiral to be avoided.
Further to this, a regular emission is also useful for LP incentives which can be altered to bootstrap certain pools that do not yet yield fees. The creation of new tokens allows parameters to be tweaked to account for more or less token incentives — all while keeping the community involved and aware of the actual emissions in place at any given time.
In practice, the supply of FLIP is likely to track closely with token emission until fees pick up enough to offset newly created tokens, but will fluctuate with volumes. Although impossible to predict with certainty, modelling it is really enjoyable.
Summing Up
Chainflip’s token model can be described as smashing an exchange’s business model straight into EIP-1559. It’s simple to model, honest about it’s metrics, and has a realistic chance of turning FLIP into a deflationary asset.
So while yes — FLIP may have a theoretically ‘infinite’ supply, this isn’t the full story. I prefer the term ‘elastic.’ I’m personally very excited by this model and I hope you are as well.
Got thoughts? Post them here: forum.chainflip.io
Next up in the series: Validator Auction Theory. Coming soon!
14 Aug 2020
#DeFi - The Dangerous Game of Governance Tokens
The last few months have generated an explosion of discussion in the crypto world about governance tokens and so-called ‘yield farming’. There’s lots of chatter around incentive structures for the variety of actors in the field. In particular, the DeFi community has settled on a rather unusual consensus about the balance between arbitrageurs, liquidity and infrastructure providers, and the viability of governance tokens going into the future.
I’m going to explore the long-term viability of governance tokens and how modern monetary theory is precipitating into the ideas we’re now seeing in DeFi. This is super interesting, and runs contrary to the popular beliefs of most crypto holders.
The great dichotomy
As far as I can tell, apart from the speculative side of things, the core appeal of cryptocurrency to many was that it existed outside of the regular financial system. A lot of cypherpunks and early adopters of Bitcoin and Ethereum have been harsh critics of central banking and the underlying monetary theories in common use. They believed the highly over-leveraged global economy, built on free-floating Fiat currencies, would eventually fall victim to a catastrophic downfall in confidence in national currencies across the world. I’m not sure how much these people actually believe the US dollar is doomed and Bitcoin is the solution, but being openly critical of the central bankers and politicians in charge of the global economy has been a pretty central activity for any cryptocurrency enthusiast worth their salt.
DeFi is perhaps the ultimate playground for economic incentive schemes and monetary policy ideas. Between lending, borrowing, exchanging, oracleization, backing, wrapping, leveraging, and the manipulation of supply and demand, the world of DeFi tokens is nothing short of paradise for economic theorists. Cryptocurrency is a great sandbox for limited scale incentive structures and monetary policies. It has given rise to an entirely new kind of business structure — one which isn’t backed by shares, but is instead funded through (and rewarded by) a free-floating currency that’s both issued for and intrinsically tied to the business.
But — what if I told you that concepts like yield farming rely not on mainstream economic ideas, but on the principles of modern monetary theory (MMT), which promotes many of the behaviors that the crypto community has traditionally pushed back against?
Money printer goes brrr….
What must be understood about governance tokens is that, generally speaking, they’re not utility tokens. In other words, holding the token does not grant you access to any service whatsoever. Usually the fees you pay to use platforms backed by these tokens don’t require you to hold, burn, or transfer this governance token in any way, shape, or form.
And yet, these governance tokens are used as a method of increasing the incentives available to liquidity providers. This is unusual, as these platform creators are essentially betting there will be enough people buying their governance tokens to offset the returns being given to yield farmers. But if the governance tokens have no utility, what’s driving demand for them in the long-term? Is it even necessary to have ‘real’ demand?
MMT states that depending on how new supply is distributed into the monetary system, the supply of a free floating currency can increase without actually causing inflation (reduction in purchasing power). MMT surmises that it is possible to pay for government spending not by taxation, but simply by creating money to spend on under-utilized human resources, stimulating job growth and real economic output, which in turn creates new demand for the currency. Using that logic, according to MMT, it is possible platform operators can increase the amount of tokens in circulation without affecting their price — but exactly how is not explicit. MMT departs from the traditional understanding of free floating currencies, which suggests that increasing the monetary supply in a given currency system would lead to a reduction in the purchasing power of that asset. Instead, MMT proposes that if new supply is used in certain ways, that currency will maintain steady purchasing power even when more of it is being created.
We have seen this in practice on the Loki network. Miners are actually a significant contributor to short-term inflation, as they have direct costs they need to offset on a day-to-day basis. Between the hardware and the electricity, miners are not likely to be holding onto assets for long, they need to sell them on the market quickly to cover their costs. One might say the velocity of money in the hands of miners is quite high. Since heavily reducing the miner’s involvement in the emission schedule and consensus mechanism of the Loki Project, we have seen a dramatic reduction in sell-side pressure on a day-to-day basis.
The same cannot be said for other actors. People that are staking into various coins and projects generally hold a longer view, especially because the lock-ups these investments require can be substantial. With Loki, we see stakers holding on to their assets for far longer timeframes, reducing the velocity of money to a virtual standstill. The emission that is created to reward stakers does not affect the Loki purchasing power (price) nearly as much as miners.
Of course, talking about crypto in the context of MMT may seem quite far fetched. The scale at which MMT is normally applied is enormous, so to draw parallels between national economies and comparatively tiny markets with relatively few actors does seem unusual, but there’s more to this than you think.
Pulling apart an example
I’m about to pick on a particular token — but I’m only doing so because it’s a widely known example, and the many of the same arguments can be made for dozens of projects, including BAL, KNC, LEND, MTA, CRV, and so on, but for now, let’s look at everyone’s favourite governance token. Compound.finance runs a smart-contract driven lending platform. Users can lend assets to each other, and through a complex series of smart contracts, are able to borrow assets from pools using other crypto as collateral. In essence, people can earn returns for lending out crypto.
Of course, this can’t yield any real usage if no one wants to borrow. Unlike regular banks, you need at least as much capital to use as collateral as you want to borrow using Compound, so the type of people borrowing money are lower risk, but also lower in number. People that already have money aren’t likely to borrow more, unless they’re trying to leverage their equity in existing assets to pursue greater returns.
The interesting thing about the COMP governance token is that it is awarded to lenders and borrowers. Both users are given COMP, which for borrowers offsets some of the risks associated with leveraging their assets, and for lenders, increases the potential yields lending could deliver.
Yield farming emerged when people realised that if they borrowed from themselves (or at least opened an equivalent position either side of the pool), they could earn COMP and never risk being liquidated on their loan. It’s basically free tokens. Compound gets a bunch of liquidity and lending running through it, people start making money, and the COMP token blows up because people want exposure to the hottest thing in crypto.
But what are lenders and borrowers doing when they run assets through the platform? Who benefits?
The only fees the users pay are to each other and gas costs. The gas cost can be thought of as the Ethereum network ‘taxing’ the users for the security of the Ethereum blockchain, and the interest is paid to the lender. Compound itself — the organization that created the smart contract — is cut out of the loop. Enter: COMP.
The COMP token exists under the guise that it is a governance token. Its sole purported utility is for use in voting on proposals to add new assets, updating oracles, and so forth. The Compound team pushes it as the mechanism by which they hand over control of the platform to its users in a ‘decentralized’ structure. But someone needs to keep the Compound smart contract running, with or without the governance process — decisions need to be made, funds need to be raised, and liquidity needs to be collected and deployed. Many other decentralized governance projects have seen extremely low user participation. If COMP looks to be heading towards this fate, its makers may realise that — at least while they control a decent proportion of the circulating supply — they can maintain the appearance of decentralized governance through a system which is really just ongoing community consultation. If they need to go in a new direction without community support, they can and will without technically violating the rules underlying the governance token. (It should be noted that the COMP token currently does nothing and the ‘proposal’ system is essentially a discussion forum not related to or requiring the token at all.)
You can’t earn money with COMP, you basically can’t affect protocol changes with COMP — the only reason to hold it is because you suspect other people want it. Its actual utility is purely as a speculative asset. The crazy part is: maybe that’s okay.
As long as the Compound team can prop up the market for COMP and prevent a run on the currency, they can keep issuing tokens and expect the purchasing power of these tokens to remain strong. They were able to sell 24% of the entire supply of COMP to extremely high profile investors, and have 22.5% of the supply vesting to themselves, so clearly they have the assets at their disposal to maintain the market price.
The question remains though: how long will this last? Similar questions come from critics of MMT. Surely at some point the value of these assets will shrink, given there is nothing fundamental securing the value of the currency.
Bitcoin pays for its security through emissions and has nothing fundamental propping up its value, yet the demand for Bitcoin is undeniably enormous. Compound pays for their development expenses by creating a token out of thin air and selling it at nearly a $1bn fully diluted valuation, whilst also giving away free COMP tokens to people in order to make it look like their platform is being used for genuine lending purposes (or at least, more than it actually is). Again, nothing fundamental says this token shouldn’t go to zero. And yet, it probably won’t.
People buying COMP today for its speculative value may simply be subsidising the profits of presale investors and people ‘wash lending’ (a more accurate way to describe yield farming on Compound) on the smart contract. Speculation may send COMP higher, but there will be some limit to this demand, and as the rest of the supply starts to vest, the COMP creators will have to be very careful about how they support that market to keep it alive.
The US dollar is being created at extraordinary levels, whilst real productivity has stagnated and even declined due to COVID-19. But the US dollar will probably remain valuable regardless, because that new capital is only being used to pay down debt and purchase assets which will eventually be sold off. This isn’t MMT — this is mainstream neoliberal monetary theory.
In a sense, COMP has managed to achieve the same thing. They’ve printed currency and sold it to buy assets (presumably ETH and USD) which will, at a later stage, be used to buy back the currency to prevent inflation. The part of this plan that puts the COMP strategy squarely into the MMT camp — and beyond the scope of mainstream monetary theory — is the underlying assumption that printing more COMP to pay for user rewards is not only viable but the correct way forward. Essentially they’re positing that being able to pay for spending using currency creation is an acceptable and workable business model.
What’s wrong with this idea is that MMT doesn’t advocate for the free printing of money to solve all of your problems — that’s just an idea that has started showing up in popular culture. The theory states that you can only use new currency supply to pay for things if there is real demand for the currency, which can only be generated by using things like taxes to force the participants of the platform to spend the currency or to pay someone else to cover these taxes in the native currency — something which COMP and many other governance tokens simply do not have.
Using money printers properly
What got me thinking about all of this was my own approach to this challenge in our goal of creating an economic foundation for our own DeFi product. At Loki, we’re supporting the development of Blockswap, a cross-chain layer to add to the network of liquidity pools forming (Uniswap, Curve, Balancer, and so on). Blockswap offers a seamless method of swapping assets across chains with no wrapping, special wallet software, or complex integrations. You’ll be able to send Bitcoin directly from an exchange and get whatever token you want connected to Blockswap, Curve, or Uniswap.
In designing the cryptoeconomics for Blockswap, considerations must be made about who pays for the costs of keeping the system alive and healthy. For Blockswap, 4 types of actors and how they interact with the system must be considered: Liquidity providers, infrastructure providers, regular swappers, and arbitrageurs.
The emerging field of DeFi wisdom will lead us to believe that the most important people to incentivize in this scheme are the liquidity providers. As swapping is only sensible if fees are relatively low, and more liquidity leads to lower fees, obviously liquidity providers should be paid to keep their capital deployed on Blockswap.
Although this idea is nice, it’s also flawed. Nothing comes for free — and the only people who should be paying for Blockswap are those that use the service, not unsuspecting holders of a governance token. So how can the token economics be engineered to strike a good balance between the various demands of the different actors?
Liquidity providers under the Uniswap model are paid via slippage based fees. Impermanent loss is limited by these slippage based fees, and arbitrageurs are paid to ensure that the trading price on Uniswap is as close to the rest of the market as possible. If the fee structure is changed to further mitigate impermanent loss, that change is paid for by reducing arbitrage profits, which in turn increases the likelihood of price divergence on the liquidity pools. However, arbitrageurs only need to be paid the bare minimum amount to prevent price divergence — and since better liquidity means less slippage, arbitrageurs shouldn’t be much worse off if this approach is taken.
The next demand that must be met is around infrastructure and security costs. Uniswap has no native infrastructure and security, as Ethereum handles that, and the swappers are the ones who end up paying for those fees in the form of gas.
Cross-chain solutions are always going to be more expensive, as securing funds as they move between chains is going to have a cost associated with it. Whether that’s done using collateral, as is the case with atomic swaps, lightning networks, and other ‘dispute’ based ideas, or is done using some kind of decentralized custodial service (Blockswap, REN, THORChain, etc.), the capital that is used to secure the cross-chain transfers has to be paid for by someone.
Forcing users to provide that collateral themselves severely limits real utility, so the cost of collateral has to be socialized in some sense. In Blockswap, vault node operators are paid to put up their own collateral to secure the vaults used to create a trustless custodial service, and that payment comes in the form of coin emission.
How can the cost of that emission be offset? Once again, nothing comes for free, and fundamentally, we don’t want the project to wind up in the same position that COMP and other tokens are in — paying for things by creating new tokens with no practical mechanism of impeding or combatting inflation by stimulating demand for the currency. As such, this emission is paid for by requiring Blockswap users to pay a fee in Loki — which is burned. This way, security will always be paid for automatically, and the inflation potential created as a result of that is paid down by users of the platform.
So that just leaves the most critical element of it all: the regular user. Blockswap won’t have a monopoly on cross-chain swaps — the lion’s share of that role goes to Binance. It’s just horribly inconvenient — creating accounts, setting up security, 2FA, depositing, withdrawing, and so on. Blockswap offers convenience. It’s the only solution being proposed that allows for cross-chain swaps with no special software, no wrapping, no coin-side integration, accounts, or user-provided collateral.
Blockswap only needs to exist if there is a market for it, and if there is, users will accept slightly higher fees for that experience. Further, if everyone — infrastructure providers, liquidity providers, and arbitrageurs — is incentivized to get more users performing swaps, this will drive Blockswap’s adoption.
The notion of sending fees to zero to inflate usage statistics is very common in crypto. The majority of volume seen on exchanges comes from zero-fee accounts, which increases the prestige of the coins being traded as well as the exchanges themselves. To compete, you have to accept that absurdly low fees are the only way to succeed in a sea of near zero-fee business models. But like I keep saying — nothing is free, someone always pays, and in the case of exchanges, listing fees being extorted from projects has been a very popular business model. Perhaps governance tokens give users and yield farmers a good deal — but it’s paid for by people buying the token.
In the end, it’s ensured that if Blockswap is a valuable product, demand for the native currency behind it is stimulated, instead of simply printing tokens to pay people with poorly aligned incentives. The trend in DeFi at the moment doesn’t seem to care about this idea at all, regardless of whether or not I’m okay with it — this is how it is, and people are making money (for now). But in time, we will see if these practices, market attitudes, and economic designs actually hold water.
MMT is an economic theory which provides a different way to approach macroeconomics. It has often been severely mischaracterized as saying you can just print money without consequence, and we see that mischaracterization being applied in governance tokens (whether intentionally or not). Blockswap is pursuing a different strategy, aiming to develop a robust solution with sensible economics rather than value built solely on speculation.
Thanks for reading my article! I’ll be putting this post up on my upcoming site that contains some of the other cryptoeconomics posts and papers I’ve done previously, as well as some more cryptoeconomics and DeFi content, but in the meantime, hit me up on twitter at Simon Harman — I’d love to chat!