assay
Token utility · ASSAY

A promise with a price on it.

Reports can tell you what a launcher did. They cannot tell you what a launcher will do. A commitment bond is the smallest honest answer to that: the launcher locks ASSAY behind one statement the contract itself can verify with a single balance read, and anyone who catches the statement being false gets paid to say so.

The promise

pledger holds at least minBalance of token until until.” Nothing about price, liquidity, marketing, or intent, because a contract cannot check those. A balance it can.

Lifecycle

  1. post(token, minBalance, until, amount). The promise must already be true (checked on chain), the deadline at most 365 days out, the amount at least minBond. ASSAY moves into the contract.
  2. challenge(id). Anyone, any time before the deadline. The contract reads token.balanceOf(pledger). Below the promise → the bond is slashed: challengerBps (20 % in the default deployment) to the challenger, the rest burned. At or above → the call reverts with the balance, so a hopeless challenge costs only gas, and the site simulates it first so it usually costs nothing.
  3. withdraw(id). After the deadline, if never slashed, the pledger takes the bond back.

What it is not

  • Not a guarantee. A deployer can keep the promised balance and still do everything else wrong. The report still shows the tape.
  • Not yield. The bond earns nothing. Slashed bonds are mostly burned; the challenger share is a bounty for watching, sized so that watching pays.
  • Not a governance token, not a fee share, not a plan to be listed anywhere.

Contract

Source: contracts/src/AssayBond.sol and contracts/src/AssayToken.sol in the repository. No owner, no upgradeability, no pause; bondToken, minBond and challengerBps are immutable. ReentrancyGuard on every state-changing function; checks-effects-interactions throughout; the burn uses the token's own burn. 22 Foundry tests including fuzzed slash accounting.

Where you see it

On every report, under Commitment bond: active bonds with their promise and whether a challenge would currently succeed. On your page: the bonds you posted. A slashed bond raises the BOND_SLASHED flag on that token forever.

Commitment bonds · Assay