The way the traditional system works is that if you have a margin loan, and the value of your collateral declines, your broker calls you up and says “hey we need more collateral,” and you either post more collateral and it’s fine, or you don’t post more collateral and your broker liquidates your position. Or sometimes you say something like “hang on I’ve got another call, I’ll call you back after lunch,” or “sorry I don’t have the money right now but I am a good customer and you know I’m good for it,” or “I don’t have the money right now but I’m pretty sure prices can only recover from here so why don’t you let it ride for a day or two,” or whatever, and you don’t post more collateral but your broker doesn’t liquidate your position because you’re a human and your broker is a human and everyone is embedded in a repeated social game with fuzzy rules. Whereas the way that the crypto system — particularly the decentralized finance side of it — works is that if you have a margin loan, and the value of your collateral declines far enough, a robot liquidates the collateral immediately without even bothering to call you.
There are advantages and disadvantages to each approach. We were talking about a proposal from crypto exchange FTX:
Simplistically, you’d expect the FTX model to lead to more defaults and liquidations, but for those defaults to be less bad. In the traditional system, sometimes people will have a “technical issue,” and the exchange will “give the appropriate amount of time not to dislocate the market and create a bigger stress on that,” and it will work out fine — but occasionally it won’t work out fine, and by delaying the exchange will have caused a much bigger problem.
Often, delaying liquidation will just make the problem go away: Prices will recover and you won’t have to liquidate. Sometimes, delaying liquidation will make the problem worse: Prices will keep going down, and by the time you liquidate there won’t be enough value left to repay the margin loan.
Part of this is about the fuzziness of the traditional system, but part of it is also about measurement times. In traditional finance, often, you get margin calls based on the price of your assets at the end of the day, or at some other discrete measuring time. If your stocks go down in the morning and back up in the afternoon, you might be undercollateralized at noon, but you never get a margin call because it’s all fine by the time your broker gets around to looking at the report at 4:30. FTX’s proposal, and the crypto ethos generally, is about real-time 24/7 monitoring and automatic liquidations. I wrote:
In the traditional system, if the price of corn drops at midnight, and your broker calls you up for more margin, and you don’t post more margin, your broker thinks “aha you are asleep” and waits until the morning to call you again. But “humans are asleep at midnight” is the sort of off-chain information that a purely algorithmic approach would ignore.
Well! At FT Alphaville, Alexandra Scaggs has a fun post about oracle latency. A large crypto wallet owns a lot of Ethereum, funded by borrowing, and as the price of Ethereum dropped the account became undercollateralized and should have been liquidated. But it wasn’t. Scaggs:
On Wednesday morning, the price of ether fell below the implied liquidation price. At the time that was said to be around $1,015.
So what happened? Why didn’t the account get liquidated?
As the above tweet explains, it was an issue of “oracle update latency”. … At risk of oversimplification, an “oracle” is essentially a data feed that helps smart contracts perform their function. In this case a service called chainlink puts prices on the blockchain so Aave’s smart contracts can use them to operate.
This isn’t the futures market, and updating prices on-chain is expensive. So they aren’t refreshed in real time. Instead, chainlink updates the on-chain prices when the “off-chain” data deviates by 0.5 per cent or more from the latest update, or every hour.
When ether fell to around $1015, it would have triggered a sizable liquidation if it had met the criteria for the price to go on-chain.
But it didn’t. It wasn’t a large enough move compared to the price recorded in the prior on-chain update, and it didn’t last for an hour. So instead of getting blown out of around $250mn in ether, the account got to live another day.
I dunno. Seems fine? “We check the prices every hour, and if you’re undercollateralized at any hourly update we’ll liquidate you” is kind of a reasonable thing for a broker to say. As a way to handle financial-market risk, it’s just fine; the lender takes an hour of price risk, which is a lot less than lenders take in a lot of traditional financing businesses. Still it’s not a particularly, like, futuristic thing for the broker to say? In the stock market, traders have computers that can check the price many times each millisecond. In crypto, the computers are famously slow and expensive, so checking the price every hour is the best they can do.