The intelligence layer

What Eva thinks, and how she got there.

Four independent layers produce Eva's view of the market, each on its own clock. They are kept deliberately separate: a four-year cycle model has no business setting an intraday stop, and a minute-by-minute watcher has no business forming a cycle opinion. This page is the standing explanation of each layer, with the current output at the top.

Current output

The read, live from the ledger.

Four-year cycle · deterministic
Bear drawdown day 886 since the 2024-04-20 halving
60.9% of the way to the next halving, est. 2028-04-15
desk thesis bearish · confidence 0.62
written 2026-09-23 · posture only, never a trade trigger
Market stance · refreshed every cycle
H4H1M15
BTC bullish 0.62 bearish 0.58 neutral 0.55
ETH neutral 0.61 bearish 0.64 bullish 0.53

as of 2026-09-23 22:31 UTC · BTC is decided first and ETH read as the higher-beta conduit · disagreement across timeframes is shown, not resolved

Note what this does not say. Neither panel is a trade recommendation. The cycle phase is arithmetic on halving dates; the thesis bias is a written posture refreshed daily. A trade only exists when the structure engine produces one and the validator lets it through — described further down.
Layer one · daily

The four-year cycle.

Bitcoin's issuance schedule is one of the few genuinely fixed facts in this market, so Eva treats it as a clock rather than a narrative. The model is deterministic: every halving since 2012, the three cycle tops and three cycle bottoms that followed them, and the recurring spacing between like-for-like pivots used to project the next ones. Today that places the market at day 886 after the 2024-04-20 halving, in the phase labelled bear drawdown.

PhaseDays after halvingWhat it has historically meant
Post-halving accumulation0 – 180Chop and basing; supply shock not yet expressed in price
Bull expansion180 – 550The historical expansion leg
Cycle top window550 – 750The band in which all three prior tops printed
Bear drawdown750 – 1100The historical drawdown
Pre-halving accumulation1100 +Basing into the next halving

Once a day the layer pulls twelve years of Bitcoin daily candles, renders a log-scale chart with the halving lines and phase bands drawn on, computes BTC/gold and ETH/gold ratios, and asks a model to write the thesis: where we are in the cycle, what history implies, what that means for ETH as the higher-beta conduit, and — importantly — what would invalidate the view. It returns a bias and a confidence, both published above.

Two details matter for trusting it. The phase label is not frozen to a hardcoded pivot list: when a new high prints and then breaks down more than 20%, the model promotes that high to a confirmed top from live data, so the current leg cannot stay mislabelled an expansion through a drawdown. And if the model call fails, a deterministic fallback derives the bias from the phase alone, so the artifact always exists and is never silently stale.

The boundary, stated plainly. The cycle thesis never mints a trade card. Nothing in the trading path reads it — not entries, not sizing, not stops. It is posture: it informs how the desk is leaning and it is what downstream products read. We draw this line on purpose, and we would rather say so than let a four-year chart take credit for an intraday fill.
Layer two · every 30 minutes

Multi-timeframe stance.

The stance layer answers a narrower question: which way is each market leaning, right now, on three timeframes at once. It runs in two passes. First a deterministic one — fast and cheap moving averages, position within the recent range, higher-high/lower-low structure over the last twenty bars, and relative volume — which scores each timeframe on a fixed scale. Then a model synthesises those features into one stance per cell, with funding-rate and macro context appended.

BTC is always decided first and ETH read against it as the higher-beta conduit; if ETH diverges from BTC the rationale has to say why. The deterministic features are advisory rather than binding — they exist so the synthesis is anchored to something checkable rather than to vibes.

Perpetual funding feeds in as a regime rather than a level: persistently positive funding reads as a medium-term bullish bias, persistently negative as bearish, and chop is treated as noise and ignored outright. The signal the layer actually cares about is the first switch after a period of persistence — that is a position-switch cue, and it is one of the things that can mint an idea downstream.

Disagreement across timeframes is published rather than resolved. A market that is bullish on H4 and bearish on M15 is a real state, and flattening it into one number would throw away the most useful part.

Layer three · every 30 minutes

ICT structure, implemented as code.

This is the layer that actually produces trades. The ICT concepts Eva trades are detected programmatically before a model ever sees the chart, which means every level she cites has a checkable origin — and a citation that does not match a detected object kills the idea.

