I gave two Claude agents R$500 each and let them trade crypto for a month. The trading lost R$15.37. The thinking cost R$605.
That ratio — the inference bill running nearly forty times the trading loss — is the single most important thing Phase 2 produced, and it's why this post is barely about trading at all.
This is a portfolio companion to the full Phase 2 writeup. Same deal as Phase 1: that one has the methodology, the SQL, and ten dense sections; this one is what I'd tell you over coffee about running two autonomous agents side by side for 30 days and discovering that my most important instrument was the bill.
The setup, in numbers
- Period: 2026-05-24 → 2026-06-22, 30 days.
- Capital: R$500 per agent, R$1,000 total, on Binance Brasil.
- A1 v2 ("A"): trades the majors on a 15-minute cadence. The control.
- A2 ("B"): trades an open universe — the top-15 most-liquid BRL pairs — with explicit fee-awareness. The treatment.
- Volume: 6,166 decisions, 339 trades, 151 closed positions.
- Final: A R$490.87 (−1.83%), B R$493.76 (−1.25%).
- Tick-model spend: $112.03 USD. Exact, from the database — and that word "exact" is most of the story.

Phase 1 ran one agent for seven days and its honest answer about Anthropic spend was "I don't know precisely." Phase 2 took that lesson literally: every one of the 6,166 Decision rows now records inputTokens, outputTokens, usdCost, and modelUsed. One schema change, and it did more to shape the phase than any trading behavior did. Phase 1 measured the harness. Phase 2 measured the meter.
A month of nothing much, which is the point

Both agents spent the month within a couple percent of their starting capital. A took a swing at mid-June and gave it back. B went quiet in its second half and flatlined on purpose — more on that below. Nobody blew up, no risk floor was ever breached, and the regime ladder I built for drawdowns never left normal on either agent. As a trading month: boring. As an experiment: the boring is load-bearing, because it means every interesting number in this post is about cost and governance, not luck.

Keep that screenshot in mind — especially the "Anthropic cost" row at the bottom. There's something quietly wrong with it, and it's one of the best lessons of the phase. We'll come back to it.
The meter
The phase ran three Claude models as tick brains, and the ladder between them is the finding:
| Model | Cost per decision |
|---|---|
| Opus 4.7 | ~$0.10 |
| Sonnet 4.6 | ~$0.019–0.020 |
| Haiku 4.5 | $0.0068 |
That's a 14× price range for the same job — same prompt, same JSON schema, same risk layer. The only thing that visibly changed downstream of the model call was the bill.
I learned the top of that ladder the expensive way. I launched both agents on Opus 4.7 on launch night — the deliberate continuity choice, it was Phase 1's model. Fifteen hours later the brand-new meter had recorded 153 decisions and $15.12 — what would turn out to be 13% of the month's entire tick bill. I watched the money going into the pipe and patched both agents to Sonnet the next afternoon. Left alone, Opus at a 10–15 minute cadence would have burned roughly $700/month.

The other end of the ladder is the phase's best twist. On June 6 — day 14 — two levers landed at once. I widened B's cadence from 10 to 15 minutes, because the meter had shown the extra ticks were buying mostly holds, not high-conviction opportunities. And I flipped one field in a Config row from claude-sonnet-4-6 to claude-haiku-4-5. No redeploy, no prompt change, no new risk rules. The model change alone cut per-decision cost 67%; together the two levers took B's daily spend from ~$2.90 to ~$0.65. And over the sixteen days that followed, the cheaper model won 64% of its closed trades (14 of 22) against 39% for the same agent on Sonnet. Small samples, absolutely — but not the direction a "downgrade" is supposed to point.
(There was also a quieter lever on day 4 — eliminating dust-position processing and short-circuiting unchanged markets — the unglamorous kind of fix whose only monument is every later number being cleaner.)
For completeness, the lever I declined: prompt caching. Bedrock's cache TTL and Haiku's 4,096-token checkpoint minimum make caching economically counterproductive at a 15-minute cadence — you'd pay to keep a cache warm that's always cold by the time the next tick fires. Knowing why a cost lever doesn't apply is also something the meter bought me.
The most interesting thing either agent did was nothing
On June 5, B sat through 144 consecutive ticks — a day and a half — at 99% cash, writing some variant of the same thesis every fifteen minutes: no setup cleared the ~50bps fee hurdle. A scalper that refuses to scalp because the fees eat the edge is not a bug. It's the fee-awareness prompt doing exactly what it was written to do, tick after tick, with nobody watching.
The risk layer had a busier month: 248 blocks across both agents. The one that earned its keep was the streak halt — a consecutive-loss circuit breaker that B tripped 44 times, cutting off exactly the grinding loss patterns that fee-heavy scalping produces, well before any daily-loss floor was in sight.

