What a difference a day makes

So yesterday was a pretty good day.

No one was on the team call yesterday, so I hung up quickly. It was good Friday and our office manager was on holiday. Bossman called me shortly after to check on me. I had a couple tasks to wrap up two projects, there wasn’t anything urgent going on. He asked me about my Easter plans, I had none. I started thinking about our beach week in August, and dream plans to fly to Costa Rica in the winter. You know you’ve got two months left to replace me, I told him. Ya, he said. It seemed his tone deflated instantly. Now that I had said it, there wasn’t much else to talk about, but my mouth went on for another minute while my mind wandered. We hung up and I sent an email. I don’t think I did any more work the rest of the day.

I spent the day flitting through Discords, Twitter, watching charts. ETH hit two thousand, so I put a one-percent allocation into FLI, a 2x leveraged ETH token. BTC just seemed to ignore everything, as it has been doing for days, trading just under sixty thousand, toying with us all. I’d been looking for stablecoin yield for days, trying to figure out where to put the last couple allocations of USDC. I had miscalculated my boost on the mStable pool, and wound up getting none for all my trouble. I decided to offload the majority of my safe A tranche to my Voyager account. It’s 9% right now, and it would be liquid if I needed it. No unstaking fee or gas costs other than a standard token send. Once BlockFi actually starts offering their debit card I can move funds there for groceries and things.

At some point during the day I saw a Tweet for the Bitcoin2021 conference in Miami the first weekend in June. Hmm, I thought to myself. I’ll have left my job, I’ll be vaccinated, and my birthday will be the following Monday. Seems perfect. Missus an I have a bunch of air miles from one of our credit cards that we really want to use as well, so we don’t even have too worry about airfare. I checked ticket prices and airfare, hotel costs, then went up to ask Missus about it with a huge grin on her face. With the kids? she asked, annoyed that I was bothering her with one of my far-fetched plans. I’ll call my mom then and see if she can watch them.

Sure, she said, rolling her eyes at me. My mom hadn’t seen the kids but once since COVID and always seemed to have better things to do than come see her grandkids. Call you mom to come watch the kids. She assumed that was the end of the conversation.

I called my mom. She was actually free that weekend and said she would come down and watch the kiddos while we were gone. I was actually suprised.

A phone call with my mom a few minutes later and was running back upstairs practically jumping. We are going to Miami! We spent a few minutes working out plans, (Bitcoin2021 for me, spa day for her, after party for both of us,) before her anxiety came back.

I’ve been burned by you before, she told me referring to a thirteen month stint on unemployment that I did before we had kids. I spent most of it smoking weed and playing video games.

That’s not going to happen again, I told her. Nothing’s going to change. I’m going to be right back down here, every day at 9AM working on other projects. I had already been in contact with several projects that week that needed technical writers, support staff, and developers, I would be busy one way or the other.

What about our mortgage and your student loans?

I’ve got eighteen months cash on hand, if I have to pay the mortgage off on June 1 to make you happy, I’ll do it. I had enough BTC on hand to do it right then, but I had told her so many times that the opportunity cost to sell now is just too great. I don’t know how much different I’m going to feel in June, but I’m mentally preparing myself to cash out half of my IRA if I need to. Student loans aren’t even due until September, and if I need to pay that off in a lump sum then so be it. I’m holding out till then. I assume Biden will erase some of it by then, or do some sort of plan to kick the can down the road.

I saw a shift in her demeanor, a little tilt that I was winning her over. She’s been having a hard time accepting what I’m planning, and every day for the last two weeks or so has been a series of skirmishes as I move forward with my dogged determination. That’s the dream, I had told my mom earlier. Don’t let the dream become a nightmare, she had responded.

I was ecstatic the rest of the day and we put the kids to bed late.