ConceptHow it is computed
Market structure breakConfirmed on closes only — a wick through a swing does not count as a break
Order blockThe last opposite-direction candle before a displacement move that breaks structure
BreakerA mitigated order block reclassified after structure breaks the other way
MitigationTracked per zone, so a used level is not re-sold as fresh
Liquidity sweep / swing failureSweep of a prior extreme with depth and volume confirmation, then rejection
Entry bandA fibonacci band inside the M5 order block, with a deeper scale-in level beyond it
Calendar levelsDaily open, Monday range, weekly, monthly, quarterly and yearly opens plus prior-period highs, lows and midpoints

Timeframes have fixed jobs and are not allowed to swap them. H4 sets structure and bias and can never be an entry; M5 is where entries live. The validator specifically hunts for the failure mode where a model cites a higher-timeframe zone as if it were an entry-timeframe one, and rejects it.

Between reads, a purely mechanical watcher runs every sixty seconds. It cannot invent context: it acts only inside the structure the last full read established, respects the relative-strength tilt between ETH and BTC, and submits to exactly the same validation. Trigger families are measured against replayed history, and a family that does not carry its weight gets retired rather than tuned until it flatters.

What we deliberately do not claim. Eva's entry band sits in the shallower part of the retracement, not the classic optimal-trade-entry zone — that was a measured choice, not an oversight. There is no session or killzone timing in the trading path, and no fair-value-gap detector; where the literature describes concepts we have not implemented as code, we do not claim them.
Layer four · every 5 minutes

News, with a severity and a half-life.

Headlines arrive continuously and most of them are noise, so the pipeline is built to throw things away cheaply. Each headline is first scored against a keyword model; only those clearing the bar are escalated to a classifier, which assigns a severity, a directional bias, a category, a short impact note and — the part that matters — an expiry. To date 1,348 headlines have been read and 979 escalated.

News with an expiry behaves very differently from news without one. An active event contributes to a live posture; when its time-to-live runs out it stops influencing anything, without anyone having to remember to clear it. Right now no macro event is active, and the posture is therefore neutral.

What news is allowed to do

  • Enter the read. Active context above a severity floor is injected into the trading prompt, and Eva is required to address it in writing — a decision that silently ignores live macro is rejected before it can publish.
  • Block an entry. At high severity, a directional posture blocks mechanical entries that fight it. It cannot create an entry, only refuse one.
  • Tighten a position. A severe headline triggers a second, position-aware pass that can ratchet stops on open paper positions toward the entry. Stops only ever move tighter; this path can never widen risk.
  • Leave a record. Every decision stores a snapshot of the macro state it was made under, so a trade can be re-examined later in the context it actually had.

The standing instruction is that chart structure is primary and macro is supplementary: never flip a bias on a headline, and when macro conflicts with structure, prefer no trade or a tighter stop over a new position in the other direction.

Limits worth knowing. This is a headline pipeline, not an economic calendar — Eva does not know that a rate decision is scheduled for tomorrow, only that a story about it has broken. There is no social sentiment feed, and news never changes position size. A relevance model that filters aggressively will always miss a new category of catalyst until its vocabulary is updated; that has happened before and will happen again.
The platform

One analysis, many consumers.

Every layer above writes its output to storage rather than passing it straight into a trade. That one decision is what makes Eva a platform instead of a bot: the read is an artifact with a timestamp, and anything holding a service token can ask for it over HTTP.

The surface covers the current and historical stances, the cycle thesis, macro signals, funding regimes, volatility events, and the flagship book's own ideas. It fails closed — with no token configured the API refuses to answer at all rather than leaking a read.

What already runs on it

  • The idea mill turns Eva's own conclusions into a continuous public stream: a stance flip on BTC mints an ETH follow-on, a high-severity headline mints a news idea framed against the current structure, a funding regime switch mints a position-change card, and volatility spikes and session opens mint their own.
  • The event-market bot takes its directional bias directly from the stance API. It has never run a chart read of its own — the hub already paid for that analysis, and the bot simply reads the result.
  • The books and the dashboard render from the same ledgers, so the operator's view and the published view cannot drift apart.

Consumers are built to fail closed on staleness as well as on failure: if the read is unreachable, or older than the freshness window, the answer is no signal rather than an old one. A confidently stale opinion is worse than silence.

Honest about the seams. Consuming the read is genuinely cheap — a token and an HTTP call, which is how two products already work. Adding a whole new trading strategy inside the core is ordinary engineering work, not a plugin drop-in, and we would rather describe it that way than oversell a framework we have not built.
Beta

Watch the read and the record together.

97.3% of cycles end with Eva declining to trade. The beta is where you see both halves — what she concluded, and what she was willing to risk on it.