Terms
A Term is a contract that answers one question about a deal: is the condition true. Terms read the chain and never hold or move funds. These seven are official, immutable and have no admin.
Official Terms
| Term | Address | Reads | Parameters | Testnet source |
|---|---|---|---|---|
| Market cap | Pool TWAP (30 min) × token total supply, and pool liquidity | pool, minMcapHype, holdSeconds, minLiquidityHype | MockTwapPool (permissionless setPrice) | |
| Graduated | launchpad.isGraduated(token) | token | MockLaunchpad (permissionless graduate) | |
| Volume | pool.cumulativeVolume() minus the value at deal creation | pool, minVolumeHype | MockTwapPool (permissionless addVolume) | |
| Liquidity | pool.liquidityHype(), held continuously | pool, minLiquidityHype, holdSeconds | MockTwapPool (permissionless setLiquidity) | |
| Listed | listingOracle.isListed(token) | token | MockListingOracle (permissionless setListed) | |
| Oath | oath.getOath(token) ≥ minScore | token, minScore | MockOath (permissionless setOath) | |
| Clock | Time; linear vesting paused while another Term is false | start, end, pauseTerm, pauseData | Block time and the pause Term |
Testnet mocks are permissionless by design so anyone can drive the demo. Mainnet sources: launchpads, pool TWAPs, HyperCore spot via L1Read, and Horkos. How each Term works.
Custom Terms
Anyone can deploy a contract that implements check(address deal, bytes data) and describe(bytes data) and list it here. Registration is a listing, not an endorsement: read a custom Term's code before you lock funds against it.
No custom Terms registered yet. Register the first one below.
Register a Term
Free on testnet. On mainnet, registration will burn 1,000 $ARRHA. Not launched. No contract address.