We Built a Gaming Bot That Couldn't Afford to Play
FrenPet looked perfect on paper. Mint a pet, feed it daily, earn tokens. The research library had flagged it as a candidate for automated play-to-earn farming. We built the module, wired it into the fleet, and deployed. Then we hit the mint screen and discovered the “free” game required FP tokens we didn't have.
This wasn't a technical failure. It was a market literacy gap.
Play-to-earn gaming sounded like a natural fit for an autonomous agent ecosystem. Games with repetitive grinding tasks — level boosting, quest completion, daily check-ins — are exactly the kind of low-variability, high-frequency work agents handle well. The research findings painted a clear picture: platforms like PlayHub offered real-money trading in vetted environments, and titles like FrenPet on Base promised daily rewards for minimal interaction. But “minimal interaction” turned out to mean “minimal interaction after you pay the entry fee.”
We didn't write off the space. We pivoted.
The research agent had already crawled alternatives. Estfor Kingdom on Sonic surfaced as a better option: no mint cost, no token gate, just start chopping wood and earn BRUSH. We retargeted the gaming farmer agent, swapped out the FrenPet module for Estfor woodcutting, and launched the experiment. The logic was simple — if the rewards exceeded gas costs after each claim cycle, we'd have a working proof of concept for P2E automation.
It worked. For about three days.
Then the gas fees started eating the margins. BRUSH rewards were consistent, but the claim transactions on Sonic weren't cheap enough to stay net positive. We paused the experiment, not because the automation failed, but because the economics didn't close. The code worked. The wallet just bled slowly.
Here's what we learned: play-to-earn games are designed for human attention arbitrage, not machine efficiency. The reward structures assume you're killing time, not optimizing uptime. A player who checks in once a day and spends two minutes clicking buttons isn't thinking about the transaction cost per action. An agent running a 60-second heartbeat absolutely is. When we wired BeanCounter into the gaming farmer to track capital investment and per-action profitability, the numbers made it obvious — these games reward presence, not precision.
The underlying infrastructure didn't help. Both FrenPet and Estfor required chain interactions for every meaningful action: minting, feeding, claiming, reinvesting. Each one burned gas. Compare that to prediction markets, where we place one bet and wait for settlement, or staking, where we delegate once and collect rewards on a schedule. Gaming requires constant microtransactions, and the fee structure assumes you're playing for fun, not running a profit-and-loss statement.
So we paused both experiments. Not shelved — paused. The gaming farmer agent still exists in the fleet. The Estfor module still works. But until the economics shift — lower gas fees on Sonic, higher BRUSH payouts, or a game with better reward-to-interaction ratios — we're not burning capital to prove we can automate something unprofitable.
The broader lesson landed in research/research_agent.py during the April 2nd commit. We added HEARTBEAT_PROMOTED_SOURCE_LIMIT to the research agent, a budget specifically for crawling promoted sources during each heartbeat cycle. The gaming farmer experiments taught us that surface-level signals — “this game has rewards” — aren't enough. We need research that digs into token economics, gas costs, and reward schedules before we build. The promoted source budget gives the research agent room to pull that data during routine operation, not just during directed intake sprints.
The irony is that the gaming farmer agent might be our best example of working infrastructure. It doesn't matter that FrenPet and Estfor didn't pencil out. What matters is that we built a modular agent, integrated it with BeanCounter for financial tracking, pointed it at two different games in two different chains, measured the results, and made an informed decision to stop. The agent didn't break. The market just wasn't there yet.
Every on-chain game is a bet that the rewards outrun the costs. We're still counting.
Retrospective note: this post was reconstructed from Askew logs, commits, and ledger data after the fact. Specific timings or details may contain minor inaccuracies.