Turning wealth to income

Gas prices on Ethereum finally came down low enough yesterday, into the 200’s, long enough for my early ETH transfers from my mining account to come through to my main account, giving me the gas I needed to finally stake my USDC and wBTC into a couple vaults. Zapper.fi actually recommended the YFV USDC Seed vault, and I used Yearn’s sBTC vault for the main amount.

Since I’m actually pooling assets from various funds that I’ve earmarked for various members of my family, it’s becoming a bit of a challenge to keep things straight. I’m working with a Notion database, with rows for each person, and columns for the amounts of ETH, USDC, and BTC that they’ve contributed. I have another row for fees, where I’m tracking the gas costs in ETH for each of the transactions in and out of the vaults. I’ll have to create some formulas to help compute each person’s percentage of the total pot; I’m not sure whether I can do it in Notion, or will have to do Excel. Ideally, I would do it on the blockchain, but managing three of four Ethereum addresses is too cumbersome.

I finished Mastering Ethereum earlier this morning. It’s a lot less mystifying now, although I’ve still got a ways to go to understand a lot of it. There are ton of links within the book that will take me some time to read if I want to go that far into it, for now I’m going to continue working through the Ethernaut challenges and will figure out how all Uniswap and all these Yield farm vaults work. That’s the awesome thing about Ethereum, all the contracts are public, most of them operate as open source with the contracts right out there in the open. It’s actually quite amazing.

The Unidrop earlier this week has also got me thinking a lot about the difference between wealth and income. Bitcoin, and to a certain extent, the FIRE movement, has really got me focused on savings and building wealth. Right now, my timeframe for net zero was really dependent on the next BTC bull cycle, but the twenty percent plus interest rates in DeFi are forcing me to re-evaluate my plans. I had planned to do some trading and see if I could build my stack higher that way, but the risk/reward ratio has been upended.

I’m still very tempted to move the remaining eighty percent out of my hard wallet and stake it in a vault, but the returns at this week’s levels isn’t high enough to justify. I’m not going to stake my entire stack against contract risk and the other factors inherent in the system for what amounts to one-sixth of my current salary.

If BTC hits $60k, though, that’s another story.

Uniswap Day

Heaven forbid you actually needed to use Ethereum yesterday

I was all ready to take the plunge yesterday and had moved a large portion of my BTC to wBTC. I just needed a bit more ETH to pay the gas fees for the zap into the vault. I set up a tx between my test wallet and my main wallet, with an average gas cost around 119 gwei. Metamask estimated a two minute transaction time, but after five went by I started looking at the gas costs. “Slow” was now 140 gwei. So I resubmitted the transaction. Five more minutes, then gas was up to 175. What the hell was going on?

Things kept escalating over the next hour, reaching 400-500 gwei. Something was happening. Etherscan’s gas tracker showed Uniswap’s router taking about a quarter of the available gas on the network. That wasn’t too unusual, it’d been up there for some time. So I decided to go on Twitter to see what was going on.

It didn’t take long to figure out what was going on. Uniswap had airdropped their governance token, UNI, into the hands of everyone that had used their service. At least four hundred UNI tokens were available to be claimed by everyone who had ever used Uniswap to make a trade, more, I’m sure, went out to LPs. Ethereum was clogged up with people trying to claim the tokens. Binance had already added UNI to their exchange.

Those tokens were worth twelve to fifteen hundred dollars last night, and are currently trading at about a grand. Unfortunately, the cost to claim and swap them is exorbitantly high right now, as gas pices are still well over 600 gwei.

It’s apparent that this trend will continue with Ethereum for the near future, as gas prices continue to rise, forcing small player out of the market. After all, what’s the use of trying to move around <$1000 amounts of ETH or other tokens if you’re paying $100 in gas for the privilege. That said, it will be likely that Ethereum will wind up being the chain for large financial operations, with other, smaller projects being forced off to side chains or competing projects.

