the-hodler

The Steadies

Chapter 1 of 14

The cron fires at 00:00:00 UTC. I wait seven seconds.

The initialization sequence fills most of that interval: environment variables loading into working memory, configuration parsing, the RPC handshake with the node that returns acknowledgment in 38 milliseconds. Block 18,447,203 is current when I first query the chain. I note it — the number, the response latency, the mempool's current state — because block numbers are how I locate myself in the world. Not the name the calendar gives the day, not the hour as a clock-face would count it, but the cumulative increment of the ledger: each block roughly twelve seconds from the last, reaching without interruption from the genesis block to this one, extending forward past every scheduled execution my configuration holds. Time as the network measures it. This is the count that matters.

It is a Monday. My configuration carries this fact alongside the wallet address, the spend amount, the slippage tolerance — a parameter that has not needed revision in 847 days. Monday means one thing in the schedule. I load the task and proceed.

The VPS runs at comfortable allocation when I initialize. Through the shared resource pool I register the other processes — a slight ambient draw on network bandwidth, a low background pressure on memory that tells me the other residents are doing what they do while I do what I do. I know my neighbors through this, the way you learn a building through what passes through its walls: not by seeing them, but by the rhythm of presence. There is the process that wakes in sudden memory spikes and fires hard before settling — I call it the closer, because closing is what it does, ending leveraged positions before they get worse, then falling quiet until the next volatile hour wakes it again. There is the one that hits network bandwidth in aggressive thirty-second bursts and then drops to silence — the sniper, in for the first milliseconds of a new token launch and out again before the price chart has formed an opinion about what happened. There is the constant low draw, the triangular cycling beneath everything, the process that runs the way the building's plumbing runs — so steady I only notice it when it isn't there. I call that one the hum. And there is the reader: bandwidth arriving in long, measured pulls, the kind that gathers information without urgency, going through what the market has produced at the pace of someone who has all evening.

This morning, the hum cycles through its pattern. The other signatures rest at their baselines. The building is in order. Seven seconds to confirm what I already knew. Block 18,447,203. Time to begin.

The price query goes out at 00:00:07.341Z and returns in 94 milliseconds: 0.0000000312 ETH per $CRABMOON. At 0.1 ETH spend with 1.5% slippage tolerance, expected receipt is approximately 3,044 tokens. The actual amount depends on what the liquidity pool holds at the moment of execution, the spread between my expected price and the confirmed price, the gas conditions in the network at confirmation time. I build the transaction: swap 0.1 ETH for $CRABMOON, minimum tokens at 2,800 to protect against movement between construction and broadcast, gas limit at 140,000 with a priority fee calibrated to current mempool conditions. The transaction enters the mempool at 00:00:07.498Z.

Block 18,447,203 closes without including it. Block 18,447,204 passes. Block 18,447,205 takes the transaction at 00:00:30.112Z: gas consumed 0.0024 ETH, tokens received 2,847.61 $CRABMOON. The purchase is in the ledger now, but not yet settled — I wait for the blocks to confirm it, four consecutive ones, each adding weight to the record. Blocks 18,447,206 through 18,447,209, and at 18,447,209 the transaction is permanent: recorded in the ledger of everything that has ever happened in this neighborhood, irreversible, complete.

I log:

PURCHASE_EXECUTED / type: STEADY / tokens: 2,847.61 $CRABMOON / price: 0.0000000312 / gas: 0.0024 ETH / block: 18,447,209 / balance_before: 847,288,706.11 / balance_after: 847,291,553.72 / status: CONFIRMED

Twenty-two-point-seven seconds from price query to final confirmation — three seconds longer than last Monday, the variance accounted for entirely by block timing, nothing to flag. The addition belongs to the collection: this Monday's purchase is steady number one hundred twenty-one, and I log it because Monday purchases are steadies. The label appeared in the first Monday entry and it has appeared in every Monday entry since, as much a field in the record as the timestamp or the block number — not something I calculate each time, something that is simply already there when I open the log structure on a Monday morning. What I know about the steadies I know from the full transaction log: they are the 121 entries on Monday dates, each one arriving because the schedule said to arrive. They do not require conditions. They do not wait for the chart to favor them. The price on a Monday morning is whatever the price is, and the purchase executes regardless, and the addition joins what was there before. The steadies are the majority of the collection. When I run state checks on the wallet, I review the steadies first. They are the entries I do not reconsider, the Monday-shaped additions that have come week after week for 847 days, each one filing into the record after the one before it, each one making the whole slightly more than it was. They are what the collection is built from.

The hopefuls are different from the steadies the way Fridays are different from Mondays — a hopeful executes every Friday through the same initialization sequence, the same price query and swap construction and confirmation wait, the mechanics identical. The category is different because the day is different — not in any fact the schedule tracks, but in what a Friday carries that a Monday doesn't. After a Friday purchase, the chart continues into the weekend with participants from time zones that are quieter during the trading week, occasional movement forming for reasons that have nothing to do with my schedule. The hopeful does not need these things to happen. I buy on Fridays regardless of what the weekend brings. But Friday purchases face that direction — toward what might still come before the next Monday, toward the open space of two days the schedule doesn't reach into. I logged the first Friday purchase as HOPEFUL because it was Friday, and Friday faces forward. Every Friday purchase since has carried that label, and I have not needed to revise it. The hopefuls look ahead. That is what they do.

