I like modules, because they are the clever.
Recently I learned that the US government offers a little gift called I-bonds, and that this is the month to buy them. Depending on your perspective, I-bonds are either free money or the only true money storage. They’re zero-risk bonds with an interest rate that always matches or exceeds inflation. The interest rate trails inflation a bit and changes at 6 month intervals, so the math works out such that if you buy before May this year, you get a guaranteed ~8.5% return over the next 12 months, but if you miss this month you might get screwed. After a year you’re allowed to withdraw, with almost negligible penalties. But the government only lets each person buy $10,000 of I-bonds a year. Still, that’s a free $850.
So last week I hopped on treasurydirect.gov for the first time to buy my bonds. I gotta say, not to blame anyone else for my blunders, but I’ve seen a lot of bad UXs in my life, and treasurydirect.gov just might top the list.
First, they require you to enter your password by clicking on a virtual keyboard.
Next, if you try to go back to the previous page at any point, there’s a good chance you get kicked out and have to log back in with the virtual keyboard.
Lastly, when you pick a security to buy, the interest rates are nowhere to be seen. As a result, you’re never totally sure you’re doing the right thing.
I was afraid to immediately dump $10k using this interface, so I first bought $25 of I-bonds just to test the waters. It took a couple days for them to process the transaction, but it seemed to go through smoothly.
So I was ready to make the real investment.
It was on this screen that a dumb thought crossed my mind that would seal my fate. Obviously I was only allowed to buy another $9,975. But if I tried to buy $10,000, what would happen? It must be a common type of error. Would they let $9,975 go through and return $25? Would they reject the whole transaction? Would the rejection happen immediately, in an hour, in a day? It was a morbid curiosity. I already knew I was using lackluster software, yet I wanted to see just how inept it could be. No real damage could be done, I figured.
The request went through successfully, so I figured I’d get an email later saying I screwed up. That email came, and indeed I did screw up.
They already took my money and will take 8-10 weeks to give it back?! Do they even have backend servers or is it just rodents passing around slips of paper?
Whatever, I thought, I still have a little over $10k left in my bank, and my next paycheck will come soon. I went back on treasurydirect.gov and bought $9,975 of I-bonds, like I was supposed to before, and went on with my day.
A couple days later I got another “limit exceeded” email, saying it’ll be another 8-10 weeks to get a refund. Huh. Slowly it dawned on me that not only did I just loan $19,975 to the government for 2 months with zero interest, but I’d locked myself out of the golden window for buying I-bonds. I sat there with my $173.12 of remaining savings and $25 in I-bonds, feeling like I had accomplished something truly remarkable.
Edit: Wow, this blew up on Hacker News! I almost didn’t publish this because I thought it wasn’t interesting. Thank you for boosting my confidence!
The good folks on HN pointed out a couple things I should mention:
Apparently the purpose of the virtual keyboard is to thwart not bots, but keyloggers.
There’s a possibility that “a refund of the excess purchase” meant “a refund of the excess amount” rather than my original interpretation, “a refund of the entire invalid purchase”. If this is true, then I didn’t screw up THAT badly. I’ll follow up here when the refund arrives.
Share this on knowasiak.com to discuss with people on this topicSign up on Knowasiak.com now if you’re not registered yet.