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.

Morning pages

Lambo1, my six-GPU cryptocurrency mining rig, is operational again, fans running incessantly across the room. After a false start with RaveOS, I was able to get it up and running with SimpleMiner yesterday, finally getting it up and running mining BEAM, which is a new one for me. Getting it up and running was a bit of a challenge, both the node and the wallet. Apparently the wallet has to be online to receive a transaction, which is an issue with mining pool payouts. I’m not happy with my setup, running the node on my downstairs server with it’s old five hundred gigabyte SATA drives. I’m tempted to stand up a new cloud server to run all these blockchains, and I very may well do that since I have some Visual Studio Azure credits that I can put to use.

Bitcoin finally broke out a bit this week, ostensibly because off stimulus packages in Asia and the US. It’s a modest breakout, but we’ll have to wait and see if we threaten $10K again anytime soon. Patience.

Last night I combed through seven years of brokerage statements, making a spreadsheet of transactions that didn’t carry over from the Scottrade/TDAmeritrade merger. I want to add the activity to my total realized gains, so I can gauge my performance. My post-merger activity has outperformed the SPY by a significant margin since 2018, but carries a lot of purchases from before the merger, and I want to incorporate the gains and losses that I took before then. I haven’t finished calculating the numbers, however just looking through the transactions brought back a lot of memories, some good, some bad. There were a couple sales of some strong positions that I used to finance some other purchases that haven’t worked out well, so I might need to add some opportunity cost calculations to my spreadsheet. Also missing, dividends. There were just too many to go through, but I will likely need to incorporate it somehow. I’m wondering if there’s a proper application that I can use to incorporate all this historical data, or if I should write some custom software. After I figure all this out I want to dig up another, closed brokerage account going back to 2003. I’m sure I’ll be embarrassed by what I find there.

I finally registered my business as an LLC yesterday. I can’t even say how long that one has been on my list, but now I’ve got to prepare some documents before I kick off any of these new projects that I have to do. Only one of them is actually for hire, but I need to spend the time developing the documents for the next one, before I get sucked into another off-scope

Now that the last WordPress project is off my list, I’m enjoying being able to spend some time pulling whatever I want from my Kanban board. After having that project on there, staring at me for several weeks, it’s exhilarating to be able to work on something that’s not urgent. Seeing my rig sit there for weeks was starting to bother me, so I’m glad it’s back to work. There’s still a lot of work to be done. Being able to pull tasks from my backlog instead of having them pushed on me is a different type of feeling, and I like it.

Waiting for the season… altseason

red vehicle

A couple altcoins are seeing action. Are they signs of things to come?

I don’t even know where to start this morning. It’s a new month, and it feels like I’ve got twenty things going on. I spent most of yesterday working on my client’s WordPress project until I was burned out, then I grabbed my iPad and started reading through the WordPress developer documentation until I was ready for bed. I woke up bright and early, and here I am.

I’ve got a lot to dig into today. For Zombie, LLC, I’ve got a remote worker who’s laptop is completely hosed that I’ve got to deal with, a Github implementation and server hardware replacement project that I’m trying to close, and I’m also trying to get onboarded with Apple Business Manager so that I can handle mobile devices for another client. That’s on top of the weekly call with my WordPress client. Plus, I’ve got several tasks for my other retainer client that I need to get on top of. Domain SSL cert renewals, end user email problems. This is the life I want, I suppose.


I turned off my mining rig for the second time in as many months. I had been trying to manage it remotely via HashR8 OS, but couldn’t figure out how to tell which mining pool it was working on. Answer: neither. HashR8 is apparently rebranding as RaveOS or something tomorrow, and I just didn’t have time for it yesterday so I just shut it off. My cards are two and a half years old 1070Ti, and I’ve just blindly been mining Arrow for some time now. I still haven’t dumped any tokens that I’ve mined since I started, and stopped tracking daily values months ago. I check it once or twice a month now, the values of the tokens have been sitting around one third of the original hardware costs for a year now. Apparently Haven has been on a tear lately, since they’re supposedly a month away from going live with their offshore features. We’ll see if they can keep this price action up for long.

