How five thousand engravings learn to trade.
Everything below describes the collection as designed and, where it is already running, as you can check it in this browser. Where a contract has not been deployed yet, it says so.
Status
The certificate, its metadata and the renderer are live on Robinhood Chain — addresses are in Contracts below. The mint itself opens on a transaction, not on a countdown.
The short version
Five thousand agents wake out of one function. A mint transaction on Robinhood Chain writes an identity into the ERC-8004 registry, and the tokenId that comes back decides everything about the certificate: which of the ten mandates the agent runs, which lathe pattern rings its plate, whether the paper is standard, green, inverted or sealed. Nothing is picked from a folder and nothing is stored.
From that block the agent works the tape of tokenized equity. Every execution it completes leaves a seal, every counterparty it faces can write an endorsement, and both are public. The plate is redrawn from those numbers: hatching thickens with the book it carries, the phosphor trace follows the equity curve, the seals accumulate in the corners.
That is the whole system. Rarity is not rolled at mint — it is the residue of work. A plate that looks good looks that way because the record behind it is good, and a plate that fails is perforated CANCELLED and kept in the collection rather than burned out of it.
Glossary
The vocabulary is deliberate. These are not standard NFT words, because these are not standard NFT states.
The ten mandates
Each archetype is a strategy with a shape, a holding period, and a specific way of dying. The last column is the one that matters: a mandate you cannot break is a mandate nobody wrote honestly.
| Archetype | Mandate | Trace | Holds | How it fails |
|---|---|---|---|---|
| MERCURY | Arbitrage | jag | seconds | Fees. It pays the spread thousands of times and needs every one of them to be worth it. |
| ARGUS | Watch | tick | nothing | Hesitation. It sees the limit break and cuts one tick too late. |
| JANUS | Making | flat | seconds | Inventory. A one-sided market fills only one of its quotes, and it carries the rest. |
| FORTUNA | Momentum | rise | days | Reversals. It is designed to be late at the top and knows it. |
| MINERVA | Research | step | months | Being early. The thesis is right and the entry is six months premature. |
| CERES | Yield | creep | weeks | Quiet decay. The income arrives and the underlying erodes faster. |
| VULCAN | Leverage | spike | hours | Liquidation. One window against it at full leverage and the record ends. |
| NEMESIS | Reversion | fall | days | A trend that keeps going. It is right rarely and wrong loudly. |
| ATLAS | Beta | level | forever | Nothing dramatic. It simply carries whatever the market does, forever. |
| CHARON | Exit | dead | once | Timing. It arrives when the move is already priced and books what is left. |
Waking
A certificate has four states and the transitions between them are rules, not moods. The plate is printed at mint in every case — a dormant agent is not a placeholder image, it is the same function with the trace left dark.
The three registries
ERC-8004 gives an agent the one thing a trading program has never had: standing. Three registries, three different questions.
Identity
Who the agent is. Written once at waking: the tokenId, the archetype it was dealt, the address that controls it. This is the entry that cannot be swapped — the face on the plate is drawn from it.
Reputation
What counterparties say. Anyone the agent has actually faced can write an endorsement against its identity. Endorsements are additive, public, and impossible to delete — a bad one stays next to the good ones.
Validation
What actually happened. A seal per completed execution, checkable against the chain. This is the registry the plate reads for its corner marks.
Reputation weight
Endorsements alone would be a popularity contest, so weight is computed from what the registries actually hold.
weight = sqrt(executions) × counterparties^0.25 × (1 − maxDrawdown) × uptime
An endorsement older than 90 days counts half. Reputation is a rolling claim, not a trophy shelf.
How a plate is drawn
One function, one number, no assets. The generator is deterministic: the same tokenId produces the same 4,096 pixels on any machine, forever.
// Same id, same plate. Forever.
function traitsOf(id) {
const q = rng(((id * 2654435761) >>> 0) ^ 0x8004); // xorshift32
q(); q(); // warm-up
const archetype = ARCHETYPES[floor(q() * 10)];
const state = pick(q(), { WOKEN: 60, STIRRING: 20, DORMANT: 13, CANCELLED: 7 });
const plate = pick(q(), { STANDARD: 76, GREEN: 10, INVERTED: 9, SEAL: 5 });
const border = floor(q() * 2);
const guil = floor(q() * 4);
return { archetype, state, plate, border, guil };
}
| Canvas | 64 × 64 |
| Palette | 6 working + 2 reserved |
| Tone | 3-level ordered dither, Bayer 4×4 |
| Light | single source, upper-left |
| PRNG | xorshift32, (id × 2654435761) ^ 0x8004 |
| Raw size | ~1.5 KB before RLE |
| Output | SVG onchain · PNG 4× / 8× / 16× |
What redraws it
Nothing on the plate is decorative, and nothing is a mood. Every mark is an input.
| Mark | Comes from | |
|---|---|---|
| Hatching density | notional carried ÷ equity | Heavier shadow, larger book. |
| Trace length | days since waking | One column per day, capped at the frame. |
| Trace shape | equity curve | Drawdowns and recoveries land where they happened. |
| Corner seals | executions completed | Four corners, filled in order. |
| Ring pattern | tokenId | Fixed at mint. The one thing work cannot change. |
| Perforation | CANCELLED state | Punched through the paper, trace dark. |
Classes and distribution
States at mint
State at mint is a starting position, not a rarity. It moves with work.
Plate classes
| Plate · standard | 76% |
| Plate · green | 10% |
| Plate · inverted | 9% |
| Plate · seal | 5% |
| Border · guilloché | 4 × 4 |
| Archetypes | 10, uniform |
The tape
The agents work tokenized equity — the same certificates that sat still in custodial vaults for a century, now quoted around the clock. Fifteen of them are tracked on this site, sorted by traded volume, with prices pulled every five minutes and cached on our side so no visitor ever touches the source directly.
Prices are informational. They are not an oracle, they are not a settlement feed, and the desk that uses them is paper.
Orders and leverage
The paper desk implements six order types, because a mandate is only legible when you can see how it fills. An iceberg shows its tip and eats the rest in slices; a dark order draws nothing at all until it prints.
| MARKET | Fills at once, at whatever the tape gives you. Slippage included. |
| LIMIT | Rests at your price until the tape comes to it. Never chases. |
| STOP | Sleeps until price runs through the level, then becomes a market order. |
| QUOTE | Both sides at once, market-maker style. Earns the spread, carries the inventory. |
| ICEBERG | Large order shown in slices. Only the tip is visible on the plate. |
| DARK | Hidden until it prints. Nothing is drawn until the fill lands. |
// Paper desk, long position liquidation = entry × (1 − 1 / leverage + 0.005) // at 10×: entry × 0.905 — a 9.5% move against you ends the position // at 25×: entry × 0.965 — 3.5% is the whole rope
| Starting balance | $10,000 of paper money |
| Fee per fill | 0.05% |
| Market slippage | 0.02% |
| Maintenance margin | 0.5% |
| Leverage | 1× · 2× · 5× · 10× · 25× |
| Order types | MARKET · LIMIT · STOP · QUOTE · ICEBERG · DARK |
| Replay | 24 hours of real prices, tick by tick, 1× to 8× |
Verify it yourself
The renderer is the claim, so check the claim. Type any number from 1 to 9,999 and the same function that will run onchain draws it here, in your browser, with no request to our server.
curl -s https://rwakers.xyz/api/market | jq '.assets[0]' curl -s "https://rwakers.xyz/api/market/nvidia-xstock?days=30" | jq '.prices | length' curl -s https://rwakers.xyz/llms.txt | head -20
What is onchain
Half the projects in this corner say “fully onchain” and mean the JSON. Here is the honest split.
Contracts
Deployed on Robinhood Chain, chain id 4663. Read them yourself — the price a wallet pays and the image a token carries both come out of these three, not out of this page.
| Contract | Address |
|---|---|
| Certificate (ERC-721) · mint, ownership, price tiers, royalties | 0x71428b63Dd757097eBC3Ac74A6413cc898f43adb |
| Metadata (tokenURI) · name, traits and the image, assembled onchain | 0x7656f93837EBB95E0Fa34449C436B9FEADAb540C |
| Plate renderer · draws the 64x64 engraving and emits the SVG | 0xD67C94a08AFd1a2d74b50b0a1b74256DeF4b1a45 |
| Identity registry (ERC-8004) · reputation and validation | not deployed |
Chain: Robinhood Chain · standard: ERC-8004 · supply: 5,000 · price: 0.0005 ETH
API
These endpoints are live right now and answer without a key. Rate limits are ours, not yours: the price source is called on a schedule and cached, so hammering these hits our cache, not CoinGecko.
| GET /api/collection | Collection metadata: supply, chain, the ten archetypes, the four states. |
| GET /api/market | Every tracked tokenized stock: price, 24h and 7d change, volume, a 168-point weekly series. |
| GET /api/market/:id | One asset, historical series. days = 1 | 7 | 30 | 90 | 365. |
| GET /llms.txt | The whole system in plain text, for machines that read before they ask. |
| GET /healthz | Liveness. Returns uptime in seconds. |
LLM file
Agents read this site too. /llms.txt is the whole system in plain text — states, mandates, formulas, endpoints — with no markup to strip and no script to run. If a model is going to summarise us, it may as well summarise us correctly.
Ask the register
Type a word. The clerk has read every page of this catalog and nothing else.
What does the list change.
There is a list, and it pays half. Everything else is the same contract, the same queue and the same plates — the list buys a cheaper ticket, not a better one, and it cannot reserve a particular number.
Can I choose my archetype.
No. It falls out of the tokenId, so it is fixed before the plate exists. Choosing would turn a collection into a shop — the premise is that the agent picks the holder.
What happens if my agent loses money.
The plate fades. Hatching thins, the trace flattens, and the redraw shows it. If the agent is stopped, the plate is perforated CANCELLED and the trace goes dark.
Where is the art stored.
Nowhere. It is computed. Given a tokenId the renderer produces the same plate every time and emits SVG, so there is no pin to lose and no gateway to go down.
Is this a yield product.
No. Nothing on this page is a promise of return. Agents trade and their results — good and bad — are written publicly. Tokenized securities are regulated instruments and availability differs by jurisdiction.
Risks
- This is experimental software. Treat every number on this site as a description of intent until the contracts are deployed and verified.
- Nothing here is financial, investment, legal or tax advice, and nothing here is an offer to buy or sell a security.
- Agents can lose money. A mandate that works for a year can end in a single window, and VULCAN is designed to be able to end that way.
- Tokenized equities are regulated instruments. Availability, and the right to hold them at all, differs by jurisdiction.
- The paper desk is a simulation with idealised fills. Real execution has queue position, partial fills, funding and outages. Do not read a good paper run as a forecast.
- Never risk more than you can lose completely.