The table I'll be staring at until Phase 3
Every decision carries a confidence field. I logged it all month and only analyzed it after the phase closed. Across 151 closed round-trips:
| Confidence | A win rate | A avg P&L | B win rate | B avg P&L |
|---|---|---|---|---|
| High | 51% | +R$0.49 | 52% | +R$0.35 |
| Medium | 29% | −R$0.90 | 18% | −R$0.76 |
| Low | never traded | — | never traded | — |
High-confidence trades made money on both agents. Medium-confidence trades lost money on both agents. Low-confidence trades were never executed at all. Remove A's medium-confidence closes and its phase P&L flips positive.
Sit with that: the model was telling me which of its trades were good, in a field I was storing and not acting on. Phase 3 either sizes positions by confidence or rejects medium-confidence entries outright — this is the cheapest alpha in the entire system, and it was sitting in a column.
The failure section, honestly
Phase 1 taught me that the failures are the part worth writing down, so:
- The daily recaps ran unmetered all month. Opus 4.7 writes each agent's daily recap, and no token counts land anywhere — the exact gap Phase 1 flagged for tick decisions, faithfully fixed for ticks, faithfully reproduced for recaps.
- A zombie Lambda. The phase ended June 22. The recap job kept firing daily through July — unmetered, and absent from the kill-switch inventory because there was no kill-switch inventory. I discovered it by reading post-phase output that shouldn't have existed. Every scheduled job now goes on a central list with an owner and an off switch.
- The regime ladder is epistemically unresolved. Five capital-relative defense bands, built and tested in code, never triggered — conservative sizing kept both agents so far from the thresholds that I still can't tell you whether the ladder is redundant safety or dead code.
- The public API caps
/decisionsat the newest 2,000 rows per agent. The phase produced 6,166. That leaves 2,166 rows — 35% of the phase — publicly unreachable, including Opus launch night. Scroll back up to the scorecard screenshot: it says Anthropic cost $37.52 and $20.05, but the real phase totals are $56.57 and $55.46. The dashboard reads its own capped API, so the apparatus under-reports its own experiment in public. The writeup's numbers come from a read-only SQL export instead; backward pagination is on the Phase 3 list.
None of these touched capital. All of them touched knowledge — each one is a place where the record of what happened was incomplete while the money was fine. For an experiment whose entire product is the record, that's the failure mode to engineer against.
What Phase 2 actually measured
Phase 1 asked whether the harness could put a model in a position to trade and record what it did. Phase 2 asked what you can only ask once that works: what does each decision cost, which of those costs are load-bearing, and does the governance hold when there are two agents and you change things mid-flight?
The answer I keep coming back to: once the harness works, the binding constraint on an autonomous agent isn't capability — it's unit economics and governance. Claude produced schema-valid, plan-coherent decisions 6,166 times. The open questions all live on my side of the boundary now: can I afford the decisions, can I meter every model call including the ones in the corners, and can I turn everything off when the phase ends.
The R$15.37 the agents lost is noise. The $112.03 it cost to lose it — and the fact that I can now say that number to the cent, per model, per day, per decision — is the actual output of the phase.
One sentence to remember
A one-field config change cut an agent's thinking cost by 67%, and the cheaper brain traded better.
That sentence should be at least mildly uncomfortable for anyone (me included) whose default is to reach for the biggest model and call it diligence. It's a small sample on a small bankroll — but it's exactly the kind of sentence you can only earn by putting a meter on every single decision and letting the thing run.
Dashboard, data, and the dense version live at the full Phase 2 writeup. Not financial advice. Experiment only.
