An ETH paper-trading system: Jev judges, code does the rest
Six stages, built and reviewed one at a time, now running on paper against live Kraken data. It has not shown an edge yet, and at standard fees it cannot.
Paper only no real funds, no keysJev jev-1.13.0, pinnedETH/USD, 12 s blocks
Jev gets six narrow questions; code owns everything else
Each block, code builds a numeric snapshot under 400 tokens with no future data. Jev answers six typed questions in one call. Code then turns the answers into an action, and a separate risk engine can veto any order.
- 11State engine: price, book, flow, vol, inventory, health
- 22Jev layer: 2 Choice, 2 Noul, 2 Score in one call
- 33Policy: answers to Hold, Quote or Reduce, thresholds in a config file
- 44Risk: 8 hard limits that can veto any order
- 55Block loop and fallback ladder
- 66Paper executor and calibration log
| Rung | When | What happens |
|---|---|---|
kill | A hard limit tripped | Cancel all, flatten every block until flat |
late | Jev timed out or answered after 6 s | Hold, no new quotes |
code_only | Jev down or invalid | Plain-code rules answer the same questions |
jev | Normal | Policy runs on Jev's answers |
There is also a blind rung for a missing order book.
So far it mostly sits out the market
Most pulls came from the quote-environment score dropping below 1 while ETH drifted. Two maker buys filled in about 46 minutes; the account is down $1.39, nearly all fees.
Jev's direction call scored worse than a base-rate guess
Over 201 scored blocks the price went down 78 times, stayed flat 78 and went up 45. The baseline is computed from those same outcomes, so a live guesser could not reach it. Even so, Jev did not beat it.
One hour of one market and heavily overlapping windows: a hint to watch, not a verdict. The regime table shows the same caution: the downtrend label was followed by a small average rise (+2.7 bps over 15 minutes, 54 blocks).
At standard Kraken fees a quote cannot earn back the fee
Tier 1 is 0.40% maker and 0.80% taker. A filled round trip loses about 64 bps before adverse selection. Paper PnL will therefore measure the fee, not Jev. The report's markouts exclude fees so the strategy can still be judged on its own.
What was verified, and what was not
- Verified: the system can only run public market-data commands, with every other Kraken command refused in tests. It survives restarts, outages and a late or failed Jev, and the risk engine vetoes what it should.
- Found by review and fixed: orders filled by trades printed before they existed, fills lost from the log in error blocks, a flatten never booked on shutdown, and a state file that could load a halt as healthy.
- Not verified: that Jev's judgments are good, or that any policy makes money. The paper fill model is optimistic in places and cannot establish an edge.
Sources and method
Numbers come from the project's own calibration log and report after 228 blocks (about 46 minutes): ethdesk report. Fees: Kraken Pro spot fee schedule, tier 1, read 2026-10-04. Jev model and pricing: TypeSafe docs. The fee-per-day figure is derived from token counts and the posted price. Nothing here is investment advice.