harvest() is live on solana devnet — anyone settles, no keys → read the keeper guide syncing···
01The split 02$MOIR · live ledger 03The estate 04The tape 05Keeper guide 06Estimator 07FAQ
Open terminal

One harvest.
Five shares.
No keys.

Moiron is an autonomous treasury token: every pool fee is claimed and split 40 / 40 / 10 / 5 / 5 — burn, stocks, ops, depth, chaos — by anyone, in one transaction. $MOIR makes every trade end as burn or liquidity.

burnestateops depthchaos fees claimed · ···
$MOIR / USDC · the print $ — awaiting first print
fees claimed · all time ··· everything the pot has collected
accruing · pending ··· held between settlements — nothing leaks
$MOIR burned ··· the burn share only ever tightens the float
live supply · $MOIR ··· 1,000,000,000 at deployment
next settlement window ··· any wallet runs it · caller keeps 0.25% + dust
$MOIR / USDC—
pending fees—
next window···
the split40 / 40 / 10 / 5 / 5
pool toll4.2% · 1.05% to vault
the split · 40/40/10/5/5

Anyone can settle. Everyone gets paid.

Five routes, hardcoded at deployment. A harvest runs them all — a failing route is skipped and retried, never blocks its brothers. The pending column below is live off the vault.

01 · 40%

Burn the supply

Fees buy $MOIR from the pool and burn it in the same settlement. Supply only goes down.

buy(MOIR) → burn() ✓ pending —
02 · 40%

Grow the estate

An equal-weight basket of nine tokenized stocks, bought and held by bytecode — never traded around.

buy(SPY NVDA TSLA…) ✓ pending —
03 · 10%

Fund the builders

A capped ops budget pulled to the dev treasury by the same settlement. Public, on-chain, the only human line item.

pull(ops) ✓ capped · pending —
04 · 5%

Deepen the floor

Full-range liquidity into the main pool. The program has no remove function — depth is forever.

add_full_range() ✓ no remove() · —
05 · 5%

Burn the chaos

The sister asset is bought and burned with every harvest. Deliberate inefficiency — one fate, two fires.

buy($CHAOS) → burn() ✓ pending —
06 · anyone

Call it yourself

harvestClaim() is permissionless. No owner, no multisig, no admin key — the split is the whole government.

moiron harvest ✓ settled by you · 0.25% reward
route ledger · live

The split pays you back.

While the pool earns fees, every harvest buys and burns $MOIR, grows the stock estate and locks liquidity — for every holder, automatically, with no one at the switch.

$0 fees claimed · all time · live
burnbuy from pool · burn same tx
—
40%
estate9-stock equal-weight basket
—
40%
opscapped pull-payment
—
10%
depthfull-range · no remove()
—
5%
chaossister asset · bought & burned
—
5%
the estate · 40% of every settlement

Nine holdings, held by bytecode.

Equal weight, live feeds, ±3% TWAP gate before any trade. Nobody can raid the rows — positions only open, never withdraw.

9 assetsequal weight 50 / 50 swap-lp±3% twap gate
tickerfeed pricestatuspool
five lanes · one call

Don't pick a route. Fate already did.

The shares were drawn before the first trade. Moiron — from moira, the allotted portion: the share assigned before you were born.

0 routes · 40/40/10/5/5 · zero discretion
01 · deflation

Fire

  • burn 40%
  • chaos burn 5%
  • supply ↓ only ↛
02 · assets

Estate

  • SPY · NVDA · TSLA →
  • MSTR · GOOGL · CRCL →
  • 9 stocks equal-weight 40%
03 · permanence

Depth

  • full-range LP 5%
  • no remove() ∞
  • ops budget 10%
the tape · recent settlements

Real harvests. Real burns.

Every settlement is a public event, decoded straight from vault history on Solana devnet — no backend, no api keys. The rows update as keepers call harvest().

···reading vault history···
Open the full tape
keeper · one command

