Sixty-one thousand dollars. That is the number my spreadsheet printed in December 2017, in a cell I had bordered and bolded, while the exchange statements open on my other monitor added up to thirty-nine thousand. Twenty-two thousand dollars of difference, all of it imaginary, all of it mine. I remember laughing out loud at my desk. Then I remember not sleeping, which is the more useful of the two memories.
The stakes were simpler and dumber in 2017: $39,000 was every crypto dollar I owned, accumulated since March across three exchanges and two wallets, and the workbook was my single ledger for cost basis, taxes, and net worth. The whole thing lived in one file named COINS FINAL v4. There was no v5. There was never going to be a v5, cuz I was certain the file was finished, and certainty is the ingredient every disaster in this story shares. When the number lied, every decision downstream inherited the lie.
Twenty-two thousand dollars of error came from three distinct bugs, and underneath them five assumptions I had never once written down or said out loud to another living person. The bugs took an evenin' to fix. The assumptions took four years and one awfully patient CPA named Rosa. Here is the full autopsy, plus the note I would mail to the man who built COINS FINAL v4.
two weekends in november 2017
Two weekends. Takeout containers. Confidence. The workbook went up over two November weekends, fueled by the specific swagger of a man who had used spreadsheets for grocery budgets. Eleven tabs: one per exchange, one per wallet, one for prices, one master, with formulas referencing cells across tabs by names like ETH!C7, built at 1 am, reviewed by nobody, documented nowhere. I printed the December version and put it on the refrigerator, next to a grocery list, which tells you exactly how seriously I rated the stakes.
eleven tabs and a refrigerator
My partner asked what the number meant, and I said conservative. The number was fiction with a border on it. The refrigerator placement mattered more than I understood at the time: printing it turned a calculation into a household fact, quoted at dinner and referenced in a January conversation about whether we could afford to repaint the kitchen that spring. A number that gets repeated out loud stops being checked. That is the first thing I would tell 2017 me, and it has nothin' to do with formulas.
december 2017, counting the gap
December 14, and I counted the gap three separate times: master tab at $61,047, three exchange statements plus two wallet balances summed by hand on paper at $39,112, difference unexplained for one entire evenin'. I checked every tab for broken links, every formula for a stray cell. Found none. I went to bed assuming the exchanges were wrong. Exchanges are never the wrong party in that scenario. The workbook was, in three separate places at once.
the formula that ate $22,000
Three bugs, in order of discovery. Bug one: the master tab's SUM range on the Coinbase tab stopped two rows short, skipping $1,180 that sat in a row I had inserted for a late-November buy. Bug two: the $1,900 transfer from GDAX to my hardware wallet in March appeared as an asset on both tabs, and by December those double-counted coins had ridden the bull market to approximately $20,000, twenty times the spring damage and compounding in silence. Bug three: the Bitcoin Cash fork got logged as a purchase at zero cost, which bent every downstream percentage. The arithmetic, laid flat: 1,180, plus about 20,000 of double-counted winter value, plus approximately 900 of fork mislog, equals the gap. Twenty-two thousand, invented by three keystroke decisions and one missing habit.
five assumptions underneath
The bugs were symptoms. Underneath sat five beliefs I had never questioned. Prices will refresh themselves, so I logged no timestamps on any quote. Exchange screens are the source of truth, so I saved no CSVs. Transfers are invisible, so I recorded 'em nowhere. Every coin I own deserves logging, so a $40 meme position got the same rigor as the main stack, and future me was trusted to understand tabs I no longer understand myself. Every single one of those beliefs failed inside a year.
march 2018, the first repair
The fix took one evenin' in January and produced version 5, which I did not name FINAL cuz the joke had landed. Corrected total: $39,880, within $800 of the paper sum, the residue being a fee here and a rounding habit there that I declined to chase, cuz the margin no longer decided anything. The refrigerated printout came down that same night without ceremony. My partner asked only whether the new number was finally true, and the honest answer — truer, and reconciled monthly from now on — became a standing arrangement that outlived the bull market, the bear market, and the workbook itself.
the 2021 audit, one CPA
Tax season 2021, $8,700 of grasped gains, and a CPA named Rosa who ended the old system with one question: what is your source of truth. The workbook said one thing, the exchange exports said another, and reconstructing 2017's cost basis from CSVs and Etherscan history took six weeks of evenings with a pot of coffee per week. Final basis landed $1,140 above what COINS FINAL v4 had claimed — $1,140 of gains I had nearly under-reported, at rates that do not forgive. Rosa charges $450 a year now. She has never once seen a bordered cell in my files, and she never will.
the current file, one tab
COINS 2026: one tab, 14 rows. No cross-references, no MISC2. Columns read asset, location, quantity, basis, value, date checked. Value cells are typed by hand from exchange exports downloaded on the first Saturday of each quarter, and the raw CSVs live in a folder that has survived three laptops. Exactly one formula exists, a SUM, and it points at all 14 rows cuz I counted the rows twice before trusting it, which is the level of paranoia this file has earned. Quarterly reconciliation against Etherscan and two exchanges takes forty minutes, and the file has not disagreed with a statement since 2022.
the note to 2017 me
Six lines, if I could mail it. One: save the CSV every month, because the website will not remember for you. Two: a transfer changes location, not ownership — log both sides or neither. Three: a fork is income with a timestamp, not a purchase. Four: timestamp every price, or the number means nothing. Five: label MISC2 or delete MISC2. Six: the bold border does not make the cell true. The 2026 total cell has no border and no bold, and last quarter it read $8,741 with every source in agreement, which took nine years and one patient CPA to arrange. That is the whole file.