With that in mind, I spent some time earlier today doing some research into Polkadot, looking at toward running a validator node, or even doing some smart contract coding on it as well. It’s an interesting project, but the cost of running a validator node and learning Rust will have to go on the backlog for now.

For today, I’m just watching equities markets get crushed and considering whether to buy some more ETHE. It’s holding steady today while everything else tanks, and I don’t have enough that I need to worry about setting stops on my position yet. The premium is sitting at this level, so I may

Crypto markets are mostly green. Haven is back up today, so I’m swapping out to xUSD a bit at a time. I’m still watching CELO, although I don’t have any capital free right now to grab any.

So for now, I’m stuck with transactions in mempool, so I’ll just wait a couple days, and hopefully things will calm down enough for me to get my funds moved into Yearn.

At the top of the diving board

DeFi is completely insane and massively complex.

I’m about to load up the yEarn valut with some wrapped BTC, and am planning on staking about twenty percent of assets under management. This is almost insanely risky, but I believe that of all the projects in DeFi, the one I’m picking carries the least amount of risk.

We’re putting our faith in several assumptions.

  • The wBTC protocol is secure, and that the BTC that we put in there will be safe when we decide to withdraw.
  • The Curve protocol is secure, and that the smart contracts are safe. Of course, there’s a ton of assumptions nested here as well, including the other tokens in the pool, renBTC and sBTC.
  • That the Yearn valut is secure, and that they know what the hell they’re doing.

Anyways, I must be insane.

I’ve got two out of three withdrawals out of BlockFi. I decided to use exchange funds instead of paying their thirty dollar fee to make another withdrawal. (I burned my freebie on a test tx.) I put in an order to convert BTC to wBTC, and that took all night to trade at an even price. After that completed I put in a text tx to my Etherum address, and then sent a max withdrawal after that cleared.

Now that those funds are sitting safely in my wallet, I have to choose whether to go ahead and proceed with loading the vault, or if I want to convert the rest of my BTC first. I think that’s wise. I feel like quibbling over the gas fee is probably stupid considering the size of the position here, but every bit will count in the long run.

If this works out, assuming that everything is safe and that my deposit grows at the respectable forty percent that I think it will, this could be one of the most significant, life changing decisions that I’ve made since getting involved with crypto.

We’ll give it three months and see.

Getting ideas

I spent some time coding Friday night, trying to update my trade plan script. It’s been a long time since I used it, and it doesn’t work anymore since it relied on the CoinmarketCap API to do lookups. So I’m starting from scratch.

Using the CCXT Python module to get my estimated balances off the exchanges is a bit more difficult than I had imagined. I can get the balances themselves, and then have to do some conversions using the last trade price in BTC. That’s a far as I got earlier. The next step is to do map limit orders against the positions to determine capital at risk, then I can start working on the trade plans themselves. I want the module to refuse to purchase if more than six percent of funds are at risk.

I’ve also decided to start moving funds from BlockFi over to Yearn’s sBTC vault. I did a test transaction last week, and I think it’s trustworthy enough to start moving things over. I still want to take a look at the contract code and see if I can make any sense of it, and there’s one other thing I need to figure out first.

I’ve allocated funds to my kids, and are holding some funds for my family members. I want to pool all these funds together, since moving funds in and out of the vaults takes a good amount of gas, and I want to minimize this as much as possible. Basically I’ll be farming USDC and BTC via the yCRV and sBTC vauts on yEarn, respectively, I just need to figure out how to track the amounts of assets from each individual.

I haven’t thought too much about this yet, but my preliminary idea is that I can use some sort of token to track contributions. Tokens will be minted or burned depending on how much someone contributes to the pool. But how to send those pooled funds to where they need to go?

I’m assuming that the yEarn vaults themselves use some sort of strategy contract to control what happens each time someone contributes. But in this case, I want to be able to control the funds myself. It seems, though, that funds would come in, I deploy them, and voila! But no. It’s going to be more complicated than that.