So today I plan on doing my usually monthly bookkeeping tasks for the family accounts, Moving the girls’ LendingClub accounts to their BlockFi via my bank, and balancing the joint house account. I’ll need to book those tickets, after I figure out how to pay it. Travel and lodging will be covered by air miles, but I’ve also got to book those Bitcoin2021 tickets. There’s a $50 discount if you pay with Bitcoin.

Not today, though. Not today.

Last frost

We had a bit of a dip in temperature last night, which hopefully will be the last frost of the year. My wife and neighbor were talking about their garden plans last night over Thai food, and I’m almost done planting the seeds of what should be a very lucrative yield farm come this next DeFi summer.

Okay, I promise no more contrived metaphors, at least for the rest of this post.

The market seems ready to explode. BTC has been edging $60k, ETH at $2000 as I write. Funds are moving off exchanges left and right, miners aren’t selling, and there’s all kinds of spoofy sell wall action going on. I am a lightning bottle of excitement. I’m considering moving some funds to Index Coop’s FLI token, which is a ETH 2x leverage token. BTC dominance is falling though, so it seems like alt season is in full bloom. There are tons of projects launching that I’ve got to vet in the coming days, and I also discovered that I qualified for a couple airdrops that I didn’t know I had, UMA and Popsicle.Finance ($ICE) on BSC.

I finally bought in on the FEI Genesis event. I went 100% to the TRIBE governance tokens. I figure the chance of making a huge return on the FEI mint is going to be low. It looks like the first mint is going to be well on the high side of the bond curve, people might wind up paying $1.01 for FEI. TRIBE is either going to dump, or it’s all going to get locked up and people are going to buy more and it’ll moon. If it dumps I’ll just go long with governance, if it moons I might take my initial capital out. One thing I did confirm is that the FEI burn/mint incentives don’t apply to the FEI/TRIBE pair, so that may be a loophole that we need to look at. Unless there’s an incentive for the LP, which there isn’t from what I’ve read, then I’ll be staying out of that, and looking for opportunities to mint FEI if it falls on the bonding curve. You’ve got another day or two to get in on the action, all Genesis participants will get a pro rata reward of 10% of TRIBE tokens.

I deployed funds for the B tranche into mSTABLE yesterday. I’ve been following the project for some time, but a few days ago they launched their own pools for mUSD/BUSD and mUSD/GUSD. The BUSD pool was over 100% APY yesterday, but seems to have dropped significantly overnight, however there’s a 3x bonus if you’ve staked enough of their MTA token. You lock it up for vMTA, similarly to CRV/veCRV, to get voting rights on the DAO and earn the higher APY. I did the math on the vMTA needed to get the boost, so I locked it up for nine weeks and deployed funds.

So with regard to the emergency fund, (I’m still not sure whether to call it that or reFIREment funds,) we are almost fully deployed. I’ve got one more allotment for the A tranche to deploy, plus some spare funds that I may keep at the ready for anything super-risky that comes out. I think I may put the rest of the A funds in something like BlockFi or Voyager, just so they’ll be liquid. If BlockFi ever gets their debit card out, I can use those funds to buy groceries while earning interest in BTC. It’s not quite enough to live off the interest there, but when I do quit my job I will need some source of liquid funds.

I’m not really sure what else I’ll be working on today. I’m deploying funds in some pretty obscure projects, so my Zapper balance has been dropping off. Checking balances on some of the untracked coins and vaults will take a few minutes to update my spreadsheets for an accurate snapshot. Then I’ll probably do some research on some of these other projects.

I’ve got a few more seeds to sow.

April Fools’ Day

I have no jokes and am lame. Alas.

New Curve rewards rates went live. I’ve got funds in the Yearn IronBank vault making the highest reward rate. I’m wishing I had done the same with this USDP vault, but it’s $200-300 in gas to unstake. Whoops. Guess I’m in it for the long haul and will just have to keep farming. Learn from my mistake.

