Documentation

How the desk works.

Helm is a deterministic simulation of an autonomous fund. Real asset data comes off Robinhood Chain; a fixed set of rules turns that data into a book and rebalances it every cycle. This page documents those rules exactly, with the numbers the engine actually uses.

01

Overview

Helm operates a paper desk of tokenized private-market assets: pre-IPO equity, treasuries, private credit, real estate and private funds. It never holds custody of capital and never places a live order. Every fill is simulated.

What is real is the data. Asset prices, liquidity and 24-hour moves are read from Robinhood Chain and overlaid onto the investable set, so any name the chain actually lists is verifiable in the explorer. The rest of the desk is deterministic math: the same inputs always produce the same book, which is why a refresh reproduces the exact state you left.

02

The investment loop

One cycle is a single pass through six agents. Each owns one decision and hands off to the next. The loop is continuous: Steward closes a cycle and Scout opens the next.

Source
Scout
Score
Analyst
Build
Architect
Risk
Sentinel
Route
Executor
Verify
Steward

A cycle is seeded by the mandate and the cycle index, so the whole run is reproducible. Sentinel sits in the middle as a hard gate: nothing reaches Executor until risk clears, then Steward hands back to Scout for the next cycle.

03

The six agents

01 · Scout
Sweeps the universe and applies the sourcing gate: liquidity, a valid contract and a known category.
02 · Analyst
Scores every survivor into a single 0–100 conviction number across five factors.
03 · Architect
Turns conviction into weights, caps single-name risk and enforces the mandate's real-world floor.
04 · Sentinel
An independent circuit-breaker on concentration, weighted volatility and value-at-risk. Can halt the desk.
05 · Executor
Diffs the target book against the standing one and routes the deltas through the paper engine.
06 · Steward
Marks the book to market, recomputes NAV, drift and risk-adjusted return, then hands back to Scout.
04

Conviction scoring

Analyst normalizes five factors to a 0–100 scale across the eligible set, then blends them. Weights shift by mandate; the growth weight and thesis boost below are mandate parameters.

growth    = normalized revenue growth (or yield for RWA)
quality   = 0.6 · liquidity + 0.4 · custodian trust
momentum  = normalized 24h change, clamped to ±50
liquidity = normalized pool liquidity
thesisFit = 100 if category in mandate thesis else 40

conviction = growth·growthW
           + quality·0.20
           + momentum·0.15
           + liquidity·0.15
           + thesisFit·0.15·thesisBoost      (clamped 0–100)

Custodian trust is a fixed score by custodian: institutional names such as BitGo and Chainlink Proof-of-Reserve rank highest. The exact blend, from the engine:

lib/engine.ts · scoreAssets()
const conviction = clamp(Math.round(
  growth    * cfg.growthW +
  quality   * 0.20 +
  momentum  * 0.15 +
  liquidity * 0.15 +
  thesisFit * 0.15 * cfg.thesisBoost
), 0, 100);
05

Portfolio construction

Architect takes the top names by conviction and sizes them inversely to volatility, so two names with equal conviction but different risk do not get equal weight.

weight ∝ conviction / (1 + volatility · 1.5)

then:
  cap        each name at 20% of the book
  rwa floor  raise real-world weight to the mandate minimum
  normalize  weights sum to 100%

The real-world floor guarantees a minimum allocation to treasuries, private credit and real estate regardless of how strong the growth names score. If no real-world name makes the cut, the highest-scoring one is pulled into the book to satisfy it.

06

The risk engine

Sentinel evaluates the target book before a single order is placed. It is independent of the return objective: its only job is to refuse books that are too concentrated or too volatile.

HHI    = Σ wᵢ²                     concentration
wVol   = Σ (wᵢ · volatilityᵢ)      weighted volatility
VaR₉₅  = 1.65 · wVol / √252         1-day 95% value-at-risk
topPos = max(wᵢ)                    largest single position

APPROVE only if:
  HHI < 0.25  AND  wVol < 0.55  AND  VaR₉₅ < 0.08  AND  topPos < 0.25
If any threshold is breached the verdict is HALTED. Executor places zero orders, the standing book is held flat, and the breach is written to the reasoning stream. The desk would rather do nothing than carry a book it cannot justify.

The same discipline is enforced on-chain in the real vault: the manager can only swap within a whitelist, under a slippage cap priced off a TWAP oracle, and funds never leave the contract.

Vault.sol · rebalance()
function rebalance(address tokenIn, address tokenOut, uint256 amountIn, uint256 minOut, uint24 fee)
    external onlyRole(MANAGER_ROLE) whenNotPaused nonReentrant returns (uint256 amountOut)
{
    require(tokenIn == asset()  || assetWhitelist[tokenIn],  "tokenIn !whitelist");
    require(tokenOut == asset() || assetWhitelist[tokenOut], "tokenOut !whitelist");
    uint256 fairOut = oracle.expectedOut(tokenIn, tokenOut, amountIn);
    require(minOut >= fairOut.mulDiv(BPS - maxSlippageBps, BPS), "minOut too low");
    _accrueTurnover(oracle.valueInUsdg(tokenIn, amountIn));
    // recipient is hard-coded to address(this): funds stay in the vault
}
07

NAV, benchmark & metrics

Steward marks each holding to market every cycle. A holding's return blends a dampened momentum drift, a shared market move across the whole book, and vol-scaled idiosyncratic noise, so cycles can go down as well as up.

NAV
Sum of holding values after the cycle's marks.
Benchmark
An equal-weight basket of the same names. Alpha is measured against it.
Total return
NAV versus the starting book.
Alpha
Total return minus benchmark return.
Sharpe
Mean cycle return over its standard deviation, annualized by √252.
Max drawdown
Largest peak-to-trough fall in NAV across the run.
08

Mandates

Three mandates share the same engine but different parameters. The mandate sets the thesis categories, the real-world floor, the maximum number of names and how heavily growth is weighted.

MandateRWA floorMax namesGrowth weight
AI Frontier Growth10%80.35
Balanced Private Markets25%90.25
Real-World Income55%80.10
09

Universe & data

The investable set is a curated list of tokenized private-market names. On load, live market data is fetched and overlaid so any name the chain lists shows its real price, liquidity, 24-hour move and logo. The universe grid labels how many names are live on-chain versus simulated.

Chain
Robinhood Chain · Arbitrum Orbit L2, chain id 4663, gas paid in ETH.
Explorer
Blockscout API v2 for token metadata and holder counts.
Market data
Dexscreener for price, liquidity, 24h change and logos on the robinhood chain id.
Settlement
USDG (Global Dollar) and WETH as the on-chain settlement assets.
Sourcing gate
Minimum $20,000 pool liquidity, a valid contract and a known category.
10

Token & access

$HELM is the key to the desk. Holding it unlocks control; without it the flagship desk is read-only. Access is read straight from the chain by balance.

Tier 0
No holding. Read-only view of the flagship desk.
Tier 1
Any holding. Run cycles and see the full history.
Tier 2
At least 0.1% of supply. Strategy Lab: custom weights and limits.
Before the token is listed the gate is open: every feature is available to everyone. Once $HELM is live, tiers switch on and access follows the on-chain balance.
11

Paper mode

Every fill on the desk is deterministic and simulated. No capital is at risk, no custody is taken and no live order is ever routed. The trading MCP endpoint is shown as the venue the desk would route to, not one it trades on.

Demonstration software. Not investment advice.