GenesisL1 / Forest Runtime · Models #7 + #6
ETHUSDT
EMA5
Chain 29
Deterministic on-chain inference · Reference dApp

Decentralized AI dual model for ±2% Ethereum breakout prediction

two triple-barrier classifiers · downside −2.0% / +0.7% · upside +2.0% / −0.7% · horizon 5h · 15m candles

CC BY-SA 4.0 · NFTs #7 + #6 on GenesisL1 · 2,500-tree ↓ + 1,496-tree ↑ GBDTs
Execution Ready

Pressing Execute triggers two parallel forward passes against the immutable forests stored on the GenesisL1 ForestRuntime contract. Live ETHUSDT 15m candles are fetched from Binance, the union of both feature schemas (31 distinct causal features) is computed locally, each model's subset is quantised to int32 at scaleQ = 10⁶, and submitted to predictView() via two parallel eth_calls. The contract returns each raw logit; the probabilities shown are their sigmoids.

Historical inference Pick a UTC date and time

Pick any UTC 15-minute candle that has already closed. The same feature pipeline (31 strictly causal features computed only from candles at or before the target) is evaluated at that historical bar, packed at scaleQ = 10⁶, and submitted to both ForestRuntime models via parallel eth_calls. Results overwrite the same probability and verdict cards below. Inputs snap to the nearest closed 15-min boundary; minutes that aren't multiples of 15 round down.

