Skip to content
Solana

Docs · Revenue tokens

Terms and endings

Coming

A fee right locked for a term or forever: the reel lock primitives under it, the tokenizer's own terms, and how a term ends.

Not live yet: this runs in a reel-vaults module that is built and tested but not in the deployed build. The page describes it so integrators can see where it fits; details can change before it ships.

The locks reel already has

A revenue token is only as durable as the lock behind its fee right. reel specifies three, and its tests hold that locks only extend and that a forever lock never releases (PROGRAM.md §16).

Fee rightLockTermEnding
Launch ownershipLaunchLock(beneficiary, unlock_ts)Any unlock_ts, or i64::MAX for foreverThe beneficiary calls LaunchUnlock(new_owner) once unlock_ts has passed; forever never unlocks
LP positionPositionLock(until)Extend only; i64::MAX is permanentThe lock lapses and the owner may remove liquidity
Royalty, payeeFrozen at PoolInitForever by constructionNever; the pool pays the named address for life

While a launch is locked

  • The beneficiary collects the launch positions' fees and is paid the OWNER bucket.
  • The launch positions can't be withdrawn, and LaunchTransfer is refused.
  • LaunchLock is refused on a launch that is already locked, and the beneficiary can't be one of reel's own PDAs.

A tokenizer doesn't use LaunchLock: it takes the launch as its owner, and only accepts a launch that is live and unlocked. While it holds it, nobody can lock it, withdraw its principal or add to it. Read Launch lock.

The tokenizer's terms

Fixed at Init (PROGRAM.md §19):

  • Term. Forever, or at least 7 days, as on hookr.
  • Who ends it. Anyone: after the term, Return runs a last sync of each right and hands it back. From 7 days after the end, a forced return skips that last collect, so a paused quote can't keep a right from going back.
  • Where it goes. To return_to, named at Init, which then accepts the position or launch with reel's PositionAccept or LaunchAccept.
  • Unclaimed income. Booked income stays claimable after a return.
  • Fees. A treasury leg of at most 5% of income, fixed at Init and paid to reel's Config.treasury.

How an ending shows

Every lock and unlock emits an event: LaunchLocked (launch, beneficiary, until), LaunchOwner (from, to, kind) and PositionLocked (position, until). reel's pages will read a token's locks from chain and show "forever", a date, or "ended", never an estimate.