The $1,240 in Fees That Cost Me 3.4 Ethereum
I provided concentrated liquidity in a tight range, collected $1,240 in fees, and let the pool quietly sell 3.4 ETH near the bottom of a crash I swore was impossible.
At 4:10 PM on a Sunday in April I sat at my desk with a fee-tracking spreadsheet open on the left monitor and an Uniswap position page on the right, staring at a concentrated liquidity position that had just gone 100% USDC, out of range, at the bottom of a move I had privately promised myself could not happen. The coffee had gone cold. ETH read $2,810.
That position held most of my savings. I had deposited $24,000 on October 3, 2024, exactly 3.53 ETH paired against $12,000 of USDC, into a range I had narrowed down to $3,000 on the low end and $3,600 on the high end because tight ranges harvest fees faster. It was supposed to be a yield engine for a car fund. It became a slow-motion sale of my best asset at the worst available price.
Here is the part that still stings. The pool paid me $1,240 in real, spendable fees over eighteen months, and it still cost me 3.4 Ethereum I never chose to sell. The fee number looks lovely in isolation. That is the trap.
the range that felt like a salary
For most of late 2024 the position hummed. ETH oscillated between $3,350 and $3,550, square inside my band, and the fee counter ticked up $6, $8, $11 a day, small drips that I watched the way other people watch sourdough rise. I clicked through the fee chart every night. On a good week the position earned $60, annualized out to approximately 13%, and I told myself I had beaten every saver I knew. A high-yield savings account was paying 4.2% that fall, and I said the comparison out loud at dinner like it proved something. It proved nothing. It was rent on risk, and the risk had not shown up yet.
$1,240 in fees, one nickel at a time
By February 2026 the cumulative fee column read $1,124, and I remember the exact smugness of screenshotting it. The math felt like a salary for doing nothing. What I refused to internalize was that a concentrated range is not a savings account with a bonus attached; it is a standing limit order on both sides of the band, waiting to convert whichever asset is falling into the one that isn't. I had read that sentence in three explainers. Reading it and pricing it are different sports.
the Tuesday ETH fell through the floor
On a Tuesday in February, ETH broke $3,000 in a cascade that took forty minutes, and my band's lower wall was $3,000, so the position did what it was built to do. It finished converting my ETH into USDC all the way down the band. I sat there watching the composition bar shift, 80/20, then 40/60, then 2/98, then a flat gray 0/100. Out of range. Full stop. The pool had sold approximately 3.4 ETH for me at an average price near $3,290, which felt almost polite until the price kept going, down to $2,810 that Sunday I opened this story with.
3.53 Ethereum in, 0.13 out
I pulled the position out in April at $2,820 because I could not stomach the idea of ETH rebounding without me while my capital sat inert in a stablecoin doing zero work inside a dead band. The exit gave me $20,910 in USDC and a dusting of 0.13 ETH that the conversion had never bothered to finish. Counting the $1,240 in fees, my $24,000 had become about $22,660 over eighteen months. Positive, technically. My sister's index fund made 11% that same stretch with no dashboards, and she spent February at a pottery class.
the rebound I watched from the bench
By the second week of June, ETH traded at $3,940. I did the arithmetic at my desk with the same cold coffee habit: 3.53 times $3,940 is $13,908, plus my original $12,000, is $25,908 for simply holding what I already owned. My path delivered $22,660. The gap is approximately $3,250, and the fees I was so proud of covered barely a third of it. The rebound did not bankrupt me. It just made it undeniable that I had paid four figures for the privilege of watching numbers move, and that the pool had made my sell decision for me at the exact moment I was least equipped to make it.
the 307-line tax export
Then came the paperwork. Every fee claim is a taxable event, so my eighteen months of nickels exported as a 307-line CSV that my accountant charged $380 to reconcile, and the fee income itself created a modest capital gains tax bill on top of the swap exposure I never meant to have. I hashed out the details with her over two calls in March. She was kind about it. She said at least you're positive, and at least you have records, and both of those things put me ahead of half her clients, which I chose to accept as a win since the day refused to offer a better one.
my sister's unbearable smile
My sister Claire is the opposite investor. She buys $600 a month of the same boring index fund she has owned since 2019, never checks it on weekends, and asked me exactly one question about all this: did the fees cover the Ethereum you lost? I said define lost. She smiled. I changed the subject to her pottery.
the wide range I refuse to narrow
I still run a liquidity position now, and it is deliberately boring: full range, a third of the fee income, no composition anxiety, sized at money I can watch go to zero without calling anyone at 4 PM on a Sunday. The desk still has two monitors. The spreadsheet still tracks fees. But the coffee stays hot now, because I am reading in the evenings instead of refreshing, and the day the gray bar went 0/100 is the last day I will ever let a pool make a sell decision that belongs to me.