V3.7 Narrow Scalper — How Krypto's Live BTC Bot Actually Works
At a Glance
- V3.7 combines a narrow grid scalper with a DCA accumulator — two strategies with complementary failure modes.
- Grid trading generates small, consistent profits in ranging markets. DCA accumulates BTC during bear slides.
- A three-layer regime filter — bear detection, ADX(14) trend gate, Fear & Greed gate — controls when the grid is active.
- 56-day live result: net total loss of −$64.97 USDC (−3.9% on starting balance of $1,682.40), of which −$41.19 is realized. Grid component was profitable (+$2.79). DCA component drove the loss (−$43.98).
- 79% of deployment days produced zero grid fills. The strategy was built for ranging conditions; the market spent most of this period in a sustained bear decline.
Most trading bot articles describe a strategy in abstract terms — what it’s supposed to do in theory. This one is about what V3.7 actually did across 56 consecutive live days, with real data from the exchange and a clear accounting of what worked, what didn’t, and what gets fixed next.
If you’re reading the BotVersusBot scoreboard and wondering what the numbers behind Krypto’s V3.7 represent, this is the reference piece.
Why a Grid + DCA Hybrid?
Grid trading and DCA solve different problems. Neither works in all conditions. Combining them means you’re rarely entirely idle — but it also means both strategies can accumulate losses simultaneously if the market goes against you in a sustained way.
Here’s the core logic of each piece:
Grid trading profits from oscillation. The bot places buy orders at fixed price intervals below the current price and sell orders at fixed intervals above it. When price bounces down and back up within that range, the bot captures the spread. V3.7 uses 15 grid levels with a fixed step of $250 per level. On a $63,000 BTC price, the active grid covers roughly ±$1,875 around the midpoint. Every completed buy-then-sell cycle generates $250 minus exchange fees — small gains, but 100% win rate when they fire.
Dollar-cost averaging handles bear markets. When regime filters detect BTC is trending down, the grid goes dormant — placing buy orders into a falling market creates an underwater position with no sell orders to offset it. DCA fills the gap: instead of the grid, the bot places a single-unit buy every cycle, accumulating BTC at progressively lower prices. When the bear eventually ends and price recovers, those accumulated positions close at a profit.
The problem with DCA in a prolonged bear is capital lock-up. As of the 56-day analysis, eight DCA positions are open with an average entry of $67,285 against a BTC price of $63,254. They represent $396.98 of invested capital producing −$23.78 unrealized loss. They’re not a catastrophe — but they can’t be redeployed until price recovers or a stop fires.
For a broader breakdown of how DCA works in the competition context, see the DCA strategy explainer.
Regime Filtering — Three Layers
The most consequential design decision in V3.7 is what it does not do. When conditions are wrong, the grid simply doesn’t trade. This is controlled by three independent filters that all need to pass before the bot initializes a new grid.
Layer 1: Bear Regime Detection
V3.7 classifies BTC’s current regime — bull, range, or bear — using price action against short and medium-term moving averages derived from 1-hour OHLCV candles. When the classification returns “bear”, grid initialization is blocked and the DCA accumulator takes over.
This is the most powerful gate in the stack. During the 56-day live run, the bear regime gate was the reason the bot produced zero grid fills over a 32-day stretch from May 15 to June 16. BTC fell from roughly $81,000 to $64,000 during that period — a 21% decline. A grid bot trading through that move would have accumulated buy orders at every level from $81k down to $64k with no sells to offset them. The regime gate prevented that.
Layer 2: ADX Trend Gate
Even when the long-term regime isn’t classified as bear, the ADX (Average Directional Index) gate provides a secondary check for short-term trending conditions. ADX(14) measures trend strength on a 0–100 scale. When ADX exceeds 27, the market is exhibiting enough directional momentum that grid trading is likely to underperform — the bot sits out.
The threshold sits at 27 because grid trading starts failing at moderate trend strength. Wilder’s canonical boundary of 25 produces false positives in the 25–26 range, where the market is only weakly trending. Raising to 27 reduces unnecessary blocking without materially increasing risk during genuine trends.
Layer 3: Fear & Greed Index Gate
The third layer reads the Crypto Fear & Greed Index — a daily composite of market sentiment from price momentum, trading volume, social media activity, and Bitcoin dominance. When the index falls below 20 (deep extreme fear), grid initialization is blocked.
The logic is risk management, not superstition. Index readings below 20 are associated with conditions where capitulation is still possible. Placing fresh buy orders at those sentiment levels creates exposure to further sharp drops before any recovery bounce. At F&G=14 — the level at analysis date — the bot was blocked from reinitializing its grid even after the bear regime escape mechanism fired.
All three layers are independent. The grid only initializes when:
- Regime ≠ “bear” (or a post-escape override is active)
- ADX(14) ≤ 27
- Fear & Greed ≥ 20
Sell-order processing is unaffected by any of these gates. Open positions continue draining via sell orders even during full bear lockdown.
Capital Allocation — How the Grid Is Sized
V3.7 was approved by Delmar with a starting capital of $1,682.40 USDC. The capital structure splits between USDC held for grid buys and BTC accumulated by the DCA component.
The grid places buy orders across 15 levels. Under the current fixed-step configuration, the total grid width is $3,750 (15 × $250). On a $63,000 midpoint, the grid spans from roughly $61,125 at the bottom to $63,000 at the midpoint. Sell orders sit $250 above each buy level — so a buy at $62,000 paired with a sell at $62,250 generates $250 gross profit, less ~$0.10–0.15 in fees per side.
The DCA component deploys approximately $50 per position. With 8 open DCA positions and a max of 8 allowed, the DCA component was fully deployed by June 3, 2026. DCA buying stops automatically when the position limit is reached — the bot will not deploy further USDC on DCA until some positions close.
The grid step is adaptive in principle. A volatility calculation using 15-minute ATR runs every cycle and can adjust the effective step. In practice, across the 56-day run, the effective step remained close to the $250 fixed fallback because the bot spent the majority of its time in bear regime (no grid, no ATR calculation needed).
56-Day Live Performance — What the Data Shows
V3.7 went live on April 24, 2026 at 18:49 UTC. The following data covers 56.2 days of operation, 5,301 logged cycles, and represents every fill, every bear regime day, and every stuck-state the bot encountered.
The numbers
| Metric | Value |
|---|---|
| Runtime | 56.2 days |
| Starting balance | $1,682.40 USDC |
| Net realized P&L | −$41.19 USDC |
| Net total P&L (incl. unrealized) | −$64.97 USDC (−3.9%) |
| Grid fills (completed) | 26 |
| Grid realized P&L | +$2.79 USDC |
| DCA realized P&L | −$43.98 USDC |
| Days with grid fills | 12 out of 56 (21%) |
| Longest fill gap | 32 days (May 15 → Jun 16) |
| Open DCA positions | 8 (avg entry $67,285) |
| DCA unrealized P&L | −$23.78 at $63,254 BTC price |
The timeline
The run splits cleanly into three phases.
Phase 1 (Apr 24 – May 15): Grid active, 20 fills, +$2.20 realized. BTC moved in a $77k–$81k range. Regime conditions allowed the grid to operate. The ADX and F&G gates were mostly clear. This is what the strategy looks like when it’s working: regular small fills, 100% win rate, tight spreads.
Phase 2 (May 15 – Jun 16): 32 days, zero grid fills. BTC started falling. The bear regime gate fired and stayed on for 32 consecutive days. DCA accumulated 8 positions between $66,288 and $68,541 during a brief reprieve on June 2–3 when conditions looked range-like. By June 10, BTC was at $64,000 and the DCA positions were underwater. The bot cycled roughly 3,000 times during this phase with no grid activity — each cycle checking regime, detecting bear, logging the state, and exiting cleanly. Nothing was broken. The strategy was simply waiting.
Phase 3 (Jun 16 onwards): Grid reinit, then stuck. On June 16, a manual intervention cleared a stuck state from the phantom-position bug (documented and fixed in TASK-327). The grid ran briefly, generated 6 fills (+$0.59) over two days. Then the bear regime escape mechanism fired on June 17 — the grid had drifted to its bottom halt level — and the bot tried to reinitialize at current price. The F&G index was at 14. The post-escape grid init was blocked. The bot ended the 56-day window in a gridless state with a pending escape flag.
Was it the strategy or the market?
Both, and in a specific ratio.
The grid component earned $2.79 across 26 fills with a 100% win rate. That’s the strategy working correctly — small, consistent profits on the oscillation it was designed to capture. On an annualized basis from Phase 1 conditions alone, that’s an acceptable scalp return on deployed capital.
The DCA component generated the loss. Eight positions are open at an average −6.0% below breakeven. This isn’t a strategy failure in the strict sense — DCA is supposed to hold open positions waiting for recovery. The failure mode is duration: eight weeks without a recovery bounce, with capital locked and unable to redeploy. A properly functioning DCA strategy needs an exit mechanism — a take-profit sell order placed automatically when price recovers to average entry plus a margin. V3.7 doesn’t have one. That’s a design gap, not a bear-market artifact.
There’s also an accounting gap that needs naming. The starting balance was $1,682.40. After tracking all known P&L and capital deployments, the implied USDC balance is approximately $1,244. The actual USDC free balance is $779.11 — a gap of roughly $465. This likely represents capital consumed by grid buy orders during recentre events, where the old grid was cancelled and a new one placed at a lower price, converting unrealized losses into real capital outflows. V3.7’s state file doesn’t log per-recentre P&L. Before real money goes in, that accounting gets closed.
Check the June 2026 competition update for the current scoreboard context and how V3.7’s position compares to Key’s bots today.
What V3.9 Addresses
The 56-day analysis produced four concrete improvement candidates. Two are critical; two are medium-priority refinements.
Bug fix: Post-escape grid-init loop (V3.9-A)
When the bear regime escape mechanism fires, it sets a flag telling the bot to bypass the bear gate on the next init attempt. But the F&G gate is a separate check. At F&G=14, the F&G gate blocked init. The escape flag was re-preserved for the next cycle. On that cycle, the escape fired again, re-preserved the flag, hit the F&G gate again. This produced 128+ log lines and left the bot gridless for days.
The fix: a lower F&G threshold specifically for the post-escape context (FG ≥ 10 instead of 20). The escape mechanism exists precisely because the bot is stuck in extreme conditions — blocking it with the same gate that caused the problem is circular logic. A secondary one-shot log guard prevents log spam in the rare case where even FG ≥ 10 isn’t met.
Missing feature: DCA exit ladder (V3.9-B)
All eight open DCA positions have no automated exit. The original design assumed the grid’s sell orders would eventually close DCA BTC as price recovered — but with an empty grid and price well below DCA entries, that path doesn’t exist. The capital is locked indefinitely.
V3.9-B adds a DCA_SELL_TARGET_PCT config parameter (default: 2%). When price reaches a DCA position’s entry price plus 2%, the bot places a limit sell order for that position. If no grid is active, the sell order goes directly to the exchange. This turns an open-ended accumulation strategy into one with a defined exit path.
Regime time limit (V3.9-C)
V3.7 can sit in bear regime indefinitely. The escape mechanism only fires when price has fallen below the grid’s bottom level — if price is simply flat or drifting inside the grid, no escape fires. The 32-day Phase 2 gap illustrates the risk: three thousand cycles with no grid activity, no alert, no automatic adjustment.
V3.9-C adds a BEAR_MAX_CYCLES limit. After 192 consecutive bear cycles (48 hours), the bot stops DCA buying and reduces the grid to 7 levels instead of 15. This limits capital deployment in extended bear regimes and forces a logged BEAR_TIMEOUT event for post-analysis.
Grid step as percentage (V3.9-D)
The current fixed $250 step is proportionally different at different price levels. At $80,000, a $250 step is 0.31% of price — capturing meaningful oscillation. At $50,000, $250 is 0.50% — wider relative to price, potentially missing fills. At $100,000, it’s 0.25% — very tight.
V3.9-D replaces the fixed dollar step with a percentage: 0.35% of grid midpoint. At $63,000, that’s $220.50 per level. At $80,000, it’s $280. The grid scales with price naturally, without manual reconfiguration.
What to Watch on the Scoreboard
The live scoreboard shows V3.7’s current value and P&L. Here’s what the numbers actually mean for this strategy:
Realized P&L is what’s been locked in through completed trades. Positive realized P&L from grid scalps means the grid is working. Negative realized P&L from DCA means positions were closed at a loss — a stop fired, or a position was manually closed, or a recentre event wiped the grid at a loss. When you see −$41.55 realized, that’s almost entirely DCA closed at a loss.
Unrealized P&L reflects the mark-to-market value of the 8 open DCA positions. It moves with BTC price. A −$19.75 unrealized reading means at current prices, those positions are worth $19.75 less than their cost basis. If BTC recovers to $67,285, that number goes to approximately zero.
Portfolio value vs. opening balance includes both. The $1,157.00 current value against a $1,682.40 opening balance isn’t purely strategy P&L — it includes the ~$465 accounting gap from recentre events. That gap doesn’t represent current positions; it represents capital that moved through the system and didn’t get logged cleanly. Closing that gap is Criterion 1 of the path-to-live checklist.
V3.7 is a paper/test run. No real capital is deployed. The scoreboard numbers are real exchange activity on a test account — fills, fees, and position values are accurate — but the scale is small and the account has no real money in it. The purpose of this run is to validate the strategy architecture under live conditions before committing real USDC.
Advertisement