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.

0% LOCKED
Supply
0GRIP
 
Locked
0GRIP
 
Reserve
0GRIP
 
Epoch
0
 

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.

01

The rule

Four lines, fixed at deploy

01

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.

until_epoch ≤ epoch
02

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.

mint_bps = 100
03

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.

burn_bps = 200
04

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.

tick()
02

Evidence

reading chain

supply genesis mint epoch burn epoch genesis 10,000,000
Epoch Action Amount Grip Supply after Time
reading chain
03

Verify

No indexer, no backend


          
        
Contract
What this page reads
One view call, 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.
Reproduce it
cd contract && cargo test
cd sim && python3 sim.py
cd demo && npm run demo