Technical Document
Vigil is an automated cycle intelligence service that scans the top 300 cryptocurrencies by market capitalisation together with roughly 120 tokenized real-world instruments each week, and surfaces structurally interesting cycle setups across yearly, quarterly, and monthly horizons. Vigil is structural, not predictive, and does not generate trade signals. It is designed to help discretionary traders systematically identify where conditions for directional movement may be aligning, while keeping execution decisions (entries, risk, sizing, exits) fully in the trader's control.
Introduction
Vigil addresses a practical constraint in higher-timeframe (HTF) structural trading: the number of markets a single trader can scan with consistency is limited by time, fatigue, and selection bias. Vigil automates the scanning and ranking process across a large universe while keeping its reasoning transparent.
Vigil's objective is to identify where setups are forming under a specific structural framework. It does not claim certainty, does not predict outcomes, and does not prescribe execution. The build is centred on cryptocurrency, where the combination of broad listing depth, high cycle variance, and round-the-clock data makes the framework most useful in practice; the same engine now also serves a tokenized real-world universe of indices, commodities, and US equities (see 5.3).
Framework: The 4-year sequential cycle
Vigil is based on a sequential framework in which markets tend to move through repeating delivery phases over multi-year horizons:
- Accumulation (A), range-bound, mean-reverting behavior. Structural base building.
- Manipulation (M), liquidity sweeps and false moves that set up the eventual resolution.
- Distribution (D), sustained directional follow-through (delivery).
- Reset (X), transition that closes the cycle and sets conditions for renewal.
The framework is widely understood in HTF trading communities. The operational challenge is applying it consistently across hundreds of instruments without discretionary drift. Vigil's core contribution is enforcing the framework and its sequencing rules at scale.
Structural insights
Per-instrument cycles dominate macro synchronization
Most instruments operate within their own multi-year cycle and may only loosely synchronize with broader market regimes. Within crypto, an L1 such as BTC can be in Distribution while a smaller-cap altcoin is still mid-Accumulation, or vice versa. Vigil therefore reads each instrument independently rather than projecting a single macro state across all markets, while still using BTC's own cycle position as the dominant correlation reference for the rest of the crypto universe.
The engine formalises this as a personal calendar: each instrument's own four-year sequence is detected from its history and may sit offset from the macro calendar by one to three years. Instruments whose personal calendar diverges from the macro year are surfaced explicitly rather than forced into the majority read. Divergence is treated as information: an instrument running on its own clock is precisely the kind the framework wants kept visible.
Accumulation vs. Active is the primary structural boundary
The most important structural distinction is whether a period is:
- Accumulation (passive, range-bound, low commitment), or
- Active (Manipulation + Distribution, liquidity interaction and directional intent)
Manipulation and Distribution can look similar at the per-period pattern level. Vigil prioritises cycle position (sequence) as the higher-order context for distinguishing them.
Recent confirmed structure anchors the read
In sequential cycle detection, the most recent confidently-classified period carries the most weight in determining current cycle position. Vigil's detection logic anchors on the most recent high-confidence reading and derives the surrounding sequence from that anchor, rather than averaging signals across an entire historical window. This reflects how serious cycle traders read structure: confirmed recent action sets the reference, older periods inform context.
Daily structure is anchored to the New York session
Every higher-timeframe period Vigil reads is assembled from daily bars cut at 0:00 New York time rather than at UTC midnight. The quarterly, monthly, and yearly boundaries the framework works with all derive from this same anchor. The choice matters because the day is the atomic unit every higher period is built from: move where the day closes and you move every sweep, every range, and every liquidity level computed above it. Anchoring on the New York session gives the entire universe a single consistent daily boundary, aligned with where the bulk of price discovery and liquidity events occur, so the same cutoff governs every instrument.
This anchor is analytical only. The weekly broadcast still goes out every Friday at 22:00 CET; the New York convention determines how the underlying bars and periods are drawn, not when the scan is delivered.
The winning profile rotates with the calendar
Replaying historical scans point-in-time shows that what a strong setup looks like is not constant: it changes with the macro year. In Manipulation and Distribution years, follow-through concentrates in instruments positioned low in their multi-year range; in Accumulation and Reset years very little follows through at all, and the honest output is a quiet list. Scoring weights and tier thresholds are therefore letter-aware rather than static: the same structural facts are paid differently depending on where the calendar stands, and the tier lines shift with it (see 4.1).
System architecture
Vigil operates in two layers, with the weekly Friday broadcast assembling outputs from both.
Weekly screener (Layer 1)
Schedule: Every Friday at 22:00 CET, Vigil runs a complete scan across the universe of the top 300 cryptocurrencies by market capitalisation, refreshed at scan time from CoinGecko.
Per instrument, the system:
- Reads multi-year price history
- Applies a minimum-history gate: instruments with under roughly fifteen months of daily data receive no yearly score at all
- Classifies each prior year's structure as A, M, D, or X and enforces sequential law across the historical chain
- Detects the instrument's personal cycle calendar, including its offset from the macro calendar
- Maps remaining liquidity (highs taken vs. remaining, lows taken vs. remaining)
- Measures correlation against BTC and the broader macro state
- Gates out instruments that follow the prevailing macro direction (in a bear macro, instruments that follow BTC drop to score 0 / tier NONE in L1; the inverse rule applies in a bull macro)
- Scores eligible setups with letter-aware weights across cycle position, structure, liquidity, and range location
- Classifies results into one of four tiers: HIGH (red), MEDIUM (yellow), WATCHING (green), or NONE
Two of these steps changed materially in 1.4. First, the RED and MEDIUM thresholds are no longer a single static pair: because the letter-aware weights pay the same structural facts differently across the four calendar years, one fixed cutoff cannot serve all of them. The active thresholds are fitted per letter on point-in-time replays of historical scans (2019 through 2025), under selection rules registered before the results were seen, and the pair switches automatically at each calendar year boundary. Second, WATCHING (green) is no longer a score band: it marks instruments whose personal cycle calendar diverges from the macro year, regardless of score. It is a watchlist of instruments on their own clock, not a lower conviction tier.
The L1 eligibility gate is a deliberate filter: an instrument that simply tracks BTC's macro direction has no independent structural signal under the framework. Filtering it from the scoring loop keeps the pointed list focused on instruments with their own structural read.
A key design choice is transparency. The score is not a black box. Each contributing factor (correlation read, cycle position, liquidity picture, range position, structural confidence) is presented per instrument so the subscriber can see why a setup landed where it did.
On-demand deep analysis (Layer 2)
Layer 2 can be triggered for any instrument at any time to produce a hierarchical read on quarterly and monthly timeframes. Unlike Layer 1, Layer 2 runs on every analysed instrument regardless of L1 tier, since structural Q+M reads remain informative even when correlation rules out an L1 score. Layer 2 also serves the tokenized real-world universe (see 5.3): index, commodity, and tokenized-equity instruments receive the same quarterly and monthly read as crypto.
Question answered: Is the setup active now, and what does the timing signature imply within the framework?
Two-stage detection:
- Stage 1, Accumulation vs. Active: range behaviour, close position relative to the period's range, liquidity sweep classification, and reversal patterns combine into a holistic read. Sweep-with-rejection and sweep-with-continuation are explicitly distinguished, since they carry opposite structural meaning.
- Stage 2, if Active, classify M vs. D: driven primarily by sequential law (cycle position), reflecting that M/D separation is context-dependent. Signals serve as tiebreakers when sequence is ambiguous.
Verdict matrix: Layer 2 produces a 9-cell verdict combining quarterly and monthly labels into one of four conviction states:
- ⚡ Peak Conviction
- 🟢 High Potential
- 📍 Transition Forming
- ⏳ Not Aligned
Sweep-phase modifiers are surfaced as context underneath the headline, not as tier overrides. The Q x M matrix determines the icon directly. This is intentional: the icon describes the structural setup, the sweep notes describe how confirmed the resolution is.
A second tier, the structural conviction line, sits below the matrix verdict and is driven entirely by liquidity geometry: asymmetry between nearest buyside and sellside, distance of the closer target, presence of cleared sides, and a bonus when the closer level comes from the quarterly (higher) timeframe. It reuses the ⚡ / 🟢 / 📍 icons but is directionless by construction, with a "favors long" or "favors short" tag appended based on which side is closer or cleared.
Friday broadcast format
The Friday push is delivered in four messages, in order:
1. Intro. A short framing message goes out just before the scan begins, covering the current macro state, BTC dominance, and the year's cycle position. This sets the structural context for everything that follows.
2. Friday Recap. Compact week-over-week read:
- Lead line, the single most important development of the week (new fresh entrants to ⚡, major tier rotations, or new inverse entrants on the L1 watch)
- Tier transitions: who entered ⚡ / 🟢 / 📍 / ⏳ this week, who dropped out
- BTC dominance with week-over-week delta and a one-line interpretation of what the move implies for alts
- BTC vs ETH alignment, whether the two majors are reading the same Q+M setup
- Inverse watch, any new structural divergences against BTC
3. L1 x L2 Alignment Digest. The intersection set: instruments where the yearly cycle score (L1) and the quarterly + monthly structure (L2) both fire. Grouped by combination:
- 🔴 HIGH + Peak Conviction ⚡
- 🔴 HIGH + High Potential 🟢
- 🟡 MEDIUM + Peak Conviction ⚡
- 🟡 MEDIUM + High Potential 🟢
This is the strongest subset the framework can produce, the cases where both layers independently agree.
4. RWA Weekly. The tokenized-market counterpart: ES / NQ alignment across the quarterly and monthly read, the commodity set (gold, silver, oil, uranium), and the tokenized-stock universe grouped by conviction tier.
Coverage and outputs
Asset class
The scan universe has two parts. The core remains the top 300 cryptocurrencies by market capitalisation, refreshed live from CoinGecko at the start of each scan. Alongside it, Vigil analyses roughly 120 tokenized real-world instruments: index trackers for ES and NQ, tokenized commodities (gold, silver, oil, uranium), and tokenized US equities from multiple issuers, admitted through a candle-quality gate and deduplicated so one company maps to exactly one instrument.
Universe hygiene is enforced on every scan. Stablecoins, treasuries, and peg-like products are filtered structurally rather than by label; dead listings are dropped; and a set of cache-integrity guards (identity stamps, continuity checks, collision protection) ensures a ticker always maps to the same underlying asset across weeks. Instruments with insufficient history for a meaningful cycle read are skipped automatically.
Per-instrument analytical surface
Vigil evaluates:
- Cycle position (current year phase, prior year confirmations)
- Multi-year liquidity map (prior highs and lows, remaining vs. taken)
- Range position within the multi-year cycle
- Correlation with BTC across two timeframes (2-year weekly, 3-month daily) for both direction and timeframe agreement
- Structural detection confidence
- Liquidity geometry on the quarterly and monthly horizons (asymmetry, realistic targets, cleared sides, source timeframe)
Tokenized markets (ES, NQ, commodities, equities)
ES and NQ are no longer display-only anchors: both carry full quarterly and monthly structural reads through their tokenized index instruments, pulled on demand with /l2 ES and /l2 NQ. The same applies to gold, silver, oil, and uranium, and to the tokenized US equity set (/l2 AAPL, /l2 NVDA, and so on, using plain tickers). The yearly cycle score deliberately does not extend to these instruments: it is calibrated on crypto's boom-and-bust cycle geometry, and equity indices that structurally live near their highs would be mis-scored by it. Tokenized markets are a Layer 2 surface.
Per-instrument commands
Layer 1 and Layer 2 can be pulled on demand for any instrument in the universe via Telegram:
/l1 TICKERproduces the yearly cycle analysis with cycle history, liquidity map, range read, correlation context, and structural verdict, including a projected forward liquidity reference when an instrument trades in blue sky above every prior yearly high/l2 TICKERproduces the quarterly and monthly deep dive, including the matrix verdict, the structural conviction tier, and the favored direction
Tier-focused views allow zooming into a single L2 conviction level (/t1 through /t4), the full L1 tier index is available via /l1all, and /rwa produces the tokenized-market overview: indices, commodities, and the tokenized-stock universe grouped by conviction.
On-demand reads reflect live spot price at the moment of the request, so the current price and the distance-to-target figures stay accurate between weekly scans.
Design principles
- Consistency over discretion: identical scan logic runs every week on every instrument.
- Transparency over black box: every flagged setup shows its reasoning and scoring breakdown when requested.
- Structural over predictive: conditions are identified, outcomes are not asserted.
- Anchored on recent confirmation: detection prioritises the most recent high-confidence read rather than averaging across a window.
- Calibrated, not guessed: scoring weights and tier thresholds are fitted per calendar letter on point-in-time replays of historical scans, under selection rules registered before results are seen.
- Data integrity before analysis: feed guards (peg filtering, dead-listing removal, cache identity and continuity checks) run before any structural read.
- Honesty about limits: misreads and edge cases exist, refinement is ongoing.
- Layer separation: L1 (yearly cycle score) and L2 (quarterly and monthly structure) are computed independently. An instrument can fail one and still produce a meaningful read from the other.
Roadmap
Continuous refinement
Edge-case handling and detection quality are tuned weekly as more scans accumulate. The L1 tier thresholds are now fitted per calendar letter; each letter's line is revisited as its next calendar year completes and delivers fresh out-of-sample data. The liquidity-tier banding continues to evolve as live data validates or contradicts current assumptions.
Liquidity scoring depth
The current liquidity-driven structural conviction tier uses a hand-built rule set (asymmetry, distance, source timeframe, cleared-side handling). A successor model will incorporate realised volatility, depth of the remaining stack, and probability-of-hit reasoning so the tier reflects not only static geometry but realistic time-to-target.
Cross-week intelligence
The Friday recap already computes transitions and BTC dominance deltas against the prior week. Future expansion includes mid-week tier-change alerts for the rare structural-divergence subset, multi-week streak tracking, and historical performance views per instrument and per scan.
Web platform, premium edition
Long-term direction: a fully featured web platform as the primary product, with Telegram remaining the streamlined entry tier.
Planned capabilities:
- Unrestricted listing depth (no Telegram render caps)
- Significantly larger instrument universe, extending the tokenized equity, index, and commodity coverage introduced in 1.4
- Interactive visualisations (charts, structural overlays, liquidity maps)
- Toggleable analysis layers
- Historical performance views per instrument and per scan
- Account dashboard (preferences, watchlists, scan history)
- Bidirectional analysis (e.g., explicit bull-case detection on top of the current bear-context default)
Subscription and activation
Telegram tier (current): Weekly Friday scan output (intro message, Friday Recap, L1 x L2 Alignment Digest), on-demand Layer 1 and Layer 2 per ticker, tier-focused commands, L1 tier index, tokenized-market overview, market state intro, and user settings.
Pricing:
- Subscription rate: €108 per month
- Access is permanently capped at 100 subscribers
Activation flow:
- Subscribe via Stripe
- Receive an 8-character activation code by email within seconds of payment (sent from Vigil via the verified
send.gainvigil.comdomain) - Open Telegram, message
@VigilMarketBot - Send
/activate YOUR_CODEto the bot - Access is granted instantly, the next Friday broadcast arrives on schedule
Renewals are handled automatically by Stripe. Failed payments trigger a Telegram DM with a 3-day grace window before access pauses. Cancellation preserves access through the end of the current paid period.
Track record and grading
Every flag Vigil publishes is graded against what the market actually did, and the full record is public. These rules are pre-registered: they are published before the scorecards they govern. Changing any of them is a version event, never a silent edit, and prior records stay frozen under the rules they were graded with.
The record is public and requires no subscription. Message /perf to the bot for the latest matured week, or /perf agg for the lifetime record. These commands render stored, immutable records only. A public request can never trigger new grading or alter anything.
What gets graded
Every flag from a weekly scan that carries a conviction tier (High Potential, Peak Conviction, Forming) together with a directional thesis and both of its levels recorded. Flags without a thesis, or without usable price data, are excluded, and those exclusions are themselves counted in the stored record rather than quietly dropped.
The trade (Playbook p1)
Each flag is graded as a single mechanical trade under one fixed rule: enter at the flag price on the flag's favored side, stop at the opposite level, and exit either at the target or at the end of a 4-week window. Equal size on every trade, no fees.
- A trade that reaches its target counts the full distance to that target.
- A trade that reaches the opposite level first counts the full distance to the stop, as a loss.
- If both levels are touched on the same daily bar, the trade is counted as the loss. The ambiguity is always charged against Vigil, never in its favour.
- A trade that reaches neither level is marked to market at the window's end.
Levels are the flag's own nearest liquidity levels, recorded at scan time and never adjusted afterward.
The headline number
The published figure is the average return per trade, per tier. Because every trade is capped on both sides by its own levels, no single coin can distort the average. This measure carries a deliberate honesty property: under a random market, this exact trade structure earns precisely zero, since the higher chance of reaching the nearer level is exactly cancelled by its smaller payout. Any average persistently different from zero is therefore signal, not an artefact of structure. The share of profitable trades, the worst trade, and the best trade are shown beside every average.
All tiers, identical rules
The scorecard shows every tier under the same rules, in the same format, winners and losers alike. Because the rules are identical across tiers, any difference in return between tiers is carried by the tier label itself, not by a change in how the tiers are measured.
Backfill and forward cohorts
Cohorts flagged before this playbook was defined are graded under the same frozen rules and labelled backfill permanently. Forward cohorts accumulate weekly: each Friday scan is frozen at send time and graded once, four weeks later.
What is stored beyond the card
Every graded cohort's full record (per-flag outcomes, per-tier counts, exclusions, and level bookkeeping) is stored immutably and kept for audit. Raw level-touch rates are treated as bookkeeping, not as the product claim: in a trending market they flatter any with-trend call, which was verified against control strategies before anything was published.
Versioning
Engine changes bump the engine version; grading-rule changes bump the grader version; playbook-rule changes bump the playbook version. Each cohort is graded once per version set, and the record is immutable. Reports never blend versions into a single number. If a grading bug is ever fixed, the original outcomes are preserved and the corrected ones are published separately under the new version.
Honest limits, stated first
This is hypothetical mechanical trading: equal size, no fees, no slippage, and it assumes both trade directions were available on every coin. Early samples are small, and a small sample cannot prove an edge in either direction. The record exists precisely so that time settles the question in public, one Friday at a time.
Disclaimer
Vigil is a screening and research tool, not a trade signal service. It identifies instruments where structural conditions for a directional move are aligned within the framework. Whether and when to enter, where to place stops, how to size, and when to exit are separate decisions that require additional analysis and individual judgment.
Vigil is educational analysis only, not financial advice. Crypto trading involves substantial risk. Subscribers are responsible for their own trading decisions and risk management.