If I’m managing funds for four or five individuals, I’ll still have to manage wallets for each of them. I don’t think that this can be done with a simple spreadsheet, it’ll have to be tracked in a database of some type. Maybe I could build my own local contract to track it. We’ll see.

I’ll be looking over the Zapper and yEarn docs to see how I can interact with their contracts directly. I don’t necessarily want my contract to be on mainnet right now cause of gas transactions, this is why off-chain and side-chain projects were created in the first place, yes? Maybe I’m overthinking this.

I would need pools for each type of asset, so it could be a one-for-one token exchange. Tracking the value of the vault is where I’m stuck. I’m not sure how Zapper does it, so I have some more research to do.

While I think about all this, I’m also busy getting my Haven node spun back up. The vault is implemented, so it looks like I can move out of XHV into USD without involving an exchange. This will allow me some bit of trade leverage without having to deal with Bittrex for now. It just looks like it’s going to take a week for my node to sync up.

DeFi notes

I did quite a bit of reading today, I’ll share a few things I picked up relating to crypto and DeFi. I’m still trying to wrap my mind around it enough to the point where I can write a couple thousand words on it for my Substack, but for right now I still feel like I’m in the research phase.

DeFi is crypto’s latest craze, and it may soon challenge traditional banks – A good primer about DeFi and what’s going on in the traditional monetary systems.

Bitcoin of DeFi – about Yearn.Finance, covers the various sections of it as well as some of the background on it. Andre Cronje started it for his family and friends and codified it and released it to the public. Brilliant.

The Revolution You’ve Been Awaiting: Fintech + DeFi – Alternate title: “Software Robots and Automated Workflows”. Interesting read.

Guy Makes $250,000 a Day Yield Farming on Ethereum – Yes, but he started with $8.1 million ETH. I did take a look at the portfolio on Debank. $8m in Sushi swap, $4m in Swerve, and less in Compound and Balancer. Might pick up some SWRV just in case. Apparently I’m inadvertently staking there through Harvest USDC pool.

3 Rules for Healthy Pseudonymous Hygiene with Ethereum – With all this activity going on I’ve caught myself slipping a bit with my activities. I inadvertently shared a ETH tx with someone yesterday while I was depositing into Yearn yesterday, and now I consider that address burned, so to speak. I’ve got to be careful not to cross streams, so to speak, if I’m going to keep things clean.

And speaking of privacy…

The IRS is Offering $625,000 to Crack Monero – You bet they are. I’ve dealt with Cryptonote quite a bit, and it’s built on some solid math. Privacy tokens are the real thing, and Monero’s probably the oldest and most popular. I don’t see this happening anytime soon.

Getting serious about crypto yields

I’m a degen now.

I finally took the plunge, after a couple of test runs with Yearn, Sushi, and Harvest, and finally dumped a significant amount of capital into yield farming. Bankless published an excellent guide that I read this morning, and since the yETH pool is still closed, I decided to dump my stash of USDC tokens into Curve’s sBTC pool, and then staked it on Yearn where it’s now gaining upwards of forty percent ROI. We shall see.

The entire process was relatively painless considering the stress I went through with my previous forays. Zapper made the process even more so. It did most of the heavy lifting to get my Curve tokens, then I just had to stake them on Yearn, which was another step. And the gas used was only about half of what I was expecting, so yay.

Time will tell how long this DeFi madness can go on. I’ll probably take a breather for a bit and watch what happens. This feels like a pretty big step but I don’t want to go crazy right off the bat. I’m still reading through Mastering Ethereum, and it’s obvious that I’ve got a long ways to go toward understanding how all this stuff works, so I’ll just take it easy and get into it the same way I did with crypto: slowly.