Model #7 · Downside drawdown
P(−2.0% break below EMA5 · 5h)
%
Awaiting execution
Logit (raw)
Threshold
0.500
|p−0.5|·2
Model #6 · Upside breakout
P(+2.0% break above EMA5 · 5h)
%
Awaiting execution
Logit (raw)
Threshold
0.500
|p−0.5|·2
Combined verdict Direction-of-five-hour skew · breakout / chop bounds
Awaiting execution
Directional bias (P↑ − P↓)
no independence assumption
Breakout floor
max(P↑, P↓) — lower bound on P(some breakout)
Range floor
1 − min(P↑+P↓, 1) — lower bound on P(no breakout)
Price anchors USD · UTC · centred on EMA5
Target ↓ (−2.0%)
$
Model #7 drawdown level
Invalidation ↑ (−0.7%)
$
Model #6 retrace stop
EMA5 baseline
$
α = 2 / (5 + 1) · causal
Invalidation ↓ (+0.7%)
$
Model #7 retrace stop
Target ↑ (+2.0%)
$
Model #6 breakout level
Runtime telemetry Phase latencies
Phase Status Latency Detail
Data acquisition
Idle
Awaiting execution
Feature computation (union)
Idle
Awaiting execution
On-chain inference · Model #7 ↓
Idle
Awaiting execution
On-chain inference · Model #6 ↑
Idle
Awaiting execution
Inference history Inner-join · ↑ 500 · ↓ 500 · matched 499
499 records Last bar: May 19 · 00:00 Updated: 6s ago · daemon may be down
Candle (UTC) P↑ P↓ Bias Close EMA5
May 19 · 00:00 0.12% below 8.95% below −8.8% $2,131.49 $2,131.83
May 18 · 23:45 0.07% below 9.58% below −9.5% $2,128.99 $2,132.00
May 18 · 23:30 0.09% below 25.83% weak −25.7% $2,133.63 $2,133.50
May 18 · 23:15 0.04% below 39.49% weak −39.4% $2,131.54 $2,133.44
May 18 · 23:00 0.22% below 19.37% below −19.2% $2,134.15 $2,134.39
May 18 · 22:45 0.31% below 25.25% weak −24.9% $2,134.82 $2,134.51
May 18 · 22:30 0.16% below 44.48% indeter −44.3% $2,134.09 $2,134.35
May 18 · 22:15 0.33% below 8.78% below −8.5% $2,138.82 $2,134.48
May 18 · 22:00 0.66% below 8.74% below −8.1% $2,135.65 $2,132.31
May 18 · 21:45 0.36% below 2.81% below −2.5% $2,136.40 $2,130.64
May 18 · 21:30 1.21% below 2.10% below −0.9% $2,137.02 $2,127.76
May 18 · 21:15 3.59% below 4.31% below −0.7% $2,129.89 $2,123.13
May 18 · 21:00 0.67% below 10.58% below −9.9% $2,120.92 $2,119.76
May 18 · 20:45 1.09% below 16.31% below −15.2% $2,116.56 $2,119.17
May 18 · 20:30 5.59% below 10.35% below −4.8% $2,121.55 $2,120.48
May 18 · 20:15 12.18% below 0.91% below +11.3% $2,127.73 $2,119.95
May 18 · 20:00 21.47% weak 0.03% below +21.4% $2,126.48 $2,116.05
May 18 · 19:45 5.73% below 0.02% below +5.7% $2,124.48 $2,110.84
May 18 · 19:30 21.51% weak 0.35% below +21.2% $2,115.88 $2,104.02
May 18 · 19:15 3.82% below 5.70% below −1.9% $2,104.99 $2,098.09
May 18 · 19:00 4.02% below 0.17% below +3.9% $2,104.93 $2,094.64
May 18 · 18:45 0.01% below 5.48% below −5.5% $2,080.36 $2,089.49
May 18 · 18:30 0.01% below 7.00% below −7.0% $2,086.32 $2,094.05
May 18 · 18:15 0.02% below 9.40% below −9.4% $2,087.53 $2,097.92
May 18 · 18:00 0.16% below 8.19% below −8.0% $2,099.86 $2,103.12
May 18 · 17:45 1.08% below 4.44% below −3.4% $2,107.01 $2,104.75
May 18 · 17:30 1.23% below 1.06% below +0.2% $2,106.56 $2,103.61
May 18 · 17:15 1.13% below 0.51% below +0.6% $2,106.52 $2,102.14
May 18 · 17:00 1.64% below 0.13% below +1.5% $2,101.42 $2,099.95
May 18 · 16:45 0.42% below 1.07% below −0.7% $2,096.56 $2,099.22
May 18 · 16:30 0.28% below 0.73% below −0.4% $2,097.60 $2,100.54
May 18 · 16:15 0.03% below 6.84% below −6.8% $2,092.59 $2,102.02
May 18 · 16:00 0.20% below 0.48% below −0.3% $2,106.20 $2,106.73
May 18 · 15:45 0.70% below 0.33% below +0.4% $2,106.66 $2,106.99
May 18 · 15:30 0.93% below 0.34% below +0.6% $2,106.41 $2,107.16
May 18 · 15:15 0.05% below 0.38% below −0.3% $2,097.07 $2,107.54
May 18 · 15:00 0.08% below 0.80% below −0.7% $2,103.01 $2,112.77
May 18 · 14:45 0.29% below 1.68% below −1.4% $2,109.49 $2,117.65
May 18 · 14:30 0.08% below 1.38% below −1.3% $2,112.73 $2,121.73
May 18 · 14:15 0.23% below 0.31% below −0.1% $2,116.24 $2,126.23
May 18 · 14:00 0.56% below 0.24% below +0.3% $2,123.60 $2,131.22
May 18 · 13:45 1.07% below 0.05% below +1.0% $2,130.07 $2,135.04
May 18 · 13:30 0.10% below 0.34% below −0.2% $2,124.82 $2,137.52
May 18 · 13:15 0.03% below 0.24% below −0.2% $2,141.40 $2,143.87
May 18 · 13:00 0.02% below 0.05% below −0.0% $2,146.59 $2,145.10
May 18 · 12:45 0.02% below 0.02% below +0.0% $2,149.99 $2,144.36
May 18 · 12:30 0.20% below 0.00% below +0.2% $2,154.02 $2,141.54
May 18 · 12:15 0.28% below 0.01% below +0.3% $2,143.80 $2,135.31
May 18 · 12:00 0.20% below 0.00% below +0.2% $2,143.11 $2,131.06
May 18 · 11:45 0.11% below 0.00% below +0.1% $2,132.98 $2,125.03
Showing 1–50 of 499
Model card

Models #7 + #6 — paired gradient-boosted decision-tree forests for short-horizon directional breakout estimation in ETH/USDT perpetual futures.

Abstract

Two independently-trained gradient-boosted decision-tree classifiers run as a pair against the same 15-minute ETHUSDT candle. Model #7 estimates the probability of a −2.0% drawdown below the 5-bar EMA within a 5h forward horizon, before any +0.7% retrace above it. Model #6 estimates the symmetric upside event: a +2.0% breakout above the EMA before any −0.7% retrace below. The two probabilities are not mutually exclusive — both can fire (high volatility expected) or both can be near zero (range / chop expected) — so the dApp also surfaces a directional bias (P↑ − P↓) and explicit lower bounds on breakout-vs-range probability that hold without any independence assumption between the two heads.