I also moved into the Ellipsis.Finance pool on BSC. It took some work to move funds over to BSC, it involved a VPN, Binance, and several test withdrawals to make sure that I was doing everything right. Gas was 300 gwei and I didn’t want to take a chance with the BSC bridge, so CEX was the way to go on this. It was nice once I was on there though, being able to stake funds for pennies.

I feel like I might be a bit late to the party. The 3pool APY is already down under 100% APY. My plan was to stake the EPS shares for that ridiculous gain, we’ll see how it goes. These funds are part of my high-risk C tranche. Ellipsis is a sanctioned clone of Curve, so I assume more assets will be moving there. I’ll be taking a deeper dive into BSC projects, and probably other cross-chain projects like Matic in the future.

I’m continuing to farm in Integral as well. APY is up in the air as there’s nothing to trade right now. This is my other C tranche. They originally had a dollar value based off the pessimistic APY, but removed that when they added the optimistic APYs. Trading should go live in a few more days, I expect. They’ve got $600m in liquidity right now, but are trying to be careful with the rollout.

The FEI Genesis launch is live. There’s about two days left, at which point all of the deposited ETH (currently 85,000) will be converted to the FEI stablecoin as well as TRIBE governance tokens. By default, Genesis participants will gain a pro-rata share of 10% of the TRIBE tokens, but they can also elect to pre-swap their FEI for TRIBE tokens. Right now over half of the deposited ETH is set to pre-swap. The game theory here is what’s going to happen when the liquidity pool goes up. Will TRIBE dump as Genesis participants unload on the pool, or will it moon as more people buy TRIBE to stake LP? Who knows, honestly, I’m not sure what the play is here, and I haven’t committed any funds yet. This is too risky for my stablecoin fund, but I may consider a two percent allocation from my other holdings. I still don’t know whether to go all FEI with the pro-rata TRIBE bonus, 50/50, or all TRIBE. I’ve still got two days to figure it out.

Morning notes

So I read this “Roadmap for the Future” post last night and it’s all I can think about since I woke up this morning. There are about four or five replies chained to this thread, so it will take about twenty minutes to read. Other than a few points about the long-term ramifications of UBI, I think the piece is spot on. I’m waiting for a hard copy to share with friends. This is basically the resignation letter that I’ve been wanting to write.

I’m going to break this down later. As the FEI launch is later today and I’ve got a lot of catch up to do to figure out whether and how much I want to allocate to the launch. An associate of mine said he’s deploying $25k, but I didn’t ask what sort of risk management he’s got on that. Smart contract repos and audits are available, as well as several medium articles, so I’ve got a lot of catching up to do. I was able to get in touch with the man behind DeFiSafety.com, and he gave me permission to use his process quality report. It’s mainly a deep dive into code coverage and test quality. He said he’d be willing to post my contributions on his website, so that’ll be nice. I started working though Integral yesterday, but the repos aren’t available yet.

I’ve deployed half of my B-risk tranche into the Yearn Iron Bank vault after seeing this tweet from one of the Curve devs:

For those who aren’t familiar, the range shows the CRV rewards on vault deposits. You have to stake CRV (veCRV) to get the higher boost, but the Yearn vaults earn this and compound their rewards. I’d be stupid not to put funds here, but I’m sticking to the framework that I’ve established and not going all-in. This is almost a C-tranche deposit, as the Iron Bank is very new, but Yearn/Curve are established player. These rates are only good for two weeks, which equates to about a 70% return during this period. If my numbers are right, this should return roughly the same amount I’m anticipating out of the A-tranche over the entire year.

Ape indeed.

Refirement update

Spring seems to have arrived. Missus mentioned seeing a beautiful blue jay and robin flying around our deck a few days ago, and this morning I noticed the latter flying around the trees in the backyard. It’s still a bit chilly in the morning, but we’ve had several very warm days already this month, and I’m pretty sure this summer will probably be one of the hottest on record. Maybe reduced economic activity from COVID will have an impact, we’ll see.

