Celsius wallets that stole millions before bankruptcy
I tracked several of the Celsius Wallets which stole MILLIONS ?from investors, right before bankruptcy, including Alex Mashinsky
— Coffeezilla (@coffeebreak_YT) October 11, 2022
I'm making them all public in the hopes that the bankruptcy courts claw back these funds. Regular Investors > Executives. ?
Alex Mashinsky cashout 2 (USDC edition)
— Coffeezilla (@coffeebreak_YT) October 11, 2022
He stole 1,792,255.766134 USDC on 05/15/22. Once again it goes to a Coinbase wallet. Once again it comes from multiple wallets funded by CELSIUS NETWORK: WALLET 5.
Whether this is normal routing or an attempt to obfuscate funds is unknown. pic.twitter.com/2s8Sg2jdjV
Next up another Mashinsky related one: Koala 1 LLC who took $1,638,303.3376 USDC on 05/27/22. yet again funded from wallets funded by Cel wallet 5.
— Coffeezilla (@coffeebreak_YT) October 11, 2022
This one also went to Coinbase (Mashinsky seems to love @brian_armstrong for some reason), and once again the amount matches up. pic.twitter.com/CHgLaPIh8R
Now lets move onto other characters: Aliza Landes who is associated with Leon Daniel.
— Coffeezilla (@coffeebreak_YT) October 11, 2022
She withdrew $333,547.85244 USDC on 05/29/22
Doesn't take long to find her withdrawing to Kraken coming from a wallet funded by CEL wallet 5. pic.twitter.com/1DbQh6pvnQ
Leon Daniel withdrew $2,370,633.82 USDC on 05/29/22 going to Kraken… coming from Cel Wallet 5.
— Coffeezilla (@coffeebreak_YT) October 11, 2022
I can't believe these people thought they'd get away with this. pic.twitter.com/w7J8UQdo9X
Summary: LOCK THEM UP
— Coffeezilla (@coffeebreak_YT) October 11, 2022
Alex Mashinsky Eth
0x3001ccC98B917c0f604E90C94B4E2Ed8a93c2281
Alex Mashinsky USDC
0x33BBf8B3885214c0CE53698D77Ea0d292906c0Bb
Koala 1 USDC
0xBC12B94EC3B7AAFF9d91428DfCB505c7c553602F
Leon Daniel USDC
0x884fF7A885F7EA52230670FcAE5e05fa24B68b2c
Aliza Landes USDC
— Coffeezilla (@coffeebreak_YT) October 11, 2022
0x28183C9BD76AE0d87D36Fd2955a58B2f70968Dc2
FTX’s take on Oracle
1) When it comes to oracles,
— SBF (@SBF_FTX) October 12, 2022
you just have to make up your own damn mind pic.twitter.com/7kZATSLpQM
2) NOT FINANCIAL ADVICE, NOT LEGAL ADVICE
— SBF (@SBF_FTX) October 12, 2022
3) Let's say that you have a margin trading protocol which allows cross-margin between a bunch of different assets.
— SBF (@SBF_FTX) October 12, 2022
Your algorithm is "require 30% initial margin and 20% maintenance margin"–i.e. allow ~3x leverage, and margin call accounts if they get up to 5x leverage.
4) You have an 'oracle' which reports the price of the assets, and your risk engine–the thing that calculates users' margin–uses prices from that oracle.
— SBF (@SBF_FTX) October 12, 2022
One asset–say XYZ–has a price of roughly $0.40 according to the oracle.
A user–Alice–has $200m XYZ and -$25m USD.
5) Alice:
— SBF (@SBF_FTX) October 12, 2022
500m XYZ ~ $200m
-25m USD = -$25m
net value ~ $175m
margin ~ 87.5%
how much should the risk engine allow Alice to withdraw?
6) A naïve answer would be "well if you require 30% margin then Alice can withdraw up to $115m; at that point her account would be:
— SBF (@SBF_FTX) October 12, 2022
500m XYZ ~ $200m
-140m USD = -$140m
net value ~ $60m
margin ~ 30%"
7) But there's a picture of a mango over The Oracle's face.
— SBF (@SBF_FTX) October 12, 2022
So, obviously, XYZ is actually MNGO, and MNGO isn't really worth $0.40; it's worth around $0.04.
Alice's real account value is, roughly:
500m XYZ ~ $20m
-25m USD = -$25m
net value ~ -$5m
margin < 0
It's already gone.
8) But for a brief period, someone (almost certainly Alice) bought enough MNGO that it did trade for $0.40, and before people could get in to sell and return it to a more reasonable price, the risk engine had already allowed Alice to withdraw $100m from Mango Markets.
— SBF (@SBF_FTX) October 12, 2022
9) So, what went wrong? Did the oracle fuck up?
— SBF (@SBF_FTX) October 12, 2022
I mean, not really. Or, rather, it depends on what the specs of the oracle were.
The oracle accurate reported the current price of MNGO. It's just that the 'current price' wasn't really anything close to the 'fair price'.
10) What should you really do?
— SBF (@SBF_FTX) October 12, 2022
Well, let's look at what FTX does, and why *it* didn't have any risk engine issues.
11) First, FTX has EWMA price bands.
— SBF (@SBF_FTX) October 12, 2022
What this means is, roughly, that FTX consumes raw price feeds.
But, before feeding that into its risk engine, it bounds those price feeds so that they can't move more than ~20% over a 5 minute period.https://t.co/Owu4xyesPB
12) The reason, basically, is:
— SBF (@SBF_FTX) October 12, 2022
b) If an asset's price moves 3x in 1 minute, it's decently likely to be bad data, or a temporary wick, or something like that
b) If the asset's price stays there for 5 hours, that new price is likely the true economic price
13) FTX's MNGO index price moved–there should be *some* update–but much less than others because of those EWMA price bands.
— SBF (@SBF_FTX) October 12, 2022
In particular, while FTX's index topped out at a ~100% increase, on some exchanges the move (temporarily!) hit a +900% increase (!!!). pic.twitter.com/ZrfpjveL7w
14) Second, FTX uses 'IMF Factors'.
— SBF (@SBF_FTX) October 12, 2022
The larger your position, the greater % margin we charge.
For MNGO, the margin we charge is 0.00025 * sqrt(MNGO tokens).
If you wanted to have a 500m MNGO position, FTX would have required, uh, 500%. (Bounded at 'fully funded'.)
15) The reason, basically, is that large positions–especially in illiquid tokens–can have a lot of impact.
— SBF (@SBF_FTX) October 12, 2022
So we charge more % margin the greater your position is.https://t.co/d14JDRnHYd
16) And some positions — like the one in question — are large and illiquid enough that the risk engine forces you to fully collateralize a position.
— SBF (@SBF_FTX) October 12, 2022
17) So even before hitting position limits, the risk engine ensures that the collateral backing a position is sufficient.
— SBF (@SBF_FTX) October 12, 2022
And what if you try to use something other than dollars as collateral?
Well, we haircut it. In some cases, a lot.https://t.co/yeML2zCkgg
18) (It's worth noting that this is all referring to FTX International.
— SBF (@SBF_FTX) October 12, 2022
In addition to all of the above protections, our amendment for FTX US Derivative's margin order would only be for BTC and ETH futures using USD margin. No MNGO, and certainly no MNGO collateral.)
19) There are a bunch of other risk engine protections and sanity checks, too, which would have caught something like this.
— SBF (@SBF_FTX) October 12, 2022
So — back to the oracle.
It reports:
"MNGO: $0.40"
Is it wrong?
20) Well, it depends on what it's promising.
— SBF (@SBF_FTX) October 12, 2022
But probably it's just promising to tell you, literally, what MNGO is currently trading at. And, for a brief period, on some exchanges, MNGO was in fact trading at $0.40.
The real problem here was using the raw oracle price.
21) The Oracle tells you everything and nothing–the history and current state of markets.
— SBF (@SBF_FTX) October 12, 2022
It's the risk engine's job to consume that information, and decide what positions are safe.
Sometimes it can't just regurgitate The Oracle. Sometimes it has to make up its own damn mind.
22) Which doesn't mean that the risk engine needs to be manual.
— SBF (@SBF_FTX) October 12, 2022
You can create a set of rules for it so that it's conservative, and handles apparent large moves gracefully.
That, in the end, is probably the most important thing we do at FTX.
23) And, really, it's why we started FTX in the first place.
— SBF (@SBF_FTX) October 12, 2022
Tradfi had sophisticated (sometimes!), slow, manual risk models, and–in some FCMs–fast, egregious ones.
Crypto had fast, automated, broken risk models.
There was an opening for a thoughtfully automated risk engine.