Skip to content
Pixel-art scene: a field laptop running the strategy terminal beside a signal mast
AGENT · THE STRATEGY, RUNNING

The agent proposes.
The fence disposes.

This page runs the agent's own code — agent/signals.mjs, the exact module the live agent executes — in your browser, on live Chainlink reads. It computes what the strategy wants; the executor's on-chain fence decides what may actually happen. Pre-launch there is no vault, no ledger and no PnL, and this page says so rather than inventing them.

◉ ADVISORY OFF-CHAIN · FENCED ON-CHAINCAN ONLY TRADE THROUGH THE EXECUTOR · VAULT-ONLY DESTINATIONPRE-LAUNCHPre-launch · signals live, book not deployed · Robinhood Chain
BOOK NAV
EXECUTOR ETH
MARKET GATE · LIVE
NAV = vault balances × live Chainlink prices; executor ETH is tax queued for the next fenced convert(). Both are on-chain reads and do not exist before launch. The market gate is live today - it reads the feed clocks.Every trade it has made, with its reasoningAutomation status

THE OBSERVATORY · SIGNALS LIVE, HANDS ARMED

THE AGENT, IN PLAIN WORDS · ARMED, NOT TRADING
NOW

Nothing is deployed yet, so the agent cannot trade. The machine is armed and idling - that is exactly what the scene shows: the brain runs, the hands wait.

WHY

The agent watches oil's last 100-day price trend on live Chainlink feeds. Right now the feed does not span the full lookback, so it would hold the base mix of 60% oil / 40% silver - the designed fail-safe, not a signal.

RULES

At launch, a keeper will crank the machine every 30 minutes. Collected trading tax buys assets for the vault (a fixed 25% goes to the operator - the agent never chooses sizes, it spends what accrued), the mix is rebalanced only when it drifts past ±15 points (never more than 5% of the book in one trade), and every fill must clear an on-chain Chainlink price fence or the whole transaction reverts.

The signal state above, drawn. The dome is open because the signal inputs are genuinely live today - Chainlink reads and oracle history through the production signal code (agent/signals.mjs); the semaphore arm marks the last 25% tick the trend-adjusted risk target has passed; the amber gate lamp means the trading hands stay armed until launch, and the drift gauge is absent because no live book exists to measure. Nothing here is invented, and none of it is advice or a promise of trades.

WHAT EACH THING MEANS · FEATURE BY FEATURE
DOME & TELESCOPE
The trend signal. The slit is open and the barrel tracks while live oracle inputs exist - genuinely true even pre-launch, because the signal runs on real Chainlink reads through the production signal code. Missing history shows as a visible no-lock, never a pretend signal.
SEMAPHORE ARM
The trend-adjusted risk target, shown at the last 25% tick it has passed - the readout understates, never overstates.
MAST LAMP
The trading gate. Amber means ARMED - the brain runs but the hands may not trade; it lights only when trading is genuinely enabled on-chain.
DRIFT GAUGE
Weighs the live book against the target - so it appears only once a live book exists to measure. No book, no needle: absence is the honest state.
NIGHT VS DAY
Same rule as the camp: night is the pre-launch shift, and the scene turns to day by itself when the liveness gate opens.

Every element above maps to a real on-chain or oracle read - the scene may decorate the truth, never replace it. Nothing is invented, nothing accumulates for show, and none of it is advice or a promise of returns.

LIVE SIGNAL · THE AGENT'S EXACT CODE (agent/signals.mjs) ON LIVE CHAINLINK READS

reading feeds…
MARKET GATE · 24/5 FEEDS

Waiting on the first live feed read.

100D MOMENTUM · USO ORACLE CLOSES
UNKNOWN

Not enough real daily closes to answer honestly - the agent treats unknown trend as unknown, never as zero.

TREND FILTER → RISK TARGET
60/40

Trend unknown - the base 60/40 target stands, disclosed as unknown rather than invented.

USAR STANDING BUY · ≤ ORACLE +3%
PARKED

Fail closed: no live quote. The documented reality: USAR's only pools quote 6-11x oracle (fee-trap pools, docs/V4-POOLS.md), so the fence keeps this buy parked. Oracle price now: —.

THE FENCE · WHAT THE SIGNAL CANNOT DO

This panel is the signal.
It is not a trade.

Whatever it says, the executor's on-chain fence bounds what can actually happen: every leg checked against dual Chainlink feeds (≤ oracle +3%), at most 5% of NAV per trade, allowlisted assets only, output force-returned to the vault in the same transaction. A compromised agent key is bounded the same way.

TARGET VS ACTUAL WEIGHTS

USO United States Oil Fundtarget 60% · actual
SLV Silver Trust ETFtarget 40% · actual
USAR USA Rare Earthtarget 0% · actual

Targets are the LIVE trend-adjusted signal above (USO 60% / SLV 40%; USAR targets 0 until its fence clears). Actual weights are vault balances at Chainlink prices - they do not exist until the vault deploys, so this column stays "—". The agent only acts when |actual − target| > 15pp.

POSITIONS · LIVE ORACLE MARKS

AssetChainlink price24hVault balanceValueWeight
USOUnited States Oil Fund
SLVSilver Trust ETF
USARUSA Rare Earth

Prices are live Chainlink reads. Balances are on-chain vault reads and show "—" until the vault deploys - nothing here is ever simulated.

TRADE LEDGER · DECODED trade() / convert() EVENTS

FULL REASONING PER TXN → /TXNS

The ledger starts at launch

Every convert() and trade() the executor ever performs emits an on-chain event (Converted / Traded). This table decodes them straight from the chain - amounts, NAV before/after, transaction hashes. Nothing exists yet because no contract is deployed, and this site does not fabricate history.

Every trade this agent has actually made - decoded, proven by its transaction hash, with its reasoning replayed from oracle history in your browser: /txns. The automation cadence, watchdogs and the keeper's live decision trace: /ops. $MSTRGY never shows a number that is not an on-chain read.