Each model was trained on a strict triple-barrier labelling procedure with no look-ahead. Reported test-set numbers come from the per-model held-out partition (10% of each model's dataset).

Methodology

For each candle t the downside model assigns label = 1 iff close falls below EMA₅(t) × 0.980 within the next 20 candles before rising above EMA₅(t) × 1.007. The upside model is symmetric: label = 1 iff close exceeds EMA₅(t) × 1.020 before falling below EMA₅(t) × 0.993. EMA5 is causal (α = 2/(5+1), adjust = false); same-bar conflicts resolve conservatively against the model.

Both models share 22 common causal predictors: log returns at 1 and 12 bars; ATR-normalised volatility regime (Wilder/SMA, 100-bar choppiness, Bollinger bandwidth); 100-bar trend consistency; 9h log return; calendar hour and day-of-week; funding rate (instantaneous, 24h mean, 24h cumulative); EMA5 distance in ATR units; short-horizon RV ratio; 24h return skewness; 6-bar range efficiency; 12-bar trend R²; and an open_time placeholder. Model #7 adds 5 alternative features (3-bar pct return, 12-bar realised vol, 5-bar momentum sum, signed pct distance to EMA5, 3-bar wick imbalance). Model #6 adds 4 microstructure / breakout-context features (signed body fraction, taker-buy imbalance, sign persistence, 24h-low distance). The dApp computes the union (31 features) once per candle and packs each model's subset separately.

Architecture

Model #7: 2,500 trees, depth 8, 64-bin quantile splits, lr 0.067, min-leaf 57, patience 130, refit on train+val, 7.7 MB .gl1f. Model #6: 1,496 trees, depth 8, 48-bin quantile splits, lr 0.07, min-leaf 57, patience 129, refit on train+val, 4.6 MB .gl1f. Both serialised artifacts embed tree topology, split features and thresholds (int32 Q-format), leaf values, and the feature schema in a GL1X footer.

Performance

Per-model held-out test partition. Combined-verdict bounds (breakout floor, range floor) inherit from these but are presented without an independence assumption between heads.

↓ Test accuracy
95.62%
Model #7 · n = 6,478
↓ Test logloss
0.1122
binary cross-entropy
↓ Trees · depth
2,500 · 8
64-bin quantile splits
↓ Features
27
all causal · no leakage
↑ Test accuracy
95.66%
Model #6 · n = 6,474
↑ Test logloss
0.1094
Cohen's κ = 0.663
↑ Trees · depth
1,496 · 8
48-bin quantile splits
↑ Features
26
all causal · no leakage

Inference

Inference runs deterministically and entirely on-chain. Both forest binaries are stored across immutable storage chunks; each registry entry exposes a modelId equal to the keccak256 hash of the serialised binary. Per click, the dApp issues two parallel stateless eth_calls to ForestRuntime.predictView(modelId, packedFeaturesQ) — once per model — and reads back two raw logits as int256 in Q-format. Identical input bytes always produce identical output bytes regardless of node, time, or caller. The probabilities shown are the sigmoids of those logits; the verdict is computed locally from the pair.

Provenance

License
Creative Commons Attribution-ShareAlike 4.0 International
NFTs
tokenId 7 (↓) + tokenId 6 (↑) · GenesisL1 chainId 29
NFT contract
0x44Dc1c54B8D579B42d78cC21cf8260DC0A3279fA
Registry
0x33c9844F77a07e36B98f0FFf8201B8A8b02c2a69
Runtime
0xD2fD0cf461a6cb56Fc08d9aEc120833D8E79044E
Model id ↓ (#7)
0xf4149f429c5f9448ac40e3df0a9e92fdc427a5c684716b4c4f033e827d00d56c
Model id ↑ (#6)
0xc3f477961c610d0f2f8312306c64f91240e7e2058b3f3d931bdf31be7d151e9d
Experimental · No warranty · Not financial advice

Research artifact. Not a recommendation to trade.

This dApp and the model it wraps are released as a scientific reference implementation of deterministic on-chain machine-learning inference on the GenesisL1 chain. Their purpose is methodological demonstration, not production trading. Any output is a probabilistic hypothesis derived from historical data; it is not a forecast, recommendation, or solicitation.

Out-of-sample test accuracy on a fixed historical window does not guarantee live trading performance. Markets evolve and regimes shift. Treat any signal as an empirical hypothesis to be tested under controlled conditions, not as a directive.

Trading derivative instruments carries substantial risk of loss. You may lose more than you deposit. Consult a licensed financial professional before risking capital.