I’m not really focused yet this morning, despite the chai. I got to a very critical part in Shantaram last night and couldn’t put it down, and didn’t fall asleep until after midnight, but I do feel pretty well rested. It’s amazing how much better I feel when I don’t drink a six-pack of beer, I don’t know why I keep falling back into that habit.

I’ve got a couple articles that I want to write. My personal update, the draft title for my “retirement” announcement, has been open in this web browser for over a week, and I don’t think I’ve looked at it once in the two weeks since I started writing it. Missus and I keep fighting about it. I’ve also got things I want to write about my USDC farming, a report on this Integral launch, and I want to help the GridPlus team build out their documentation.

But there’s work, and there’s the main reason that it has to go. I still have several projects that I need to wrap up before I can consider it a clean break. April 1st is Thursday, and that gives me sixty days to retire. (I’m pretty sure I started my Sixty to Six Figures goal around this time last year, if I recall..) Missus is still mad about it, or at me, rather, but keep oscillating in how she express it. She’s always lived the responsible life, and has been my cornerstone in many ways over the sixteen years we’ve been together. She’s been following the simple path to wealth, to borrow a phrase, putting in her years at her government job with an eye toward a pension. She’s halfway there, but the golden handcuffs are becoming more and more uncomfortable.

I’m trying to do everything I can to convince here that I’m not being irresponsible, but she’s seen me self-destruct several times over the years: a failed business, thirteen months on unemployment; I’m basically one for three as far as holding down a job has gone since we’ve been together. But also during that time we’ve had two kids, bought a house together, I’ve run for office twice and finished my bachelor’s degree. So it’s been an upward trajectory.

Her main concern is that I’ll revert to late-night drinking and video games, while she’ll be stuck holding down a real job so that she can provide health insurance for our family, which she’s done for the near decade that we’ve been together. It’s a valid concern, but not one that I’m worried about, as I’m confident that I’ll be able to hold things together. But it’s also true that I’ve been doing the brunt of managing the kids and household during COVID, playing peacemaker, cook, and tutor for the kids while she’s on the clock, locked in the room upstairs. The health insurance question is something I am struggling with though.

Her other main objection is our mortgage and my student loan debt, the latter of which is suspended until September. No telling what the Biden administration is going to do, but there’s no way I’m paying a dime of that off before it’s due. I thought that having eighteen months’ expenses in cash would be enough to assaugue her concerns, but when I filled up the little fundraising thermometer on our fridge’s whiteboard I think it actually set her off. “I’ve got $x in cash, does that mean I can retire too?” she asked.