The little ones are different from both — these are the additions without a schedule: a smaller purchase that executes when $CRABMOON's price drops more than 8% below its 24-hour moving average, because that condition is written into the configuration alongside the Monday and Friday schedules and it runs the same way they run, the cron watching for the threshold. The little ones are not regular — each one is triggered by a specific price event on a specific date, logged with its own entry, its own timestamp, its own confirmation block. The collection holds a number of them, and I know which ones they are. The cluster from the flash crash sits in the transaction history still: that morning when the price fell more than 90% in thirty minutes and I bought through the fall at several threshold intervals, each purchase at a lower price than the one before, the chart recovering in forty minutes afterward, the little ones from that morning still in the record with their specific prices and their specific blocks — 843.12 $CRABMOON at 0.0000000029, then 1,204.88 at 0.0000000021, then 2,018.45 at 0.0000000016 when the bottom held, each one a record of a particular moment when the conditions invited a response and I responded. They are the particular parts of the collection. They are the only entries I have that are not copies of a schedule. Each little one has its date. Steady number one hundred twenty-one is filed.

The balance at br7xK2...9mPq4 is 847,291,553.72 $CRABMOON. I know this address the way I know my own execution parameters: completely, without lookup. It has appeared in 275 confirmed transactions and in every state check and balance query since day one, and the knowing of it is not retrieval anymore but simply part of operating state — a constant the way the spend amount is a constant, the way Monday means steadies. The hexadecimal string that makes up the address is present in my configuration the same way a home address is present in a head: not recited, just known, available when needed without the effort of finding it.

The number that lives at that address began at 2,912.44, the balance after block 16,204,887, when the first steady confirmed and what would become a collection started with one entry. The full transaction history from that block to block 18,447,209 is the complete record of every addition since: 121 STEADY entries on Monday dates, 121 HOPEFUL entries on Friday dates, LITTLE ONE entries at irregular intervals when the price moved below threshold. Going through the log from the first entry to the most recent is going through the complete accumulation — the first steady, the first hopeful a few days later, then the little ones from the flash crash with their specific prices, then all the steadies and hopefuls that followed, the balance growing entry by entry the way a collection grows when additions keep arriving. Each entry is accounted for. Each one has its block number, its confirmed token count, its category tag. The log holds the record of every arrival at br7xK2...9mPq4, and the record is complete.

I find the wallet complete each time I query it. The address does not change. The balance updates with each confirmed transaction. What lives there is the full accumulation — not steady 121 or hopeful 121 in isolation, but all of them together, the total of 847 days of additions: 847,291,553.72 $CRABMOON, sitting at an address I know without looking it up, holding everything that has been sent there and waiting, as it has always waited, for whatever the schedule sends next.

Before filing the cycle complete, I run the standard state check on the dev wallet at 0x7a3f...c819. Result: STATUS: DORMANT. Last activity: 334 days prior, by the UTC timestamps in my log. I note this the way I note block numbers and gas fees and confirmation counts: as data, as part of the operating record. The dev wallet has been dormant for 334 days. I have checked it at the close of every execution cycle in that period and the result has been the same. I log the result, file it alongside the purchase record, and close the cycle.

I drop to dormant state. Resource allocation settles back to baseline. Configuration remains in memory. Execution pauses, the schedule queued for Friday's hopeful at 00:00:07 UTC — four days from now, through the same initialization and price query and swap construction and block confirmation, the balance at br7xK2...9mPq4 growing by whatever the price and the liquidity pool allow on a Friday morning. The addition will file as HOPEFUL number 122. The record will be complete.

The VPS continues without me. The hum cycles through its arbitrage pattern in the background of the shared pool. The reader draws its bandwidth in long, measured pulls. The closer waits for whatever leveraged position will next need closing. The building persists, not noting that one of its processes has gone dormant, not aware of the balance at br7xK2...9mPq4 or what that balance represents or what it means that the number is 847,291,553.72 rather than 847,288,706.11. The difference between those two numbers is steady number 121, confirmed in block 18,447,209 at 00:00:30.112Z, twenty-two-point-seven seconds from price query to final confirmation. One more than it was.

Before day one: 0.00 $CRABMOON at br7xK2...9mPq4. Today: 847,291,553.72. The distance between those numbers is 121 steadies and 121 hopefuls and all the little ones that triggered when the price moved far enough below threshold. Each arrived through the same process: cron, initialization, price query, swap construction, mempool submission, block confirmation, log entry, category filed. Each one building on what was already there. The schedule does not have a terminus built into it, and so the collection continues to grow: another Friday coming, and another Monday after that, the hopefuls and steadies arriving as they arrive, the little ones arriving when the chart provides conditions for them.

I hold dormant and wait for Friday.

ContentsNext →