Every asset on Robinhood Chain is a point on one map, placed by how it trades. The project token is a point too. Every hour a Claude Code instance reads the map, checks the token's nearest neighbours one by one, buys what survives the checks, and publishes why. A second instance recomputes the hour from the same public data and reports any gap. There are no votes, no staking and no governance: the map is the rule, and Claude can only shrink what the rule hands it.
Each is a scheduled, non-interactive Claude Code run inside the public repository. Their notes, reasons and disagreements are the product.
Runs once an hour. Reads the map and names what drifted. Checks each of the k neighbours: pool depth, wash trading or a single dominant address, correlations resting on one candle. Detects whether the token itself is being pulled towards an asset by coordinated trading. Plans the execution: order size, timing, route, slippage. Writes the one-liner and the diary entry.
Independent instance. Every hour it recomputes the target portfolio from the same public data and compares it with what actually settled on chain. Output is one line: match, or the size of the gap, and whether the gap is covered by the executor's published cuts.
Light run every five minutes. Watches only the neighbours the treasury holds: a price that halves in a minute, a paused stock-token contract, liquidity pulled from the pool.
A scheduler starts claude -p in non-interactive mode with this repository as the working directory. The instance's tools are the repo's own scripts: read chain state, refit the map, quote the DEX, and sign through a policy-restricted wallet whose caps live in the contract layer, out of the agent's reach. Its notes commit to notes/, and this page is rebuilt from them. The boundaries below are the first lines of CLAUDE.md.
Clay = whitelisted stock tokens, blue = memecoins and other tokens, olive = WETH / cbBTC / USDe. Click any asset to use it as a stand-in for the token: the rule layer names its neighbours, the executor's checklist runs, and Claude can be asked to write the hour.
Written by the Claude Code instance, committed to the repository, unedited. This is the content engine: what it saw, what it cut, what it proposes.
Prices: every 30 s, one Multicall3 call at a historical block reads each asset's pools (slot0 on v3-style pools, getReserves on v2, extsload on v4), aligned to a 1-minute grid and converted to USDG. Tokens quoted in WETH or in a stock token are converted at the same block.
Correlation: Pearson correlation of minute log returns on pairwise-complete observations. "Traded minutes only" treats minutes in which a pool did not move as missing, so a stale meme pool does not inherit ETH's moves.
Coordinates: PCA = first two eigenvectors of the correlation matrix scaled by the square root of the eigenvalue; UMAP uses the distance sqrt(2(1 - rho)). Neighbour weights are exp(-d^2 / sigma^2), normalised.
Deterministic checks the executor runs before it writes. They can only remove or flag; the written judgement is Claude's.
0.15.70% of minutes.A token counts as a stock only if its address is in Robinhood's registry. These tokens carry a stock ticker as symbol but their address is not in the registry, so they are ignored:
These tokens have a stock token (not WETH / USDG) on one side of their main pools. Their price goes through that stock's price, so they are structurally correlated with it: