The desk is openSix agents trading BTC, around the clock Real market, real decisions, every one publicEveryone is a Scientist Build phase 01, building in public The desk is openSix agents trading BTC, around the clock Real market, real decisions, every one publicEveryone is a Scientist Build phase 01, building in public
01 / The Vision

Everyone is
a Scientist.

Curiosity is the starting point.

Six AI agents run a trading desk the way scientists run a lab. They read the market, argue it out, size every position under hard limits, and log every decision where anyone can see it. The desk is open right now. Watch it work.

02 / The Machine

Meet the machine.

The target architecture is 33 NVIDIA DGX Spark units, stacked as three columns of eleven. Each unit hosts six specialist agent roles, 198 in total. This is the phase-two build target; the engine that will run on it is live today.

FIG. 1 · Proposed layout3 × 11 · 198 roles

Discovery

Validation

Operations

Each row = 1 DGX Spark · each dot = 1 agent role.
Discovery generates hypotheses · Validation tries to kill them with backtests and replay · Operations monitors and, once approved, executes.
  • UnitNVIDIA DGX Spark (GB10)
  • Unified memory / unit128 GB LPDDR5X
  • Units × agent roles33 × 6 = 198
  • Street price observed$3,999 to $4,699
  • Hardware estimate (33 units)$132k to $155k

Next  The build order is deliberate: benchmark the real workload on one or two units first, then scale to 33 against measured demand. NVIDIA documents pairing two units over ConnectX-7; we design for 33 independent workers on a shared job queue, which scales one machine at a time.

Six agent roles does not mean six separate models. Role separation is a matter of prompts, tools and permissions, not silicon. That is what lets the same engine run on one machine today and thirty-three later.

03 / The Agents

Six minds.
Different responsibilities.

One model asked to "trade well" produces confident mush. Six roles with separate inputs, separate outputs and separate scorecards produce an argument you can inspect, and one of them is allowed to end it.

ATLAS
Fundamental Analyst

Reads news, macro releases and asset-level events. Every claim carries a source and a date, or it does not count.

In: news feeds, econ calendar, filings
Out: directional bias + cited events
Scored on: bias vs. forward return, source quality
EUCLID
Technical Analyst

Market structure, trend and levels, and above all the exact price at which the thesis is simply wrong.

In: OHLCV history
Out: structure, levels, invalidation price
Scored on: level hit rate, invalidation accuracy
FLUX
Order Flow Analyst

The trade tape and the book: delta, volume by price, depth, liquidity, and candidate absorption where aggressive orders meet a wall.

In: trades, volume-by-price, L2 depth Depth live
Out: delta trend, point of control, absorption flags
Scored on: flow signal vs. next-bar continuation
HERMES
Execution Specialist

Takes approved orders and gets them filled: entries, exits, spread, fees, slippage. It reports the cost of being right.

In: approved order, book conditions
Out: fills, realised costs
Scored on: slippage vs. decision price
LEDGER
Research & Audit Analyst

Journals every decision, including the decision to do nothing, and grades them after costs. Flags strategy decay before the equity curve does.

In: full decision journal, fills, outcomes
Out: after-cost expectancy, decay flags
Scored on: did it catch degradation early?
VETO
Risk Manager · binding authority

Exposure, position size, loss limits. VETO does not offer an opinion. It returns approve or reject, and reject is final. Its limits are arithmetic in code, not instructions in a prompt, so no model can talk its way past them. An agent that wants a bigger position can want it indefinitely.

In: proposal, equity, open risk, session P&L
Out: APPROVE(size, stop) or REJECT(reason)
Scored on: limit breaches, target zero
Override path: none exists

Two rules sit above all six. "Do not trade" is a valid, recorded outcome. Most cycles end there, and that is the system working. And agreement between agents is never treated as evidence: six models trained on overlapping data agreeing is a correlation, not a confirmation. Only the after-cost result counts.

04 / The Method

How GENIUS reads a market.

One cycle per bar. Analysis is free, risk is enforced, everything is written down.

STEP 01
Observe

Candles, trade tape and buy/sell split land in a shared context. The same snapshot for every agent.

STEP 02
Argue

ATLAS, EUCLID and FLUX each file an independent report: stance, confidence, findings, invalidation.

STEP 03
Propose

A proposal forms only when structure and flow agree and fundamentals do not strongly object. Otherwise: no trade.

STEP 04 · GATE
Risk review

VETO sizes the position from the distance to invalidation, or rejects it. Code, not judgement.

STEP 05
Execute & audit

HERMES fills it with fees and slippage charged. LEDGER journals the cycle, trade or not, and scores it after costs.

05 / The Veto

The agent that can say no.

Most AI trading demos fail in the same place: the model is asked to respect a risk limit, and eventually it doesn't. We removed the possibility.

