Protocol

Rewards

Creator-side ETH and Ghost vault ETH fees enter GhostRevenueRouter. From there they fund Ghost NFT rewards and the team. Owners claim on each NFT; the team pulls its share.

Protocol $GHOST fees are burned (syncGhost) — NFT rewards stay ETH-only.

Public NFT claims

Rewards use a continuous index over active locked $GHOST (reward power):

accEthPerPower += fundedEth * 1e18 / totalActiveLockedGhost

An active Ghost’s share is:

token.lockedGhost / totalActiveLockedGhost

Tier does not change reward weight. Locked $GHOST is the weight. Tier only discounts vault reappear and swap fees.

Owners call claim(tokenId) anytime (ETH). Immediate. No ZK. No epochs.

Dormant / inactive Ghosts (post-transfer, before reactivate) have zero power and do not accrue.

Router cranks

  • syncEth() — pull creator-side ETH if wired, then route free ETH to rewards and the team
  • syncGhost() — burn all $GHOST fees on the router

Team pulls ETH with withdrawTeam. Mint ETH is paid to the team address in the mint transaction.

Ghost product fees

Reappear and swap protocol fees use the router. An active Ghost can discount those fees — see Fees.