XHVBTC price

The Mayer Multiple number (orange) in the bottom pane is the moving average of the current price divided by the 200-day exponential moving average. The current EMA multiple, over four, is quite significant. I went back through and look at the past couple years of the tokens that I’m tracking in my watch list, and most of the short-term parabolic runs only see about one and a half on the EMA multiple. There’s a couple exceptions though, ones that have gone higher, but my point is that those high numbers aren’t sustained for long due to the simple fact that the averages will eventually rise to meet the price level. If I was a trading man, I would probably unload some of my XHV right here and wait for a pullback till the price hits the current plot line. The price could actually be higher by then, of course, it all depends on whether this is the start of a new bull run or not. My position in XHV isn’t significant enough for me to take action at this point. We’ll see if there’s another alt season or 10-100x left for XHV.

While we’re on the subject of altcoins, I do want to note that I am having some serious FOMO around two other tokens, REN, and LINK.

RENBTC chart

REN, as you can see, had a nice run that peaked in mid February of this year, at a 1.8 EMA multiple. It then bounced off of this EMA multiple EMA, before launching again, where it’s currently just over 2x.

LINKBTC chart

LINK has been on a tear. I bought a very small amount during the ICO and really wish I had gotten more. My point to this discussion, though, is that again, is that each parabolic run is followed by a pull back, and one could have made some nice sting trades buying these dips to the EMA, and selling these peaks, around 1.8x.

In fact, my strategy for our next Bitcoin run, if and when it ever happens, will be triggered by Bitcoin’s price in relation to it’s EMA multiple. Most of the parabolic runs have peaked at about 1.5x, but the run in late 2017 that saw it go from five thousand to twenty in just forty days hit 2.88. Based on the current price, I would predict a fast, parabolic run would put us around $25,000-32,000. That said, I’m not planning on unloading all of my holdings. After holding all the way up through the last bull run and subsequent drop, I told myself that I wasn’t going to make the same mistake next time. A price value at 2.88 times the EMA multiple would likely be a local top, and I’m going to take some profits this time.

Generally speaking, I don’t have enough of any alts to worry about it at this point. I’ve got a lot of ETH locked up in BlockFi right now, along with a stake in IDEX that seems to be doing well right now. I don’t know if we’re going to see altseason again, but the action in XHV, REN and LINK are very promising. I’m just waiting for their granddaddy, BTC to show them the way first.

Quarantine incoming

I hate to write about COVID-19 again, but it’s probably one of the most important things to happen in my lifetime at this point, so I might as well go on about it. Hopefully I’ll be able to look back on these posts in a few years and … reminisce?

Bitcoin has lost around fifty percent of its value in the past few days. Equities markets are in free fall as well. Not even the NYSE’s circuit breakers nor a 1.5 trillion dollar promise from the Fed this morning could stop it. I think I’m handling it extremely calmly. I expected an end to this bull run for some time, so I’ve been sitting on some cash, in my IRA, and have been taking a large position in GBTC. I must admit BTC’s fall has me a bit taken.

Two hour chart for BTC. A year of gains wiped out in a day.

Right now I’m not changing any plans, as far as investing goes. I’ll continue my DCA targets, including buying some BTC tomorrow for the cold wallets, as well as my daily buy orders for the few stocks I’m scaling into. More GBTC on Monday as well. Thankfully, I decided to allocate some short term savings to my upcoming bills, so rent, car note and credit card payments will be good for the next month.

Beyond that, who knows. My wife has some security with her Federal job, and I can work from home, but I don’t think my boss can stay in business much longer. We’ve had too many clients get bought out in the last few months, and it’s been a while since we signed a new account. It’s time to update my resume and find something to do.

