CryptoBot · a side project with a P&L
Net return since launch.
Over the same period, holding Bitcoin lost 15.3%.
4 positions waiting for their sell · last sale 2 days ago · 10 levels armed
+3,27 %
CryptoBot vs HOLD
+3.27%
CryptoBot
-15.3%
Buy & hold BTC
+18.6 pts
of alpha compared to just holding. The bot does not bet on the market going up. It captures the swings, in both directions, and keeps the spread.
How it works
The bot keeps a ladder of 10 limit orders around the current price of BTC/USDC: buys below, sells above. Nothing fancy: it is simply always in position.
The price goes down, one of the buys fills. It comes back, the matching sell fills. The gap between the two, minus the fees, stays in the account. The bot checks the market every 30 seconds, it never hesitates and it never panics. Me, when I traded by hand, I did both.
I adjust nothing. The spacing follows the volatility of the last 14 days, the band recenters when the market moves, the order size follows the balance. My only job is to check the app with my morning coffee.
Real numbers
+$55.35
gross
$10.69
fees
+$44.65
net profit
It is a small account, on purpose. The goal was never to become rich. The goal was to prove that a machine I built can run alone, with real money, and stay positive. It does, since April 28, 2026.
Under the hood
Spacing = max(1.5% of price, half the 14-day ATR). The band recenters every cycle, the order size follows the live balance. Zero parameters to tune.
Stop-loss on drawdown from the highest point, cumulative take-profit target, post-only orders so every fill pays maker fees.
A full simulation mode ran the strategy on paper before one real dollar was engaged. Same code, fake orders.
Every stat on this page (profit, fees, alpha vs HOLD) is computed by the bot's own typed GraphQL API, not a spreadsheet.
A native SwiftUI dashboard with a home-screen widget. The P&L is always one look away.
Dockerized on a home server, monitored with Sentry, forward-only data migrations. It survived every deploy since the launch.
The craft
Domain-driven design with strict CQRS and a purely functional core, for a bot with exactly one user. That is the point: side projects are where I test the method before applying it elsewhere. The Kraken integration is hand-written REST with Web Crypto, the API is typed GraphQL, and every line was written by Claude under my review. Around 220 commits since February 2026.