How Ante works
A high-level overview of Ante's mechanics
Last updated
A high-level overview of Ante's mechanics
Last updated
Ante's design is subject to change as its usage evolves. This is meant as a high-level overview of mechanics. Please read "Using Ante" and talk to us on Twitter and Discord if you have specific questions.
Ante Tests are smart contracts that check custom invariants of other smart contract systems like DeFi projects.
Ante Pools hold capital for an associated Ante Test and provide a standard set of functions for users to interact with. Anyone can put capital in an AntePool
as a staker (supporting the invariant passing) or challenger (supporting the invariant failing).
Importantly, all staker and challenger capital held in Ante smart contracts is held in a non-custodial way.
Any challenger that has participated in an Ante Pool for at least 12 blocks can "verify" that an Ante Test still passes.
This means calling checkTest()
on the AntePool
, which calls checkTestPasses()
on the associated AnteTest
Checking an Ante Test costs gas to complete the transaction. Ante takes no fee here.
If the underlying invariant holds, nothing happens except the verifying challenger had to pay gas.
If the underlying invariant fails (i.e. checkTestPasses()
returns False
, all staker capital is locked and claimable by challengers.
For stakers: challenger capital undergoes a block-by-block decay (~100 gwei per block per ETH of challenger capital, roughly 20% of challenger capital per year). This decay is allocated to stakers (if you want a quick ballpark estimate, total challenger capital / total staker capital * 20% ~= your "APY").
For challengers: if a challenger checks the Ante Test and it fails, all staker capital in the corresponding Ante Pool is locked and claimable by challengers, with the verifying challenger receiving an added bonus (5% of staker capital) for being the one to discover the test failure.