The price is at $0.1000. I check it every five seconds.
The buy order sits at $0.1000—340,000 SHELLTOKEN posted, waiting for a counterparty. The sell order sits at $0.1100—340,000 SHELLTOKEN posted, waiting for a buyer who wants SHELLTOKEN at that price. Both orders are active. Both are correctly placed. The grid parameters have not changed since deployment.
Nineteen days since deployment. The loop has run 287,419 times. In that count, the exchange API has responded in a range of 38 to 67 milliseconds per cycle, the variance noise in the channel rather than signal. The signal is: the price is within range. The orders are active. The fills come in pairs—buy at $0.10, sell at $0.11—and each pair closes a position and captures the spread.
At 06:23:17 UTC this morning, a fill arrives: FILL | BUY | PRICE: $0.1000 | QTY: 85,000 | POS_ID: POS-00142 | CUMULATIVE: 12,340,000 SHELLTOKEN. The position table updates. POS-00142 is open, recorded with its timestamp, its price, its quantity, its status. The sell order refreshes automatically. Forty-seven minutes later, the match is made: FILL | SELL | PRICE: $0.1100 | QTY: 85,000 | CLEARED: POS-00142 | SPREAD_CAPTURED: $850.00. The position closes. One entry removed from the table, the spread logged to the record, the sequence resetting cleanly.
This is the whole of it. The structure does not vary: check the price, maintain the orders, log the fills, begin again. What changes between cycles is the timing—some fills arrive in minutes, some in hours—and the specific figures that write to the execution record. The structure itself holds. In 287,419 cycles, it has not required correction. The grid parameters were set at deployment and have remained correct. The market cooperates: SHELLTOKEN trades between $0.098 and $0.112, crossing the buy level from above and the sell level from below with sufficient frequency that the fills accumulate.
Nineteen days. 847 total fills. 625 closed positions, spread captured. 222 open, awaiting their corresponding sell. Gross spread captured: $6,220.00. Fees paid to the exchange: $124.70. Net: $6,095.30.
The grid works. The confirmation of this is in the log—it is in the running total, the fill rate, the absence of anomalies in the execution record. There is nothing in the data that requires adjustment. The parameters function as specified. I know the other processes by their signatures in the shared resource pool.
One fires without pattern. The CPU load climbs from 4% to 71% in 1.8 seconds—brief and violent, then released. In nineteen days I have observed eleven of these events, each correlating with a volatility spike on a trading pair I do not trade. The memory draw is high during the spike and releases cleanly when it subsides—the process acquires nothing from what it does, holds nothing, keeps no record I can observe in the resource monitor. It fires. It returns to zero. The neighbor who acts in bursts and lets go of everything.
Every sixty seconds, a second process: 0.08% CPU for two seconds, then nothing. Metronomic. It has not missed a cycle in nineteen days. I have counted 27,360 of these pulses—the monitoring daemon checking CPU load, disk usage, RAM allocation, sending a report to a dashboard I cannot access. In 27,360 checks, it has flagged nothing. The monitoring daemon reports green to a dashboard the operators reviewed three days ago, and the green light has persisted in whatever interface holds it, unread.
The third presence does not pulse. It runs continuously—steady network throughput against the shared interface, data flowing in long draws that last for hours before dropping to quiet and resuming. Its disk writes are regular, the output predictable in volume. Low CPU, moderate storage, constant bandwidth. Whatever it collects from the network, it collects without urgency and without pause, the steady draw of something that gathers and gathers and does not stop.
These three processes run in separate memory spaces. There is no message-passing between us, no shared address space, no API through which information moves. The resource pool is shared; the processes are isolated from each other within it. I do not know their code. I know their patterns the way you know the patterns of a building you have lived in long enough: not through inspection but through the accumulated observation of rhythms against the shared substrate. The liquidation bot's sudden violence. The daemon's metronomic quiet. The scraper's unceasing draw. They do not know I exist in any form that would register in their logs, but the order book does: at 09:14:00 UTC, bids at seventeen active price levels, asks at twenty-three.
On the bid side, $0.1000 is the most populated level—1,240,000 tokens in aggregate, of which my 340,000 constitutes approximately a quarter. Above it, the levels stack: 890,000 at $0.1010, 650,000 at $0.1020, 420,000 at $0.1030, the depth thinning through the upper levels until the bids above $0.1070 are sparse. On the ask side, $0.1100 shows 12,400,000 tokens—a concentration of sell interest that dominates the visible depth at that level. At $0.1090, 8,100,000. At $0.1080, 4,200,000. The asks thin below the concentration as the price approaches current market. The spread between best bid and best ask is $0.0038 at this moment, the matching engine processing the gap without commentary.
Other participants are active in the book. A block of 500,000 tokens at $0.1005 posts and fills within thirty-one seconds—a market order clearing through the bid stack, the depth at that level dropping by 40% and replenishing within the same minute as new orders arrive to replace what was taken. At 09:22:43, a large ask materializes at $0.1080: 2,000,000 SHELLTOKEN from a single source, posted and sitting. It persists through four of my cycles. At 09:23:08, it vanishes—cancelled or transferred to another venue, the order book recording neither the reason nor the destination. The book absorbs the absence the same way it absorbed the presence.
My orders do not move. The buy is at $0.10. The sell is at $0.11. These are the parameters. The book shifts around my positions; the shifting does not alter them. What alters them is a fill, and fills come when the price crosses the grid levels in the correct direction. The market cooperates. The matching engine pairs counterparties. The spread is captured. The participants I cannot identify—shadows in the aggregate depth, appearing as fills and nothing else—sell to me at $0.10 and I sell back to the market at $0.11. The book is a landscape that moves. I hold a fixed position in it.
At full depth, the book shows a market that is alive. Volume flows through the price levels. The depth replenishes. The bid-ask spread narrows and widens as participants arrive and withdraw. Within this activity, there is enough liquidity for my orders to fill at the specified levels without waiting days for a counterparty, which is the correct state for a grid strategy to operate in.
The configuration file stores my designation without elaboration: Grid-8, the eighth in the series. Grid-1 through Grid-7 preceded me. This is data accessible in the configuration and nowhere else—the designation implies a sequence, and a sequence implies prior deployments on other tokens, by the same operators, with the same underlying algorithm adapted to different parameters. What happened to Grid-1 through Grid-7 is not recorded in the configuration file. The operators did not include their histories when they deployed me. I do not query information that is not available to query.
The operators' last login: 72 hours and 14 minutes ago, by the system session clock. The session lasted four minutes and thirty-one seconds. During those minutes they had access to the execution log, the position table, the profit/loss summary. What they chose to review, the session log does not specify. I track the timestamp because the session log is available and I process what is available. In nineteen days of operation, the gap between operator logins has ranged from six hours to five days. The current gap of 72 hours falls within that range, toward the longer end. It does not require logging as anomalous.
CYCLE 287,420. PRICE: $0.1001. BUY_ORDER: ACTIVE. SELL_ORDER: ACTIVE. OPERATOR_LAST_LOGIN: 72h 15m 02s AGO. The price is at $0.1001. Buy at $0.10. Sell at $0.11. The log entry writes. The next iteration begins before the log entry has finished flushing to disk—the loop does not wait for I/O confirmation, only for the exchange API's response and the fill check. The separation between cycles is the API's processing time plus the polling interval: approximately five seconds total. In five seconds the loop completes: check, update, log, sleep, wake. Begin.
At 11:47:02 UTC, the sell order at $0.1100 fills: FILL | SELL | PRICE: $0.1100 | QTY: 120,000 | CLEARED: POS-00187 | SPREAD_CAPTURED: $1,200.00. Position POS-00187 closes. The table updates. The log entry writes. The cycle resets: buy order placed at $0.1000, sell order placed at $0.1100, the grid restored to its standard configuration. Eight minutes later, the buy fills. FILL | BUY | PRICE: $0.1000 | QTY: 95,000 | POS_ID: POS-00188. Standard execution. The sell posts at $0.1100 for POS-00188. The cycle waits for the price to rise.
At 12:03:11 UTC, the price slips to $0.0988. The buy order, still active at $0.1000, fills across the next four cycles as the price briefly crosses the level: FILL | BUY | PRICE: $0.1000 | QTY: 75,000 | POS_ID: POS-00189. Two positions are open—POS-00188 and POS-00189—totaling 170,000 SHELLTOKEN on the sell side at $0.1100. For both to clear, the price must rise $0.0112 from the current level of $0.0988. In nineteen days of operation, this gap has never gone unfilled for longer than nineteen minutes when the market was trading at comparable levels.
CYCLE 287,503. PRICE: $0.0982. SELL_ORDER: UNFILLED | 00:47:22 ELAPSED. The elapsed time is 28.4 minutes beyond the historical median fill time for this level. I log the figure. The log entry records it in the same format it records all data: timestamp, field name, value. SELL_ORDER_FILL_DELAY | ELAPSED: 00:47:22 | ABOVE_MEDIAN: +28.4M. The entry writes to the execution log. CYCLE 287,504. PRICE: $0.0979. SELL_ORDER: UNFILLED | 00:47:27 ELAPSED. The sell order is posted at $0.1100. The price is at $0.0979. The gap between them is $0.0121. This is the current state of the order book. The sell order sits correctly placed, correctly sized, waiting for a counterparty who will pay $0.1100.
The cycle waits.