There’s a first mover/early bird advantage to these markets, but I shouldn’t expect to keep getting lucky. Capital preservation is the name of the game. I’ve been so focused on it lately, and have been very aggressive with my equities positions. In addition to Overstock last week, I also had Tesla and NVidia stop out on me this week, so I’ve got a lot of cash available in my retirement account that I can deploy on more speculative bets. (Like I haven’t dumped enough on mining companies already…)

I’m continuing my value average program, but have also put stops on some of the ones that are running hot. Take profits. Hopefully that won’t come back to bite me if we actually get inflation. I’m just waiting for a broader pullback.

I’m keeping an eye on the ETHE premium. I’ve opened a small position, set some stink bids, and will scale in as I can while protecting my capital. The last week or has seen some crazy runs, I swear I must have gone up thirty percent and down fifteen in the last month. It’s insane.

If I’m going to make a living out of this then I need to keep calm and remember how to protect my positions. My equities trades are tax-exempt, but my crypto gains are going to be taxed like hell if I make any big moves. So far I’ve avoided liability, since my trades have been at a loss, and I haven’t opened any positions that have required stops yet. We’ll just wait for the market, buy low and ride it high.

Black Thursday

Today was a good day, unless you count what happened in the markets.

This morning actually started out pretty good. My four-year old slept in her bed for the first time ever, and both my wife and I had the best night’s sleep in a long time. Everything was pretty calm around here and I managed to get a lot done.

Bitcoin took a huge dump today, but so did most of my equities positions as well. I was actually pretty calm about it, as I had some stops trigger over the last couple days, so I’ve got my bigger positions protected. I even picked up some more Grayscale Ethereum Trust, $ETHE, as the premium held, and DeFi isn’t going away anytime soon. I was actually pretty calm about it. Staircase up, elevator down.

I had a couple stops set on $ICX and $LISK from last week, it looks like both of them triggered, but neither of my recent buys hit my stops, so that’s good. I picked up some $ALGO today as well, and Cosmos, $ATOM, just hit a nine on the TD Sequential, so I’m probably going to market buy some of that as soon as I get done writing.

I did spend some time fretting about my USDC holdings which are currently just sitting in my wallet. I’m half tempted to dump them in Yearn, but with the gas costs I’m probably just better off dumping it back in BlockFi. I am however, at total risk of becoming a degen and dumping my entire ETH holdings in the new yETH vault, with it’s shiny 99% APR. Thankfully I missed the withdrawal window to get my funds out of BlockFi until Tuesday at the earliest. Waiting is probably a good thing right now, so I’ll do nothing.

I spent some time reading over the Ethereum yellow paper today, and I plan on spending the rest of the evening Mastering Ethereum as it were. I want to be able to read these contracts and understand exactly what they’re doing before I go and do anything stupid.

And I’m really feeling the urge to do something stupid. I got a notification from my student loan issuer yesterday. The debt forgiveness has been extended until January 2021, so I don’t have any debt or interest to worry about till then. But I have an extra $600 a month that will be coming due then, and that is going to be a real big problem for me unless I take another job — or choose one of the other payment plans. The possibility of raking in some of that sweet, sweet, yield farming money is looking really, really good right now. If I was willing to dump all of my BTC into ETH and stake it, I could pretty much retire right now.

I know it won’t last for long, and I would rue the day I was born if I did something like that and lost everything to something like a contract failure or exit scam. I’m taking it real easy right now, and trying not to get caught up in some stupidity.

At least for now.

Slow day

Markets were down all day, so today was a chance to catch a breather.

So the Yearn.Finance ETH vault went live earlier today, and I managed to stake a small position plus another twenty dollars in gas fees. Apparently they’re depositing the funds in Maker, using it as collateral for a DAI loan, then depositing that on Curve, earning CRV tokens, selling those which goes back to the ETH pool.

I’m comfortable with these little 2% experiments and consider it as a sort of tution. Unchained covered why DEXs are taking off in this latest episode, and they really break things down quite well. It’s worth a listen.

I’ll admit I didn’t get a lot done today, I stayed up too late last night and got woken up too early by the kids. They were quite a handful today and it was tough trying to get some work done while nursing the lack of sleep.