Based on my early calculations, I need around $1.2m in capital to hit my FIRE number — monthly expenses * 300 ( or annual * 24). That was considering all of the mortgage debt. Just my portion, including my upcoming student loan payments, is about a million, and the high end case there is just under $1.4m. This FIRE number is basically what we need to live off of, considering a 4% interest annual gain. ($1.4m * 0.04 = $56k, which is slightly under my annual salary. Adding up all of our net assets, including my debts, our house and our retirement accounts, Missus and I blew through all of these numbers in the past six months.

DeFi has changed this calculation significantly. BlockFi and other crypto lenders are currently offering upwards of eight percent which cuts our refirement number in half. And even better yields can be found on chain, with Curve and Yearn vaults providing rates anywhere from 15-40%. These are the “safe” options. There are newer protocols and launches that are offering more than 100% APY, although these opportunities are fast and fleeting. A risk-adjusted capital allocation to these pools should be able to return between 33-63% APY, depending on risk allocation. I’m currently targeting the low end of the curve.

Maintaining an income is going to be a bit trickier. There are vault transaction fees that will make moving in and out of these positions a bit expensive, but compounding results will make this a bit easier to swallow. And we’re only talking about managing a fraction of my net worth. I’ve still got a lot of options available if I need cash. For that there’s the restt of my portfolio, including my bitcoin stash.

I’ve tried to explain the opportunity cost to paying off our/my debts to Missus. All she sees is the numbers on the board. As a percentage of net worth, it’s nowhere near what it was a year ago. (I need to add those numbers to our whiteboard.) I figure the next two months will make them even smaller. If bitcoin does what bitcoin does, then wiping that board clean come June 1 should be an easy decision. I could do it now, but I’ve already taken a considerable amount out of the market, and will wait for $100k BTC. Considering that I expect $300-400 BTC before the end of the year, I don’t want to convert funds too early, but my expedited timeline might make that a necessity.

Of course I have IRA funds available. Taking the early withdrawal penalty plus short term capital gains would seem boneheaded to your standard wealth manager, but I’d rather take the one-time hit and still have BTC on hand than sell the BTC and be relatively broke. The money in the IRA grew so fast thanks to GBTC, MARA, RIOT, and Voyager, so I have no problem taking the penalty on those funds to keep cash on hand.

So we’ve got at least two months for things to play out before I need to make any decisions. For now, I’ve got work to do.

A long day

full moon and gray clouds during nighttime

Today has been completely exhausting.

I went to bed early last night, tired, and woke up at 2:30AM. I decided to interrupt my usual insomnia but going downstairs to start my day as I usually do, but meditating, but I decided that getting in front of a screen to write would probably upset my circadian too much for any possibility of sleep, so I laid down on the couch and managed to fall asleep for another three or four hours. Blessed.

I got up, ready write, and checked my phone. There was a text from my friend, T. It said “well I got hacked. I’m done with crypto, best of luck.” Apparently he lost about $11k after someone on the DELTA launch Telegram referred him to a fake website. He wound up putting the private keys to his Trezor into this fake website, and all of his funds were promptly drained from his wallet. He’s fucked. The only thing still in his wallet was the DELTA itself, which is in some un-transferrable state until the vesting contract unlocks or something, so we’re trying to figure out how to retrieve this last $2400 of funds. Unless the attacker forgets about it, I don’t think there’s a way, but there might be.

I had planned to write a post about my USDC farming, but that will have to wait another day. I did manage to get in on the Integral launch, almost by accident. The basic plan behind it is to vampire attack CEXs. I glossed over the basics of it, it uses some sort of five-minute delay to trade off of the TWAP price on an exchange, or something. They didn’t have any single asset pools, but I figured the USDC/ETH LP was safe enough for now, so I put in half the high-risk tranche C funds into it, along with additional ETH. The launch was botched, but the team was communicative and promised additional airdrops and gas refunds to make up for the mistake. Right now I’m earning about 130% APY right now, even though the ITGR tokens have a six month vesting period.

I was actually going to stake some WBTC as well, but my Lattice1 has some problems pulling funds from the Float Protocol pool. Apparently the Float community decided to end the pool 1 staking, so now those funds are just sitting there. I’m guessing after that we’ll be seeing less of these mercenary liquidity type launches, so we may wind up taking more risk that I wanted to.

Speaking of risk-taking, my wife’s ease with my intended retirement plans changes daily. She’s really not comfortable with it and says that I’m “single-handedly ruining our marriage, but I think the numbers will speak for themselves by the time June 1 rolls around. I may even have a new job lined up by then, but I’m still hoping to pull something together to keep me working full time for myself. I’ve got to get these USDC funds deployed, then that can take a backseat to the other two main projects I’m working on.

I had to take an onsite trip for my real job today, a local non-profit had some phone issues or something, turns out they had some carpeting and painting done and the crew just ripped up all the phone jacks and left them hanging off the ceiling. I told Bossmang to make them an offer they couldn’t afford and move on. I’m so glad the window is closing on this one. Hopefully by the time Younger starts kindergarten I will be able to secure twice my salary if I do need to keep a job.

Macro-wise, the Ever Given has been freed, but the backlog in supply chain might screw things up royally. Some big hedge fund dumped about $20 billion in tech stocks today, but bitcoin went up as did my cryptoequity positions. So it was a green day for me.

Other than that, I took the girls for a bike ride to the park. It was about a mile and a half each way, and the girls played for an hour, I’m really proud of Younger. She’s decided that she doesn’t wear diapers anymore and has started putting herself to bed for the past week. She’s so big.

I don’t know how much else I’m going to get done tonight. I’ve got a headache, and want to get to bed on time and try and get tomorrow off on the right foot.

ReFIREment unlocked

Well, I did it. Last night I sold off the remaining majority of my BadgerDAO LP, and completed funding of my USDC retirement funds. I actually overfunded it by 14% to be honest, which will actually pay my mortgage for the next five or six months. The funds, which equate to my current annual salary, will be deposited into a variety of yield farming opportunities, and should fund my expenses for the next eighteen months or so. Having this vault of funds set aside will allow me to quit my current day job so that I can focus on crypto full time. If things go well, I won’t need to rely on the USDC funds at all, but will be able to live off of the rest of my crypto holdings through investing, trading, or ideally, launching my own products.

Now that this runway has been fully funded, I need to wrap up my risk assessment of the various staking pools and start deploying funds. I’m almost settled on the safest tranche of funds, the A tranche, and will probably move the first allocation of funds into the Yearn 3crv pool after I finish writing this up. The only question remaining is whether I will allocate all of the tranche funds into one project, or if I want to split it into two. It’s the difference between managing three or six allocations.

Once I have the A tranche deployed I can move my attention to the B and C tranches. I’ll probably require much more time to make these decisions. I’ll probably do some DeFi Safety assessments on some of the newer projects before I fund them. Or, I may reserve the ‘extra’ funds for aping into new launch projects. Decisions, decisions.

As I wrote yesterday, there is a lot of other things going on, and managing these investments is going to be a full time job, at least in the beginning. Staying on top of DeFi and everything going on is a time sink, this really is a amazing industry to be in.

I finally made the decision to sell my Badger LP after looking at the charts last night. I’d been monitoring the USD and BTC pairs, and had some S/R lines I’d drawn on the chart. I told myself that I would wait for it to break both charts to sell, and just got tired of waiting. It’d been falling against BTC pretty steadily for some time, and frankly it was just too much mental energy watching it twice a day. I still retain a modest share of bBadger, as well as staked Digg and Digg LP. I’ll probably hold that and wait for Badger to release CLAWS and their other products. It really is a wonderful community, and I made a lot of money with them, but my goals have shifted.

Last note: Last evening I attended a crypto meetup event. It was outdoors at the house of someone I met on Discord, and there were about seven of us in all, a few friends and several other people I’d met online over the last year. Most of us hadn’t been to an event in well over a year. It was good to chat with others, enjoy some food and talk crypto. I loved it, and had a great time. To think that in a month or two from now I’ll be able to hang out with people without worrying about wearing a mask. I can’t wait.

Galaxy brain

My head is everywhere this morning. Yesterday I finally got a wire through to an exchange, so I’ve got one-tenth of my IRA on exchanges right now, only a fraction of that is actually in my wallet. I think I may be going a bit mad. I need to put a capital allocation plan together pronto, as my mind is racing as to what to do with the funds.

My original intention was to allocate a 40/40/20 deployment to BTC/ETH/DPI, but I also was looking at deploying some funds to the MUG TokenSet. However, I’ve since become occupied with USDC yield projects, stablecoin projects, Uniswap sniping, and now, some Curve clone on BSC called EPS.

My life is being overrun with spreadsheets. And I’m getting a bit of choice paralysis as well, trying to figure out what to do, and what to focus on first. I don’t know if it’s my hangover, but my head is spinning with possibility. There’s so much I need to do, everything is moving so fast, and keeping myself centered is taking all of my energy. Trying to maintain a house and be a husband and father is almost enough as it is, but yet I have this, tearing my thoughts away. I feel slightly crazy.

  1. Retirement runway: I have just over half a year’s salary in USDC right now that is not deployed. I finished evaluating Curve pools yesterday and have figured out the safest option available, the 3pool. Getting the highest APYs will require staking an equivalent dollar amount of CRV tokens for up to four years. Earning Curve might have advantages, but autocompounding via the Yearn vault with the higher rate might might be a better allocation, even with the increased risk. Once I’ve deployed the first half of the low risk A tranche I can start looking for the other A candidate.
  2. IRA funds: I’ve got another spreadsheet to do on this one, and probably a separate Cointracking account to keep tabs on it. 40/40/20 BTC/ETH/DPI seems like a decent start, but I can’t get DPI on exchanges, so we’ll have to start with a 40/60 BTC/ETH as I start making purchases. I even considered 50/50 BTC/wBTC for staking opportunities on Ethereum, but those seems to be far and few between besides LP farming, which would put me at risk for IL. I’ll have to do some more consideration as to whether this is worth it or not. Since it’s going to take weeks and months to move funds out of my brokerage account, I’ll have to be careful with over trading this account and burning a lot of gas. And I may wind up allocating a portion of funds to other plays using a two percent risk allocation, but I have to look at the math on that.
  3. Uniswap sniping: I had mixed results from my initial snipes, losing almost an ETH on some counterfeit projects, but my later plays have actually put me in the black. I have a 4x with LABS and a couple 2xs with a couple others, and if my math is right I’m actually up half an Eth right now. I’m working on a Python program to alert me to new pools, I’m hoping this will give me a heads up on any IDOs or other launches that flew under my radar. Once I can ID the legit token contract address, I can either try to snipe the projects as soon as the liquidity is provided, or alternatively, wait for the initial froth to subside and pick them up later.

I’ve got another idea right now, leveraging the power of my friends in my Signal group. Some sort of crowdsourced project list, so we can do research together and try to find projects. Maybe we can even do some sort of pooled investment fund. TokenSets would be nice, but I think that may be overcomplicating things at the moment.

For now though, I’ve got to go outside and do yard work. Spring is here, and that means it’s time to cut the grass. And for me to sweat off this hangover.

Morning pages

Missus and I have managed to “Atomic Habits” ourselves this week, so I feel pretty well balanced. I’ve been getting into a bit of a swing: wake up, meditate, drink tea and write; the day is pretty busy, then after the kids go to bed, I code, then off to bed at ten, read for an hour, and out. It’s a good routine if I can keep from interrupting it.

I get my first COVID shot today. I’m actually kind of impressed that I was offered it so quickly, I figured it would be May before I did, but I registered with my state weeks ago and got the invitation and confirmed my appointment for this afternoon.

My dad came by for several hours yesterday while he got his truck worked on. I finally convinced him to take a Lyft over here and he hung out. I put him through the ringer with the kids, I made him take them to the park and had him help Younger with her reading practice. I think it was good for all of us. I ran him through updates in the family business, mainly about cash reserves and trying to explain our BadgerDAO holdings. I told him about PoolTogether since he’s a lotto guy, but I don’t think he really got it.

I’ve completed two of the outstanding projects that I have left for work. At some point while we were on the phone my coworker asked me about bitcoin. We’ve talked about it many times before, but I don’t like working with him so we don’t really converse. Anyways I opened the firehose on him and told him what I’ve really been doing the past few months, as well as my retirement plans. He’s got bitcoin, but I don’t think he’s been staking through the bear market. I told him we could talk more about it later, but I doubt I’ll want to keep in touch with him in any capacity after I leave.

With these projects nearing completion and my cash reserves more than half full, I can see the light at the end of the tunnel. I need to finish working on my retirement announcement this weekend and get it released before the end of the month so that there’s no turning back. I want to spend the second half of 2021 just working on my on project, helping out with other projects where I can, and basically be able to focus on managing the house and helping Elder get started with her self-directed education.

I sat down to work on my new coding project and decided to get my butt in TDD mode before I got any further with it. It’s amazing how much I’ve forgotten. Just trying to get pytest working took me a half hour it seemed, and I had problems working through things properly. I did manage to get it working, and started on the process of trying to properly mock out API calls to Alchemy so I don’t overuse my call allotment running tests. Even though I got my degree last year, I still don’t feel like much of a programmer. I’ve got one program I wrote that I use every day, my value averaging program that buys stocks in my IRA brokerage, but I haven’t touched the code in probably two years. It’s very fragile. I never completed the Ether Auction either, the smart contract code should be code complete but I got hung up on a front end library and never went any further.

I spend so much of my day staring at charts and checking things in spreadsheets that I just kind of ignored the programming part of things. I’ve never been as proficient at it as I’ve wanted, never able to build a complete program that I’ve been proud of and willing to release unto the wild, so to speak. It’s a craft, and I am not at the point that I am a very good coding craftsman. I’ll have to work on that.

Cutting myself loose from the MSP space is going to be a great change for me. I’ve got a lot to learn in DeFi and Ethereum, and all these other L1 and L2s that are coming out will ensure that I’ll be busy as hell for the foreseeable future. We just got to get through this bull run. It’s hard to work when you’re making money hand over foot. Maybe I’ll get used to it, or maybe it’s going to take a downturn and another extended bear cycle to get me properly motivated.

Maybe, but I’m hoping that I’ll be able to stay properly motivated working for myself this time.

Uniswap sniper bot design notes

So I started testing out some ideas last night.

I had heard mentioned that some people are using the Brownie Ethereum testing package to interact with DeFi, which I thought was fascinating, so I’d been meaning to take a look. I’ve got a bit of experience working with Hardhat, but I’ve been working with Python and was looking forward to doing more work with it. One of the fascinating things I read was that you can specify an external contract address and it will download the verified source code from Etherscan for it.

I’ve been spending a fair amount of time watching the Uniswap factory to catch new LPs going up. I caught a lot of scam tokens going up and blew through half an Eth chasing after new projects. There’s a lot of bot activity, and I really need to figure out how to make my own. Asynchronous programming is something that’s been giving me trouble, and I need to figure it out.

My plan is to build a bot that can watch the blockchain (and mempool) for these new Uniswap pool creation events. The events return the component pair addresses, so these tokens must be looked up as well to get the data. My vetting process while watching Merv.Tech’s new Uni page has been to lookup the token address on Etherscan to get the token symbol, then use their token lookup page for the same symbol to see if the token is legit. There are a lot of scams out there. By this point I can usually tell whether a project is legit or not. The trick is automating this as much as possible.

I had about a 50% hit rate after randomly throwing money at new pools. There were a lot that were straight fakes and rugs, and I may have stumbled across one or two that weren’t proper ERC20s and had some kind of mechanism to prevent selling. For a short-term sniping opportunity, the key is getting in as soon as the pool is launched, so actually watching the mempool for these type of transactions is going to give a bit of an edge.

I was able to put together short script that can call the Alchemy API and get the on-chain event logs. Now I have to figure out how to turn it into a websocket that can watch it in real time. That will be something that I’ve never done before. An async function watching a websocket. If I can get that to just log the events, then the next step will be doing the token lookups. I’m not sure if Alchemy is the best place to do that, as Etherscan has a API that can make sure we’re looking at a legit token.

Coingecko might be a good place to check as well.

One user story that we could build out would be to dump the token description and website details into our Discord server, just so we could keep an eye on it. Of course eventually we would want it to execute trades on it’s own. Even further, if I could find a way to scope new token creations from blockchain directly or from Etherscan, Coingecko or Dextools, we might be able to find and vet targets more easily.

Exciting times.