NEP-141 on NEAR testnet
Supply follows grip.
Lock 60% of the live float and the token mints, paid to the lockers. Let it fall under 35% and it burns, out of a reserve the contract owns. No owner mint, no pause, no setters.
Public demo instance. The locked share above is one scripted account, renewed every 5 minutes by a keeper on Cloudflare, not organic demand. An epoch here is 60 seconds, not the 86,400 a production deployment would use, so supply moves about 1,440x faster than it would in the wild. The rule is unchanged: no admin path exists, lock() and tick() are public methods.
The rule
Four lines, fixed at deploy
Locks expire
A lock stops counting at its deadline, before the rule runs. Grip has to be renewed, or it decays into a burn epoch. One passive holder cannot hold the metric up forever.
Grip at 60% mints 1%
Paid pro rata to whoever is locked, and paid out unlocked. The locked total always equals the
sum of positions, so a reward never inflates the principal that earned it. The mint stops at
4× genesis: a percentage of the current supply compounds, and a rule with no
ceiling is a runaway by construction.
Grip at 35% or less burns 2%
Drawn only from the reserve the contract holds. When the reserve is spent, the epoch records
hold instead. The burn budget is finite by construction.
Anyone can tick
One call evaluates the epoch. There is no admin key, no pause, and no upgrade path: after deploy, the deployer has no power over the numbers.
Evidence
reading chain
| Epoch | Action | Amount | Grip | Supply after | Time |
|---|---|---|---|---|---|
| reading chain | |||||
Verify
No indexer, no backend
get_state, on a public RPC. The chart is the
contract's own history array. Nothing here is stored, so a reload re-reads the chain.cd sim && python3 sim.py
cd demo && npm run demo