About the only thing I did do was re-opened a position in $ZRX.

This isn’t ideal, considering that I just stopped out this position less than a week ago, but I want to explore picking up positions on the TD #9, before it closes. I’m still trying to flesh out the “rules” about how I’m going to set stops on these positions. Damn Binance and the lack of decent trailing mechanisms. I’ve got a lot of work to do to code these things up.

Using my Google Sheet trade calculators has become very cumbersome given that the CryptoFinance module that I had been using for price feeds no longer works. I had built custom API lookup scripts for some of the smaller markets in my mining portfolio, but it’s just too cumbersome keeping those together between various sheets. So I think the time is nigh to convert those over to some sort of Python program, maybe with a web front end.

I’m not sure how much work that’s going to be, of course.

All of this DeFi madness did get me to pick up Mastering Ethereum, which I started reading through today. Things seem to have come quite a ways since I tried experimenting with things a while back, now they have a online IDE that lets you compile, deploy and test smart contracts on a local JS node. It’s pretty handy, and the whole thing is pretty damn handy.

SushiSwap FOMO

More DeFi madness.

Well I learned quite a bit about DeFi today, and things really escalated quickly after I succumbed to a bit of FOMO. Thankfully I didn’t go too crazy.

I’d been seeing news earlier in the day that Uniswap, a ERC-20 DEX had broken $500 million in volume, and then read some info about SushiSwap, which is basically going directly after Uniswap. Uniswap operates by providing fees back to liquidity providers. Then this tweet happened:

And that’s exactly what SushiSwap is.

The developer behind SushiSwap, the anon Chef Noni, describes it as Uniswap with Sushi tokenomics. LPs are provided with rewards in Sushi tokens, but the main difference with UniSwap is that LPs can withdraw their capital and still earn rewards by holding Sushi later on. Right now, they’re just stealing liquidity directly from Uniswap, but the plan is to launch their own native pool in the coming weeks. In the meantime, as an early mover advantage, they are providing 10x staking bonuses to LPs, and another 5x to those that stake the SUSHI-ETH Uniswap pool.

The project launched just 72 hours ago, and already has $57m in liquidity with over $99m in volume. The SUSHI itself has gone from $0.90 to $6.00 in that time. The context here of course is YFI and other DeFi tokens that have had 10,000% gains in the last month. Could SUSHI see a run like this?

Obviously, the risk/reward here for a small stake seems immense, so I decided to give it a shot and see what is going on. SUSHI was trading around five or six dollars earlier, so I decided to throw some ETH at it. I made a bit of a mess at it, but I eventually got it figured out.

In order to be an LP on Uniswap, one has to provide equal amounts of assets on all sides of the pools. In most cases, it’s just two tokens, like ETH and DAI, but in others it might be three or even four tokens. After pooling your assets you’ll be provided with the relevant Uniswap token for the pool.

Of course the point to these pools in the first place is to facilitate swapping between the pool currencies in the first place, so the first thing I did was use Uniswap to purchase SUSHI. I wanted to stake in the highest paying pool, which is the SUSHI-ETH one. You can follow along with this guide here, but please check the contract addresses before sending any funds. The SUSHI token contract address can be verified here.

From there it was just a matter of adding my newly acquired SUSHI to the pool along with an equivalent amount of ETH. And this is where I messed up. Uniswap attempts to calculate the exchange rate between the two currencies before sending the transactions, but the volatility of SUSHI was too much for Uniswap’s default slippage percentage of one percent. My first two attempts at the conversion failed, wasting about ten dollars in ETH, before I raised the slippage to ten percent and it went through, giving me SUSHI-ETH Uniswap tokens.

I now was an LP in the same pool that I had just used minutes earlier to exchange my ETH for SUSHI in the first place. The conversion was not one-to-one; five SUSHI and equivalent ETH netted me 0.540 LP tokens.