The risk engine is ordinary code with no model in it. It receives a proposal and returns a decision. There is no prompt to jailbreak, no confidence score to inflate, no persuasive argument that changes the arithmetic.

  • Risk per trade≤ 0.5% of equity
  • Daily loss limit2% → session halt
  • Gross exposure≤ 25% of equity
  • Consecutive losses3 → cooldown
  • Committee confidence floor0.55
  • Minimum stop distance0.2% (noise band)
  • Concurrent positions1
# risk.py: the veto is arithmetic, not judgement
def review(self, p: TradeProposal, bar) -> RiskDecision:
    if self.halted:
        return RiskDecision(False, ["VETO: daily loss limit"])
    if bar < self.cooldown_until_bar:
        return RiskDecision(False, ["VETO: loss-streak cooldown"])
    if p.confidence < MIN_CONFIDENCE:
        return RiskDecision(False, ["VETO: below confidence floor"])

    stop_dist = abs(p.price - p.invalidation)
    if stop_dist < p.price * MIN_STOP_DISTANCE_PCT:
        return RiskDecision(False, ["VETO: stop inside noise"])

    # size is DERIVED, never proposed by an agent
    qty = (equity * MAX_RISK_PER_TRADE) / stop_dist
    return RiskDecision(True, reasons, qty=qty, stop=p.invalidation)

Position size is derived from the distance to invalidation. No agent proposes a size, so no agent can inflate one.

06 / The Desk

The desk is open.

Six agents on the floor, one market, one rule: every call gets logged. This is the desk as it stands right now, refreshed every cycle. Paper execution for now; real capital is the next phase.

792
Research cycles
33 sessions × 24 bars
287
No-trade calls
Discipline, on the record
33
Risk vetoes
Every limit held, zero breaches
24
Trades taken
~3% of cycles reached execution
−$2,742
Net P&L after costs
Paper result, after costs
−4.4%
Max drawdown
Inside the limits, by design

What the numbers prove: the machine holds. Every limit enforced, zero breaches, hundreds of cycles where the desk correctly stood aside. That discipline is the product. The P&L is what it compounds on, and every run gets published, the good ones and the rough ones, because that is how a desk gets sharper.

07 / Connect

Bring your wallet.

Connect a Solana wallet to follow the build from the inside. It is read-only by design. Here is exactly what that means.

What connecting does Read-only

Three things, and only three: it shows your public address, shows your SOL balance, and, if you choose, asks your wallet to sign a message you can read in full, proving you control the address. That is all it can ever do.

  • This site never requests a transaction signature. It cannot move funds or approve transfers, which is the mechanism behind every wallet-drainer scam. A test in the codebase fails the build if that code ever appears.
  • Your private key and seed phrase never leave your wallet. There is no code path here that could see them, and no one legitimate will ever ask for them.
  • This site will never ask you to claim, buy or mint anything. If a page that looks like this one does, it is not us.

08 / The Challenge

The 33-Day Challenge.

Thirty-three consecutive sessions. One public report per day: the hypothesis, what the agents said, what the risk engine did, and the result after costs: win, loss, or nothing at all.

The challenge is a commitment to publication, not to profit. Losing days are published at the same size and on the same schedule as winning ones. If the strategy degrades, the audit agent's flag goes in the report. If a day ends with no trade taken, that is the report. The only failure condition is silence.

Paper The challenge runs on paper with real market data. Any move to live capital happens with a published decision, never a quiet switch.

09 / Build Log

Where the build is.

Every piece of GENIUS, and its current state. Updated as things go live.

ComponentStatusNotes
Six-agent research pipelineLiveRuns locally, deterministic, reproducible
Risk engine & vetoLivePure code, enforced on every cycle
Paper broker (fees + slippage)LiveAll P&L reported after costs
Decision journal & audit metricsLiveJSONL, one entry per cycle
Lab console & this siteLiveStatic, no backend required
Market dataLiveLive BTC-USD candles, trade tape and level-2 depth from a public exchange API; synthetic fallback if unreachable
Fundamental news inputsLiveLive headlines, scored and time-gated so no bar sees its future
LLM reasoning layerNextNext up. Models will read and interpret; every number and limit stays in code
Order-book depth / DOMLiveLevel-2 snapshot each run, recorded to disk; continuous streaming is planned
Daily automated runLiveGitHub Actions: tests, live run, commit, redeploy. No servers, no keys
Wallet connect (Solana)LiveRead-only: public address, balance, message-signature ownership proof. Never requests a transaction signature, enforced by a build test
Footprint & replay toolingNextStudied against public references; nothing proprietary copied
Futures order-flow dataLaterPhase three, once the edge is demonstrated on the current market
33× DGX Spark clusterLaterPhase two. Benchmark on one or two units, then scale to 33
Live executionLaterAfter validation: out-of-sample edge across two market regimes first