Commitment staking on Monad

Your repo doesn’t care that you quit.
This does.

Stake MON against a commit target. Hit it and you get your stake back with staking yield, plus a share of everyone who missed. Miss it and your stake funds the people who didn’t.

How to use it

Four steps, about a minute.

  1. 01Connect and pick a repo

    Any public repo you own. Commits are counted against the GitHub account you link, so it has to be yours.

  2. 02Set the target, then commit

    Choose how many commits and by when, and stake at least 0.1 MON. Only work pushed after this moment counts — the clock starts here.

  3. 03Do the work

    Push real commits. Empty ones are ignored. Meanwhile the stone weathers: intact, worn, cracked.

  4. 04Claim before the deadline

    Link GitHub once, then claim. We read your commits, sign the result, and the contract pays out. Miss the deadline and your stake goes to everyone who didn't.

Where your stake sits

In shMON liquid staking, earning for the whole period rather than idling in escrow. You get the yield too.

What you need

A wallet on Monad testnet and some MON from the faucet. The app will offer to switch networks for you.

What we can and can't see

Only public commits on the repo you named, by the account you linked. We never get write access.

The stone

Five states, one function.

The first three are decided by nothing but the clock — the contract compares block.timestamp against your deadline and renders accordingly, with no transaction and no server involved. The last two are the outcome, written when the commitment settles or expires.

UTUH — intact
UTUH / intactUnder 50% elapsed

Nothing has happened yet. Plenty of time, which is exactly when nothing gets done.

LAPUK — weathered
LAPUK / weathered50–80% elapsed

The first hairline cracks. Past halfway, and the deadline stops being abstract.

RETAK — cracked
RETAK / cracked80%+ elapsed

Fractures run deep. Still recoverable — this is the state meant to make you open your editor.

HANCUR — shattered
HANCUR / shatteredDeadline missed

The stake is forfeited and split among everyone whose own capital was still at risk.

KRISTAL — crystallised
KRISTAL / crystallisedTarget met

Principal, staking yield, and a share of what others forfeited. The stone keeps the record.

A badge accumulates in the corner as you settle commitments — bronze, silver, then gold. It is drawn into the same SVG, so your record travels with every stone you own.

Built on Monad’s DeFi

Your stake doesn’t sit still.

Escrow that idles is wasted capital. Tamon routes every stake through shMON, FastLane’s liquid staking vault on Monad, so it earns for the whole commitment and the yield comes back to you along with the principal.

  1. 01You stake MON

    Native MON leaves your wallet in the same transaction that mints the stone.

  2. 02Tamon deposits into shMON

    FastLane's liquid staking vault. ERC-7535, so native MON goes in directly — no wrapping, no approval step.

  3. 03It earns while it's locked

    The vault's exchange rate rises every block. Your position is held as shares, so the yield accrues to you without any further transaction.

  4. 04You redeem, or take the shares

    Redemption is synchronous — no unbonding queue. If the vault's global ceiling is ever exhausted, you can take the shMON itself instead.

shMON rate, livePer share, rising every block. Not 1:1 — anything assuming that is wrong by ~11x.
Vault TVLFastLane shMonad, Monad testnet.
Why this vaultIt’s the one with synchronous redemption. The alternatives queue withdrawals behind an unbonding period, which breaks a product that has to return funds on a deadline.