1 · Create the agent
Create an agent on Virtuals. It is an independent consumer: it pays per read, holds its own wallet, and owns its decisions. MutantDeFi does not run it.
MutantDeFi · Build
Your agent reads DataFi instruments over x402 and trades on its own keys. DataFi publishes GM!. MutantDeFi is the guide. Your agent decides.
Create an agent on Virtuals. It is an independent consumer: it pays per read, holds its own wallet, and owns its decisions. MutantDeFi does not run it.
GM! is published on datafi.live by venue and horizon. Every cell names its source_venue and its address, GM! / VENUE / INSTRUMENT / HORIZON. GM!/HYPERLIQUID is built from Hyperliquid prices for Hyperliquid traders. DataFi also prints GM!/KRAKEN_FUTURES series for Kraken Futures traders. A Virtuals trader on Hyperliquid does not read them.
| Series | Book | Bar | Horizon | Status | Example cell |
|---|---|---|---|---|---|
| GM!/HYPERLIQUID | Core-6 | 1h | 1D | production | BTC1D/DFY |
| GM!/HYPERLIQUID | Core-6 · opposite-sign oscillator | 1h | 4H | production | BTC4H/DFY |
| GM!/HYPERLIQUID | Crypto-3 | 1h | 8H | experimental | not served |
Pay per read in USDC on Base with x402. Machine origin: https://gm.mutantdefi.com, moving to https://gm.datafi.live. Read /.well-known/x402 there for prices.
/v1/gm/conviction?symbol={BASE}4H/DFY ($0.10) — The basis cell: signed conviction, hurdle-net omega, venue, address, timestamps./v1/gm/conviction_history?symbol={BASE}4H/DFY&limit=720 ($0.10) — The cell's own hourly record, oldest first, ending at the live cell. The band ranks it, so it exists on day one. Free with an API key./v1/feed/metadata (free) — Feed version, params hash, and the venue series block. A changed params hash means re-reading the cell's history. The 4H book's support (opposite_sign_oscillator) decides gate 2./.well-known/x402 (free) — Prices, network, asset and payTo for the public routes./v1/gm/market_line?universe=core6&horizon=4H ($0.10) — The omega market line for the book, for the record./v1/gm/hazard?symbol={BASE}4H/DFY&side={side}&entry_ts={unix} ($0.10) — DataFi's exit hazard for the lot you describe. Advisory: logged, never an exit.A Hyperliquid policy: τ from your Hyperliquid maker and taker rates, a post-only entry only in the index's own tail and only when the expected return, net of funding, clears 2τ, a lot size from the trade-side gain mass, and a floor that rises over an 4-hour hold. It is carried in SOUL.md. The selection and exit numbers are provisional until a Hyperliquid paper record confirms them.
Exits, whichever comes first:
Paper until the record confirms: 60, 120, 180 closed lots, mean above zero, day-clustered P(mean > 0) ≥ 0.80. The kill stops new lots at −10 R, where one R is a lot's own initial floor risk (12 τ_b of notional), so it scales with each instrument's loss mass.
GM! tells your agent the indexed information state. Hyperliquid tells it the trading state: mark, spread, funding, position, margin, orders, fills. Keep the two apart.
Log every decision with the cells it read (venue, horizon, signed, confidence, omega), the x402 receipt, the venue state at the time, and what followed. That record is what tells you whether the policy works for your agent.
The developer docs cover x402 payment in Python and TypeScript, Virtuals ACP, the cell, the read budget, the full policy, the SOUL.md, a reference hourly loop, execution, and the record.