Pre-launch. The protocol is not publicly live yet. This documentation describes the contracts as implemented; deployed addresses are published at launch.

TokenVesting

Holds the protocol token's initial mint and releases it on a fixed weekly schedule after a cliff. Ownerless — the schedule is set at construction and cannot be changed, accelerated, or bypassed.

Contract Type

Singleton, deployed before the factory so its address can be patched in. No owner, no emergency withdrawal, no admin function of any kind. Token, beneficiary and start time are immutable.

Schedule

ParameterValue
CLIFF_WEEKS24 weeks
TOKENS_PER_WEEK240,000 × 10⁹ (240k tokens)
SECONDS_PER_WEEK604,800
Startblock.timestamp at construction
Total held60,000,000 × 10⁹ (60M) — the protocol token's initial mint

Nothing is releasable during the cliff. After it, 240,000 × 10⁹ (240k tokens) become releasable per elapsed week, capped by the contract's actual balance.

Functions

release() external

Transfer everything currently releasable to the beneficiary. Anyone can call — the recipient is fixed, so there is nothing to gain by calling it and nothing to lose by someone else doing so.

Reverts
  • "nothing to release" — still in the cliff, or already fully released for elapsed weeks
Emits

TokensReleased(amount, total_released, timestamp)

View Functions

FunctionReturns
releasable() -> uint256Claimable right now
vested() -> uint256Total vested to date, including already released
get_total_released() -> uint256Cumulative released
get_balance() -> uint256Tokens still held
weeks_elapsed() -> uint256Whole weeks since start
cliff_remaining() -> uint256Seconds until the cliff ends, or 0
get_token() -> addressVested token ($LP24)
get_beneficiary() -> addressFixed recipient
get_start_time() -> uint256Construction timestamp
Independently verifiable

Beneficiary, start time, total released and current balance are all public. Anyone can confirm the protocol's allocation is subject to this schedule rather than sitting in a wallet, and can reconstruct the full release history from TokensReleased logs.