3pool: The Canary in the Tether Coalmine
An ELI5 Explainer About Where to Look When The Depegging Begins
To know the history of Tether is to be in a constant state of amazement and confusion.
Just considering the very facts which Tether admits should leave even the most disinterested observer wondering how it persists as a going concern. I’ll avoid delving too deeply into the backstory of Tether here. For those unfamiliar with crypto’s largest and sketchiest stablecoin, I would point you to @patio11's 2019 post, Tether: The Story So Far. It’s three years old at this point, but is still an excellent summary of how we've gotten to where we are.
There’s a school of thought in the Tetherverse which says: sure, there was some shady behavior in years past (after all, show me the crypto institution that didn't get their hands a bit dirty back then). But they've since seen the light and shaped up. They are now rock solid, ready to lead us into our bright crypto future. For this group of Tether scholars, I’d recommend two more @patio11 posts: Tether Required Recapitalization In May 2022 and Tether’s Troubles in November 2022. Their problems persist!
The goal of this post is not to convince anyone of Tether’s insolvency (which should be clear from THEIR VERY OWN attestation — I feel like I’m becoming the Joker here).
Instead, I want to talk about 3pool, a popular liquidity pool on a decentralized finance exchange called Curve Finance. In recent days, interested observers of Tether have pointed to 3pool as a possible warning indicator for Tether’s possible impending collapse. See, for example, this thread from @patio11, or this thread from @MikeBurgersburg, a.k.a. Dirty Bubble Media.
These warnings can seem a bit inscrutable to those who keep their minds blissfully free of crypto lore. I’m not here to convince anyone that they need to learn more about crypto. But I did want to write an explainer post for those Tether watchers who don't understand the meaning of these 3pool warnings, but wish they did. I'll try to explain things so laypeople can understand them, but I will assume some basic crypto/blockchain knowledge.
Let’s dive in.
What’s 3pool?
3pool is a liquidity pool on the Ethereum blockchain that lets you exchange between three popular stablecoins: USDC, DAI, and Tether (which I’ll interchangeably refer to as USDT). It was created by Curve Finance.
What does the term “liquidity pool” mean? Essentially 3pool is an address on the Ethereum blockchain which holds some number of each of those three tokens. It allows external parties to interact with it in three main ways:
depositing USDC/DAI/USDT and receiving CRV (a token created by Curve)
depositing CRV and withdrawing some mix of USDC/DAI/USDT
swapping between any two of USDC/DAI/USDT
The contract charges some fees for these transactions; those fees are split between Curve and holders of CRV.
To give a non-crypto analogy, imagine a financial institution that we’ll call SwapCo. SwapCo holds some amount of US dollars and Hong Kong dollars (which are ~pegged to USD). If you’re a U.S. citizen about to travel to Hong Kong, you can take US$1000 to SwapCo and get HK$6999 (assuming a 1-7 exchange rate). You spend HK$3500, and take the remaining HK$3499 back to SwapCo at the end of your trip. SwapCo gives you US$498, and distributes the fees it charged you to its shareholders. Nice! This is essentially that, except for crypto stablecoins.
How much money is in 3pool?
A lot! As of this writing, about $675M in total: 167M DAI, 175M USDC, and 332M USDT. So about half of 3pool’s reserves are in Tether, with a quarter in each of the other stablecoins.
So do people use 3pool?
Yes — a lot! 3pool claims daily trading volume of $250M.
Good for them, I guess. But what does this have to do with Tether?
A good question. There are a few important things to understand about 3pool before we can get to that.
First, exchange rates on 3pool aren’t constant. In theory all the stablecoins should each be worth US$1, but the actual exchange rate between, say, USDC and USDT will fluctuate based on the demand for each coin. You can see that on this page.
Right now if we were to swap 100 USDC via 3pool, we’d get roughly 100.026403 USDT.
Conversely, swapping 100 USDT would only net us 99.950898 USDC.
Curve claims to use an algorithm that’s designed to minimize fluctuations in exchange rates in “normal times.” So you’ll get an exchange rate of ~1:1 for most of your trades, assuming the pool has sufficient liquidity (that is to say, a sufficient amount of whatever coin you’re swapping into).
So let’s say, purely hypothetically, we’re the holders of 100M USDT and for some reason we don’t feel comfortable holding onto those Tethers any more. According to 3pool’s website, we’d be able to exchange those Tethers into USDC at an exchange rate (including fees) of 0.99873128. Pretty good!
Wait, what do you mean by “normal times”?
Ah, yes. This gets us back to what this has to do with Tether.
Let’s say, again purely hypothetically, that instead of 100M USDT, we held 169M USDT. And now we REALLY don’t want to be holding onto that amount of Tethers.
No problem, let’s go to our trusty 3pool to swap into USDC. Except now, it’s quoting us a rate of 0.97870004! That means we're losing over 2% on this transaction. The thing is, 3pool only holds 169.38M USDC right now. As we get close to asking 3pool to pay out that amount of USDC, the exchange rate is going to get all out of whack.
So if we had 200M USDT, we’d get a USDT/USDC exchange rate of 0.84498287, and get 169.1M USDC in return. If we had 300M USDT we wanted to exchange, we’d get an exchange rate of 0.56439432 and 169.31M USDC. At a certain point, the more Tether we swap into 3pool, the lower the exchange rate will go and the amount of USDC paid out will asymptotically approach 3pool’s USDC balance.
Interesting. I assume you verified this mechanism by reading 3pool’s smart contracts, instead of just entering random values into their website and seeing what it spits out?
Ah, you would assume wrong, my friend. I did try to read the contract, but gave up trying to make sense of it pretty quickly. DYOR! Or at least do my research, please.
I tried to gain some insight from Curve’s whitepaper too, and had roughly the same level of success. Lotta Greek symbols in there!
Lastly, I thought maybe I’d try to exchange a small amount of USDC that I have in an old Metamask wallet for some USDT. But Metamask isn’t listed as an accepted wallet on 3pool. I gave up after about 20 minutes of trying to figure out how to get my USDC to a wallet that is compatible with 3pool. Defi! (Yes, I'm sure there's a way to do this. No, please do not message me telling me what it is.)
Ok ... so what does this have to do with Tether?
Right — Curve’s risk factors warn us of us what might lay ahead: “If one of the stablecoins in the pool goes significantly down below the peg of 1.0 and never returns to the peg, it’ll effectively mean that pool liquidity providers hold almost all their liquidity in that currency.”
So if some major participants in the crypto market decide to spend their downtime during the holidays reading through some of the articles on Tether linked in this post’s introduction, and they come to the unpleasant realization that the last thing they want to be holding right now is an unbacked stablecoin, there could be a rush to exchange USDT for, well, anything.
And if the market thinks that one Tether is worth US$0.80, and 3pool will give you 0.85 USDC, that seems like a pretty good trade, one that people will take advantage of until 3pool holds a ton of Tether and not much else.
To be explicit, the claim here isn’t that 3pool itself will cause Tether’s downfall. But if Tether starts to depeg for some other reason, 3pool will be one of the first places I’d go check for confirmation.
And so now we hopefully understand @patio11’s earlier linked tweet on the matter. If you believe that there is a significant possibility that USDT could collapse, you might expect that to be validated by market signals — in this case, a liquidity pool like 3pool holding ~100% USDT after being drained of all its non-USDT stablecoins. And yet, we still see 3pool holding 25% USDC and 25% DAI.
So why hasn’t this happened yet?
The 60 billion dollar question...
One possible answer is that someone’s using a lot of money to ensure it doesn’t happen. @MikeBurgersburg pointed out a series of transactions from a single address, 0x561f551…, that has bought $1.3B in USDT with USDC over the past month, including $800M in the past week. This individual, or group of individuals, obtains USDC from Circle, swaps it for USDT via 3pool, transfers that USDT to Kraken and then from Kraken to Bitfinex.
By removing Tether from 3pool, and transferring in USDC, potentially at a loss, this actor could be intentionally propping up the value of Tether in 3pool.
Are you sure about that? Maybe they’re just trying to make a quick buck.
You know, that’s the theory from some Tether fans. The thinking here is that you can get, say, 1.01 USDT for every USDC you contribute to 3pool. Take that 1.01 USDT back to Tether (they always redeem USDT at $1) and you’ve got yourself a tidy 1% profit.
It’s a conceivable theory. And while I have my suspicions about whether @MikeBurgersburg’s interpretation is correct, or if the alternative arbitrage explanation is the right one, there isn’t much evidence either way.
Except that, in the few days since @MikeBurgersburg tweeted his observation about those USDC/USDT transactions, 0x561f551... has continued swapping USDC for USDT via 3pool; just search for that address on this page. In just the past few hours alone, they’ve done a $15M swap, a $19M swap, and a $30M swap.
Let’s take a closer look at that last swap. This individual transferred 30,000,000 USDC into 3pool and received 30,006,081.380152 USDT in return. That nets them a profit of roughly $6,000 on this trade. A small profit, but a profit nonetheless. Except Tether charges a 0.1% redemption fee, which means they’d actually net $29,976,075.2988. Assuming they bought their USDC for 1 USD each, that means they’d make a grand total of -$23,924 on this transaction.
But who knows. These two explanations aren’t mutually exclusive. And I could be misunderstanding some aspect of the trade here, or making some incorrect assumption. Or maybe these transactions are being done by an arbitrageur, just a very bad one. (Believe it or not, these do exist in crypto.)
If you ask me though, sometimes the most obvious explanation is the correct one.
> Except Tether charges a 0.1% redemption fee, which means they’d actually net $29,976,075.2988.
This is wrong, Thether charges max(0.1% x TOTAL, $1000). So your final argument is not valid.