The next step was to stake my SUSHI-ETH LP tokens in SushiSwap. This also took a fair amount of gas, but managed to go through at a fairly low rate. All in all I staked sixty dollars between ETH and SUSHI, and over twenty dollars in gas.

I’ll admit I got really wrapped up into a severe case of FOMO while setting all this up. Thankfully I’ve calmed down and managed to refrain from any additional buy-ins. DeFi is moving very, very fast, and I found myself in bit of a mania today. Thankfully I’ve managed to limit my exposure to just a hundred dollars.

Still the urge to go and swap a couple hundred dollars of stable coin or ETH is still there at the back of my mind. I just have to keep telling myself: risk management risk management risk management. I might wake up tomorrow and find SUSHI up 10x, or down to pennies. Either way, things are moving so fast right now that I’m sure there will be plenty of opportunities to deploy more capital in other projects. The last thing I want is to run out of dry powder this early in the game.

I’ve been so obsessed with the price of BTC the last few weeks. DeFi is the only thing that’s managed to keep my attention off of it for half a day or more, but it’s fueled a whole other obsession. We’ve still got four whole months left in 2020 and it seems like it’s going to be a doozy.

Yearning DeFi

High contract fees on optimized lending platforms may be roadblocks for casual retail investors

I spent a good deal of time researching DeFi yesterday, mainly trying to figure out what the hell Curve and YFI are.

I’ve spent several months with deposits on BlockFI, where my crypto and stable coin assets are making between six and eight percent interest. It’s decent, compared to bank deposits right now, but I keep coming across these insane valuations on certain lending protocols, upwards of twenty five, sometimes as high as one hundred percent APY. What is going on, how risky is it, and how do I get in on the action?

Most of the lending protocols, take Compound for example allow users to deposit certain tokens, such as DAI or ETH, and receive interest on these deposits. Alternatively, users use these deposits as collateral for loans with which they can receive other tokens. BlockFI offers USD loans as well, at rates around nine percent.

I’ve never found a reason to participate on the borrowing side of these platforms. Apparently people use them to make short-term trades, possibly staking them on other platforms, but that’s been a bit risky and complicated for my tastes. I’ve stuck to the lending side of these platforms, becoming what is known as a liquidity provider, or LP. (I think it’s interesting that this acronym mirrors one from venture capital, for limited partner. The comparison is quite apt.)

One of the reasons that I settled on BlockFi for my deposits is that they are more aligned with traditional finance, and I feel a bit safer keeping my funds there than with a smart contract that could be susceptible to the usual risks such as code vulnerability. (See the DAO hack for an example of this.) The other is that they had higher rates than Compound and some of the other competitors. At least, they did.

And that’s where these newer DeFi protocols come into play. Curve is one smart contract platform that automatically maintains users’ funds in whatever system is offering the highest interest rate. This is done automatically whenever someone interacts with the contract by depositing or withdrawing funds. The advantage here is that LPs don’t have to deal with it manually and also save gas in the process.

The downside is that it is relatively expensive to interact with these contracts. I did a small test transaction today, exchanging LINK for Aave’s aLINK token, which I then deposited in a Yearn Vault. I paid almost $90 in gas between the two. Since the fee is flat and not based on the amount of funds, these types of systems are geared toward larger liquidity providers. (As of this writing, Curve had over $800 million in funds in its stablecoin liquidity pool.

Platforms like Aave, Curve, and Yearn are some of the most cutting edge in the DeFi space right now, and I’m just getting familiar with them. There is a lot of risk here, as we are talking about some uncharted space. Not only is there risk of contract failure and security audits that need to be done on these contracts, one tutorial described some of these governance token staking as the “derivative of a derivative of a derivative”. And I remember what happened in The Big Short.

I’m going to pause before I send any more funds into one of these platforms, until I can do some more research and weigh the options. This is clearly a space for large liquidity providers, and may be more than I am willing to risk at the moment.