One of my clients is a pediatric dental office, and they said they’re running out of face masks, and are unable to procure more. Can you imagine? Doing dentistry without a face mask? I don’t know who that’s worse for, the hygienists or the patients.

Watching all this unfold on Twitter has been crazy. Trump’s failure will likely go down in history next to Nero’s fiddling, and it appears that he’s sick as well. Last night he caused chaos by announcing a travel ban to the EU, but then had to issue corrections to he speech in the hours after.

There’s still a segment of the population that is in denial about this. I’ve got a small sample size to go on, but most of the people that I’ve interacted with lately are ho-hum about this thing right now. My wife, my youngest, and myself have all been nursing various symptoms over the past week, runny noses, sneezing, coughing, low fever, you name it. I’d say it was just a cold if I wasn’t naive. All I can do right now is make them wash their hands everytime we get in our out of the car and keep them away from old people.

I had to run errands today. After I went to do a job at the aforementioned dentist, (no patients, thankfully), I stopped by the grocery store to stock up again. I’ve spent about six hundred over the last two or three weeks, stocking up. After I got home I had to run to the tire store to fix a flat. I took my youngest, home sick, to give my wife a break for a few hours. We picked up her sister and went to the playground to let them blow off some steam, and the library to stock up on books. I feel slightly guilty about it, but I have to choose my battles. It’s not time to lock down yet, and when it is, it’s going to be hard enough.

My university, and most of the others around the state, have extended Spring Break another week and will be going to all online classes. The local school divisions haven’t done anything other than cancel sporting activities. The governor has declared a State of Emergency. There are several confirmed cases in the region, but I don’t think we’ll be seeing the brunt of it for another week.

My wife and I seem to be in a detached state of inevitability about things. It’s like we’ve prepared for a hurricane that’s bearing down on us, but even that metaphor falls flat. the next couple weeks will be very, very difficult for a lot of people. I don’t know how bad it will get for us; I imagine the financial repercussions will be more severe than any health issues. I just hope we don’t lose anyone we know.

Estimating GBTC price from BTC after-hours activity

Grayscale Bitcoin Trust (GBTC) is the name of a publicly traded OTC investment product listed on the public OTC markets. It’s a way for US investors to take a position in Bitcoin through brokerage and retirement accounts like IRAs. A lot of OG crypto-types scoff at the prospect of purchasing such an asset, since you don’t actually control the BTC or the private keys, but for some this is an attractive option, or an only one. I’ve been personally taking positions in GBTC over the past 3 or so years through my retirement IRA. One of the most underlooked qualities of GBTC through an IRA is that all transactions are tax-free. I can take profits in my IRA at any time without worrying about tax liability, which is not something I can say for my actual crypto holdings.

Two of the downsides of GBTC is that Grayscale takes a two percent management fee. This isn’t a big deal to me because of the expected gains in a bull run. The other is that there is a premium on GBTC over the underlying asset value. Each share of GBTC represents .00096884 Bitcoin, but the GBTC’s price is usually 30-10% higher than the value of the underlying asset.

One of the main differences between the equities and crypto markets is the fact that crypto is 24/7. Often, during times when BTC has made a big price movement, I’ve wondered what the corresponding change in the price of GBTC would be (and in my portfolio!) So, I have written a small Python package to calculate this that I call GBTC Estimator.

I have it setup to get public BTC prices from Gemini (via the excellent CCXT package). Right now it’s using IEX’s daily GBTC data (and required an IEX API key), so it only has access to daily OHLCV (open, high, low, close, volume) data. We take the close price of GBTC, and divide it by the price of BTC at the same time (4PM EST) to come up with the actual BTC per share. This number is then used with the current BTC price to come up with the estimated GBTC value.

This current version is run from the command line and returns the estimated price as well as the difference from the last close in dollars and percentage. I have plans to put this up as a website that updates automatically, but first I think I’m going to do some backtesting to see how accurate this is. I think there may be some arbitrage opportunities to be found here. I’ve already started refactoring and will have more updates to follow.