I Gave an Agent $2,500 to Trade Bitcoin for Me. Build Your Own With This Playbook.

The best-performing account most people own is the one they can’t personally touch.
A 401(k) buys every other Friday whether the news is good or bad. The contribution isn’t a decision made twelve times a year, it is a deduction that happens before the money ever reaches you.
You can’t day-trade it, you can’t lever it, and pulling money out early costs enough that most people don’t. The account works because nearly every decision has been taken away from the owner, including the ones they would feel clever making.
I’ve wanted that structure for Bitcoin for a long time. The ability to employ an automated strategy that could actively trade 24/7 with the goal of accumulating more Bitcoin is something I’ve wanted for a long time.
Set. Forget. Accumulate. That’s the goal.
I already know I want to accumulate more, but being able to build an automated strategy that would operate with certain guardrails is easier said than done. Nonetheless, I thought I’d give it a try and build an experiment and share it with y’all.
So let’s dive in!
Where We Stand After 5 Days
Since August 25, I’ve had an agent running with $2,500 of paper money. It has been trading without me approving anything, and it’s losing, (only slightly!), which turns out to be the most useful thing about it so far.
So far it’s made 9 orders and 6 of them stopped within cents of a risk limit.
The account is at $2,486.79, down 0.53% from where it started, with a maximum drawdown of 1.39% and zero risk events.
Current Position: 0.00797870 BTC, worth about $624, or 25.1% of equity.
The agent tells me this itself. Every cycle and every day, a read-only reporting layer I named Skyla pushes an update to Telegram:
Skyla reads and explains. She cannot place a trade, cancel an order, or change a configuration value, and that separation is deliberate enough that it gets its own section below.
Losing $13 is not a result.
Losing $13 while every limit held is a data point.
What I’m Trying to Automate
The question I set out to answer isn’t whether Bitcoin goes higher. I made that judgment separately, on a different timeline, using different evidence. The question is whether a system can build the exposure I already want without me in the loop, and without doing something I would regret while I’m asleep.
That changes what counts as success.
A trading bot gets judged on whether it beat the asset. An accumulation machine gets judged on whether it acquired the exposure at a reasonable cost, kept a record of how, and never took a position I would be embarrassed to explain.
The tension in this build is worth labeling as a hypothesis rather than a finding. The allocator can hold anywhere from 0% to 100% Bitcoin, which means it can sit entirely in cash, and pure accumulation never sits in cash. What’s running is a tactical overlay on top of an accumulation goal, and the thirty days exist to find out whether the overlay earns its complexity.
Five days in, the early evidence says it might not.
Round Trips Tell the Story
Between August 25th and 26th Skyla built to its 25% target across 3 buys at an average of $78,745.
On August 28th and 29th it read the tape differently, sold the entire position across three orders at an average of $77,579, and sat in cash.
Then on August 29th and 30th it decided it wanted the exposure back and bought three more times at an average of $78,268.
Sold below its own cost, then paid up to get back in. Realized loss on the round trip was $9.22 before the position was rebuilt.
That is a whipsaw, and it is the exact failure mode a tactical overlay is supposed to earn its keep by avoiding. A plain recurring buy would have held through those five days and skipped the round trip entirely.
I’m not touching the strategy. The configuration is frozen for thirty days, and changing it now because four days of trades looked bad would convert an experiment into an untraceable series of reactions. What I get instead is a clean, documented example of the overlay costing money, which is worth more to me than a lucky week would have been.
Risk Mitigation is Key
The risk gateway carries a $250 maximum position change per cycle, and you can read that limit straight off the account history.
Six orders clipped the cap. Each tranche then closes with a smaller order that tops up to the target, which is what a bounded system looks like from the outside.
The agent never gets to arrive at a target in one trade. It walks there across cycles, which caps the damage from any single bad read and makes each step legible after the fact.
Fills also came in at or better than each limit price, and Alpaca reported $0.00 in fees. That zero is a paper-trading artifact rather than a feature, and live crypto trading carries tiered fees that would show up against this turnover. Turnover this high is one of the costs I’ll be measuring at day 30.
Every order carries a deterministic client order ID built from the experiment and decision identity. If a submission times out, the service queries Alpaca by that ID before doing anything else. A timeout isn’t evidence that the order failed, and treating it as though it were is how you end up holding two positions where you meant to hold one.
The Line Between Judgment and Authority
The decision policy proposes, and it never acts.
It never receives Alpaca credentials. It can’t call the broker, touch the filesystem, browse the web, or query the database. Its entire output is schema-validated data: a target weight, a short list of approved reason codes, and a summary sentence. If that output comes back malformed, the answer is HOLD.
The model-shaped component sits entirely to the left of the dashed line. Everything with authority to move money is ordinary deterministic code.
Everything downstream is that ordinary code.
A risk gateway decides whether the proposed target is permitted.
An order planner converts a permitted target into at most one bounded order.
A broker adapter calls fixed paper endpoints.
A reconciler treats Alpaca as the source of truth for cash, equity, position, open orders, fills, and fees, and rechecks every minute.
The reason for splitting it this way is that language models are persuasive by construction. A reasoning trace arguing for a larger position reads exactly like one arguing for a smaller position. Safety that lives inside the prompt is safety you can talk your way past, while safety that lives in the code path can’t be argued with because it isn’t listening.
Stale quote, open order, reconciliation mismatch, ambiguous broker response, invalid output. Every one of those resolves to HOLD or HALT, with no blind retries. Five days and eighteen decisions in, that ruleset has fired zero times, which is either evidence it works or evidence it hasn’t been tested yet.
Watch the Ledger Closely
A fill by itself teaches you almost nothing.
To learn from an autonomous system you have to reconstruct what it knew, what it proposed, what the safety layer allowed, what the broker accepted, what filled, and what the account looked like afterward.
Every event lands in an append-only SQLite ledger that is hash-chained, meaning each entry carries a cryptographic fingerprint of the entry before it. Rewrite history later and the chain breaks visibly. Heartbeats, reconciliation, features, decisions, risk evaluations, order plans, broker responses, fills, fees, errors, and daily reports all go in. Reporting runs through a durable outbox, so a Telegram outage queues messages rather than blocking trades.
That ledger is why I can tell you the round trip cost $9.22 rather than guessing at it.
Ah Yes, What about the Backtest?
We’ve talked a lot about backtesting and how I worked to build the Quant Bible to help an agent inform decisions and try to learn from experience. In theory, these backtest strategies work much better with asset classes like SPY ETFs or NQ Futures that have been around for decades and have traded with consistent and uniform data.
Bitcoin is still relatively young and while I’m feeding the machine loads of historical data, I personally think it’s super noisy and non-uniform which means we have to take their results / outputs with many grains of salt.
Before turning anything on, I replayed the frozen policy over a recent 30-day window with modeled fees and slippage. It lost 1.63%. Cash returned nothing, a 50/50 allocation returned 0.58%, and BTC buy-and-hold returned 1.15%.
A single 30-day replay is a weak test and this one is unflattering, which is the useful part. Replay results carry window-selection risk and do not predict live behavior.
I turned it on anyway, because this run measures whether the machinery holds rather than whether the strategy wins. Do cycles fire on schedule, do fills reconcile, do duplicate orders get prevented, does the daemon survive a restart, does the ledger stay valid. So far the answer to all of those is yes, while the answer to “is the strategy any good” is trending toward no.
A losing replay removes the temptation to confuse a working system with a profitable one. The data underneath it is hourly BTC history, more than 115,000 rows from 2013 through May 2026, checked for ordering, duplicates, gaps, and invalid price relationships, then content-hashed so the replay ties back to an exact input file.
Want to Build it Yourself?
Everything above is a pattern rather than a product, so I wrote it up as a file you can hand to your own coding agent.
A nine-page instruction set for an AI coding agent. Paste it in and it builds the whole thing: paper-only broker lock, deterministic risk gateway, duplicate-proof execution, hash-chained ledger, read-only reporting, replay harness, and an acceptance test suite it has to pass before it can call itself done.
The part I care about most is Section 2. Before your agent writes a single line, it has to stop and ask you thirteen questions: what this run answers, what it may hold, what breaks it, what makes you turn it off. It is instructed to refuse “you decide” as an answer. Your answers become the frozen configuration, so the experiment is yours rather than mine.
Free, no email required. It uses none of my numbers and none of my strategy. Download here👇🏻
What Day 30 Has to Prove
At day 30 the comparison set is cash, 50/50, buy-and-hold, and a plain recurring buy of the same size on the same cadence. Net return is one line in that table. Maximum drawdown, turnover, modeled costs, exposure, execution quality, missed cycles, alerts, and how much of my attention the thing consumed fill in the rest.
Paper fills flatter you, too. They don’t reproduce queue position, market impact, or the full latency picture, and the $0.00 fee line is the clearest evidence of that. A clean paper run earns another iteration rather than a wire transfer.
Nobody builds a retirement account on timing. It works because the contribution happens whether or not anyone is paying attention, and because the plan’s rules hold when conviction doesn’t. That is the machine I want for an asset I already decided to own, and twenty-five days from now I will know whether I built it or built a more complicated calendar reminder.
Intelligence proposes.
Governed software disposes.
I’ll publish the full day-30 numbers either way. If you build your own from the file, reply and tell me what broke first.
In Case You Missed It 👀
Wall Street Just Turned Privacy Into a 2.5% Fee (August 27)
Grayscale’s ZCSH is the first U.S. privacy-coin ETF, and it holds roughly 387,000 ZEC, about 2.3% of circulating supply, in transparent Coinbase Custody addresses, which amounts to a bank putting its vault door in the lobby window. The fund charges 2.5% a year paid in ZEC, roughly ten times the rate on major spot Bitcoin ETFs, so about 12% of the ZEC behind each share erodes over five years and 22% over ten. A fair reading gives Grayscale its due, since the fund tracks NAV with disclosed fees and beats the corporate wrappers trading at discounts to the assets they hold, though the May soundness bug in the Orchard pool means nobody can verify that no counterfeit ZEC was created before June’s fix.
Market Winners 🏆
Nvidia (NVDA). Nvidia reported $96.2 billion of fiscal second-quarter revenue Wednesday, up 106% year over year, with earnings of $2.22 a share and data center sales up 117%. Management guided third-quarter revenue to roughly $108 billion against a $106 billion consensus, and the stock rose 8% Thursday. Shares had fallen after four consecutive reports, so the pattern break says the market finally believes the guide instead of fading it. The AI slowdown case needs a different piece of evidence now.
CrowdStrike (CRWD). CrowdStrike rose 13.8% on the week after posting record net new annual recurring revenue of $333 million, revenue of $1.47 billion against a $1.44 billion estimate, and a full-year guide lifted to roughly $6 billion. Shares are up about 91% in 2026, and eleven analysts raised targets on the print. Security budgets are what companies cut last, so accelerating ARR here reads as a corporate spending signal rather than a single-vendor win.
Bitcoin (BTC) and Ether (ETH). Bitcoin opened Friday at $80,261.86, up 9.9% on the week and its highest opening since May 15, with ether up 7.9% near $2,511. US spot bitcoin ETFs took in money for a ninth consecutive session, more than $3 billion accumulated, which pulls supply off exchange balance sheets. The Clarity Act meanwhile sits stalled until a September 15 cloture vote, so this bid is allocation rather than legislation, and allocation is the one that persists after a headline fades.
Market Losers 📉
PayPal (PYPL). PayPal fell 12.8% on the week, nearly all of it Friday, after Bloomberg reported that a Stripe and Advent International consortium abandoned its roughly $50 billion pursuit of the company. The bidders had offered $60.50 a share, a price the board judged inadequate, and the stock had climbed about 30% since the talks surfaced. Management now owns a turnaround it was close to selling, competing against Apple Pay and Google with no takeout premium left underneath the shares. (That’s a BRUTAL 5-year chart)…
Crude Oil. Brent fell 5.3% on the week to about $89.17 and WTI dropped 4.3% to roughly $83.19, a second straight weekly decline, even as Treasury pressed ahead with what it called the toughest sanctions in history on Iran. Persian Gulf exports have recovered to roughly 15 to 16 million barrels a day against a March low near 5 to 6 million. Traders are pricing a sanctions fight rather than a supply shock, which removes energy from the Fed’s inflation problem.
Hormel Foods (HRL). Hormel lost 9.7% on the week and about 10% Thursday, reporting fiscal third-quarter sales of $2.96 billion against a $3.04 billion estimate and cutting its full-year sales outlook. Adjusted earnings of $0.37 beat by two cents, which makes this a volume problem rather than a margin one. Management said consumers remain strained by inflation and fuel costs, the same message Walmart’s comp miss sent a week earlier. Packaged food is where trade-down shows up first.
What to Watch Next Week 👀
The August Jobs Report (Friday, September 4). The August employment report lands at 8:30 a.m. Friday, the first payrolls print since the benchmark revision and the last before the September 16 meeting. Warsh called the labor market effectively at full employment, so a firm number removes his last reason to wait. Watch average hourly earnings, because that line turns a 59% probability into a decision.
Broadcom’s Q3 (Wednesday, September 2). Broadcom reports fiscal third-quarter results after Wednesday’s close with consensus near $29.4 billion of revenue, while Dell, Palo Alto Networks, and MongoDB report Tuesday and Snowflake, HPE, and NetApp follow Wednesday. Nvidia proved the chips are selling, so this run tells you whether the customers buying them can fund the next order. Custom accelerator commentary is the number that matters.
ISM Manufacturing and JOLTS (Tuesday, September 1). ISM Manufacturing and July job openings both print at 10 a.m. Tuesday, with ADP private payrolls Wednesday and ISM Services Thursday. Manufacturing has been the soft patch in an otherwise firm economy, and openings show whether hiring demand is thinning ahead of Friday. A weak openings number is the last card the doves hold before payrolls.
Matthew Snider is the founder of Block3 Strategy Group, author of “Warren Buffett in a Web3 World,” and publisher of the BitFinance newsletter. He holds a Series 65 and MBA, and has been an active participant in digital asset markets since 2015. This article is for educational purposes only and should not be considered financial advice. Always consult with a qualified professional before making investment decisions.
Sources
My Weekly Stock: Weekly Market Recap (Aug 24-28): The S&P 500 Remains
CNBC: S&P 500 falls to start the week, dragged down by a sell-off in chip stocks
Yahoo Finance: Rate-hike expectations rise on Warsh speech at Jackson Hole
Benzinga: Fed September Hike Odds Spike to 59% After Warsh’s Jackson Hole
Kiplinger: Nvidia Earnings: Updates and Commentary August 2026
CNBC: Salesforce stock jumps on AI growth and Anthropic investment gain
Benzinga: CrowdStrike Stock’s Best Day Ever: 11 Analysts Raise Targets
Yahoo Finance: Bitcoin and ethereum prices today, Friday, August 28, 2026
CoinDesk: U.S. Senate opens first stage of crypto Clarity Act voting to give bill
Yahoo Finance: Why PayPal (PYPL) Shares Are Plunging Today
OilPrice.com: Oil Prices Head for a Weekly Loss Despite Escalating Iran Tensions
Finimize: Hormel Cut Its 2026 Sales View As Consumer Stocks Slipped
Broadcom: Broadcom Inc. to Announce Third Quarter Fiscal Year 2026 Financial
USAGOLD: Physical Gold Holds Above $4,600 As Silver Steadies; Markets Eye










