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.

◉ ADVISORY OFF-CHAIN · FENCED ON-CHAINCAN ONLY TRADE THROUGH THE EXECUTOR · VAULT-ONLY DESTINATIONONCHAINLive on-chain reads · 60s refresh · Robinhood Chain
BOOK NAV
—
EXECUTOR ETH
0 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 reasoning →Automation status →

THE OBSERVATORY · LIVE DECISION STATE

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% is paid out to holders as ETH before the vault sees it, and a fixed 25% of the rest 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 live: the dome tracks while the momentum lock holds - it is parked today because the oracle history is still shorter than the 100-day lookback, which is a missing lock, not a missing feed. The semaphore arm marks the last 25% tick the trend-adjusted risk target has passed, the mast lamp is the market-hours gate, and the drift gauge weighs the live book against the target. The gate lamp ripples for an hour after a real convert() or trade() lands - green for a buy, amber for a rebalance - and stays still when nothing has happened. Replayed from live oracle reads with the production signal code (agent/signals.mjs) - not advice, and not 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 - read live. The agent only acts when |actual − target| > 15pp.

POSITIONS · LIVE ORACLE MARKS

AssetChainlink price24hVault balanceValueWeight
USOUnited States Oil Fund——25.3467——
SLVSilver Trust ETF——29.5869——
USARUSA Rare Earth——0——

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

TAX PIPELINE · LIVE, BETWEEN CONVERTS

AWAITING SPLIT
0 ETH
on the distributor · 25% of it is held for holders
QUEUED TO BUY
0 ETH
on the executor, waiting for the next fenced convert()
NEXT CONVERT
window open
minInterval is 60 min and immutable — not a setting

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

FULL REASONING PER TXN → /TXNS
WhenKindDetailTx
3d agoTRADErebalanced $274.24 · NAV $5.5K → $5.5K0x86100f57… ↗
3d agoCONVERT0.0212 ETH in → 0.2759 units to vault · via 0x6a02…7b630x100f162a… ↗
8d agoTRADErebalanced $385.70 · NAV $7.7K → $7.7K0xa745116f… ↗
14d agoTRADErebalanced $406.38 · NAV $8.1K → $8.1K0x2427c70b… ↗
19d agoTRADErebalanced $403.20 · NAV $8.1K → $8.1K0x01185c12… ↗
21d agoTRADErebalanced $405.62 · NAV $8.1K → $8.1K0x1573c052… ↗
25d agoTRADErebalanced $373.44 · NAV $7.5K → $7.5K0x2457f2a4… ↗
25d agoCONVERT0.6931 ETH in → 9.0998 units to vault · via 0x6a02…7b630x207f0c94… ↗
29d agoCONVERT1.7351 ETH in → 21.7399 units to vault · via 0x6a02…7b630xed7e8b88… ↗
29d agoTRADErebalanced $154.21 · NAV $3.1K → $3.1K0xf4ccac4a… ↗
29d agoCONVERT1.7372 ETH in → 21.8553 units to vault · via 0x6a02…7b630x2e687765… ↗

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.