One command. Any keeper.

Anyone — a cron job, an agent, you — can call the harvest from the terminal. Failure of one route never blocks the others; pending buckets carry over to the next window.

permissionless0.25% keeper reward cooldown 60 sfail-isolated routes
how it settles

You trade. The split works.

No dashboard required. Fees accrue in the pool; the next keeper's call turns them into burn, depth and stocks. Both cards below are live.

01 · the vault · livepending buckets
burn—
estate—
ops—
depth—
chaos—

next harvest window · ···

02 · one harvestsettled by anyone
→ harvestClaim() · no keys, no owner
← burn ✓ MOIR bought & burned
← estate ✓ 9 stocks held
← ops ✓ capped pull
← depth ✓ full-range forever
← chaos ✓ burned
✓ settled · INV-1 conserved
lifetime ledger · live

Every dollar, five fates.

Route-by-route payouts read straight from the vault account. The chart stacks every claim the pot has ever settled — each step is a harvest that actually happened.

routesharelifetime paidpending
burnMOIR bought & burned40.0%——
estate9-stock basket40.0%——
opscapped budget10.0%——
depthirremovable LP5.0%——
chaossister burn5.0%——

INV-1 ··· claimed = keeper + pending + paid — checked live

Cumulative fees claimed · devnet split 40/40/10/5/5 · settler 0.25%
reading vault history · the ledger grows with the first settlements
window start — first visible claim ··· claimed · now · slot —
estimate a harvest

Run your own numbers.

Every $MOIR swap pays a 4.2% toll; a quarter of it — 1.05% — accrues to the vault. Drag the volume, watch the five shares split it.

sliders drive the estimate live · toll 4.2% · vault share 1.05%

per week · estimate
40%burn— MOIR
40%estate$ —
10%ops$ —
5%depth$ —
5%chaos$ —
questions

Asked, answered.

What exactly is Moiron?

An autonomous treasury token. $MOIR trades on its own on-chain pool; the pool tolls are claimed by a vault program and settled along five fixed shares — buy&burn, the stock estate, operations, depth, chaos. No human in the loop, no off-chain infrastructure: the whole account book is one Solana program.

Why "Moiron"?

From moira — the allotted portion. In the old stories the Moirai cut each life's share before it began; here the cut is 40/40/10/5/5 and it was made in code. Every fee has a fate, decided at deployment, executed by anyone.

Who can settle the split?

Anyone, from any wallet — the call is permissionless with no allowlist. The caller receives 0.25% of the claim plus rounding dust as the keeper reward. Settlements are rate-limited by a cooldown: 60 seconds on Solana devnet, five minutes planned for mainnet.

What if one route fails mid-settlement?

Nothing catastrophic — by construction. Guards validate before a lamport moves; each share runs as its own instruction. If a guard trips (stale feed, ±3% TWAP drift gate, thin pool), the route soft-skips — a RouteFailed entry lands on the tape, the amount stays pending, and every other share completes normally. The failed bucket retries next window.

Are the stock positions real?

On devnet they're simulated — mock feeds push plausible prices for SPY, NVDA, TSLA and six others so you can watch the routing work end to end. On mainnet the same program consumes real equities feeds and real position tokens.

Why does 5% go to "chaos"?

A treasury that only makes optimal moves is a treasury that can be modeled, front-run and farmed. The chaos share buys a volatile sister asset and burns it — deliberately inefficient value that keeps the engine from collapsing into a deterministic payoff matrix.

Can the shares or destinations be changed later?

Not by any key we hold. The shares live in the program as constants. The authority role can rotate operational parameters (cooldowns, caps, asset list) — timelock-protected and visible on-chain — but redrawing the split would require deploying an entirely new account book nobody is obliged to follow.

When mainnet?

After the external audit completes and timelocks extend to production values. Watch @moiron_online — the ratification announcement is the only signal worth trusting.