Pool.fans

Rewards Tokenizer Documentation

System for tokenizing Clanker fee admin positions into tradeable ERC20 shares with automatic revenue distribution.

Overview

What is Rewards Tokenizer?

The Rewards Tokenizer allows Clanker token creators to convert their fee admin positions into tradeable ERC20 tokens. This enables:

Tradeable Revenue Rights

100 tokens = 100% of fee stream

Automatic Distribution

Revenue auto-settles on transfer

Permissionless

No approval needed

Multi-Version Support

V3.1+ compatible

Architecture DiagramFOR DEVS

Full system architecture visualization

View on Lucidchart

Interactive diagrams showing contract relationships

System Components

RevenueShareRegistryStores tokenized Clanker tokens β†’ vault mappings. Manages tokenizer contracts.
Tokenizers (Factory)Factory contracts that deploy new vaults for each Clanker token.
Revenue VaultsIndividual vaults per token that hold and distribute revenue to share holders.

How Vaults Work

The tokenizer contracts are factory contracts - they deploy a unique Revenue Vault for each Clanker token you tokenize. You cannot simply point your fee recipient to the tokenizer contract.

Flow: Tokenizer deploys vault β†’ You point fee recipient to your new vault β†’ Vault distributes to share holders

Factory Contract Addresses (Base)

Example Transactions

Architecture Principles

Immutable Registry Design

The RevenueShareRegistry is designed to be permanent and unchangeable. Once deployed, it serves as the canonical source of truth for vault mappings. This separation ensures the registry remains stable while tokenizers can be upgraded or added.

Forward Compatibility

  • Designed to support future Clanker versions (V5, V6, etc.) as well as V3.1+
  • New tokenizers can be added without modifying the registry or existing vaults
  • Each tokenizer is self-contained with version-specific logic
  • Vaults inherit from BaseRevenueShareVault for consistent revenue distribution

Permissionless Design

  • Anyone can tokenize their Clanker admin positions
  • No gatekeeping or approval needed from protocol admins
  • Users maintain full control of their positions until finalization

Two-Step Tokenization Flow

No CREATE2 Prediction

We explicitly avoid relying on off-chain CREATE2 address prediction in the UI. If the UI incorrectly predicts the vault address, the user transfers admin to the wrong address, and recovering admin rights would require centralized logic controlled by a multisig safe.

1
initTokenization()

Deploys vault on-chain, stores pending state, returns actual vault address

2

Admin transfers admin role to the verified vault address

Off-chain action via Fee Locker / LP Locker

3
finalizeTokenization()

Validates vault is admin, validates recipient authorization, mints shares

V4 Tokenizer

Current

ClankerV4Tokenizer

New tokens: Tokenize revenue fees for new Clanker V4 tokens via:

tokenizeAndDeployV4Clanker()

Existing tokens: Tokenize via 2-step flow:

  1. 1.initTokenization() - Admin initiates tokenization
  2. 2.Admin manually updates reward admin to vault in Fee Locker (off-chain)
  3. 3.finalizeTokenization() - Admin completes and receives shares

RevenueSharesVaultV4

  • Handles reward claims via claimRewards()
  • Extends BaseRevenueShareVault with fee distribution logic
  • Supports V4 Fee Locker with fee conversion

Uniswap V4 Swap Lag Behavior

1-Swap Lag: Due to Uniswap V4's architecture, fees from the most recent swap won't be immediately available for claiming.

Swap Ngenerates fees β†’ stored in hook's balance
Swap N+1executes β†’ triggers fee distribution from Swap N

This means the latest swap's fees are always "pending" until the next swap occurs.

V3.1.0 Tokenizer

Legacy

ClankerTokenizerV3_1_0

Tokenizes revenue fees for existing Clanker V3.1.0 tokens via 2-step flow:

  1. 1.initTokenization() - Admin initiates tokenization
  2. 2.Admin manually updates creator/interfacer admin to vault in LP Locker (off-chain)
  3. 3.finalizeTokenization() - Admin completes and receives shares

Fee Position Types: Tokenizes creator (70%) and interfacer (10%) fee positions separately.

RevenueSharesVaultV3_1_0

  • Handles reward claims via claimRewards()
  • Extends BaseRevenueShareVault with V3.1.0-specific fee distribution logic
  • Compatible with Clanker V3.1.0 fee structure and LP locker mechanisms

Token Recovery

Revenue Vaults

Have a rescueTokens() function that allows withdrawing accidentally sent tokens.

Protected: Revenue tokens (clanker/paired tokens) cannot be rescued

Tokenizers

Can rescue any tokens via rescueTokens().

Tokenizers are not designed to hold funds

Future Features

Composable ERC20 Tokens

Revenue shares are designed as composable ERC20 tokens that can be integrated with auction-style contracts and other DeFi protocols.

Fully Transferable with Auto-Settlement

Shares are fully transferable, with automatic revenue distribution ensuring that when tokens are transferred, all accumulated rewards are settled to the original holder before the transfer completes.

Engagement Pools

Trading Competitions

On-Chain Trading Competitions

Engagement Pools are the live game layer of PoolFans β€” transparent, on-chain competitions where players compete on ROI. Everything from entries to payouts resolves trustlessly via smart contracts.

1 Key = 1 Position

Open a position on any listed token and track your live performance

How It Works

Earn Keys Through Engagement

Complete social coordination tasks (like, recast, follow) to earn keys that grant pool entry

Open On-Chain Positions

Use your key to open a position on any listed token β€” all positions are recorded on-chain

Compete on ROI

When the pool timer ends, all positions close automatically and top ROI performers share the prize pot

Automatic Payouts

Winners receive prizes automatically via smart contracts β€” no manual claims needed

Fully On-Chain & Trustless

  • Positions are recorded on-chain with verifiable entry prices
  • ROI calculations are transparent and immutable
  • Payouts execute automatically when the pool ends β€” no intermediaries
  • Prize pools are held in smart contracts, not custodial wallets

How to Join a Pool

1

Access the Platform

Open the PoolFans miniapp in the Base app or on Farcaster, then go to the Pools tab

2

Review Pool Details

Check the prize pool, current top ROI, creator, number of participants, and time remaining

3

Select a Token

Choose from trending tokens or browse the full list to find your pick

4

Confirm Your Position

Hit Confirm to open your position using a key β€” this is an on-chain transaction

5

Track Your Performance

View all your pool positions in the Profile tab and monitor your ROI in real-time

How to Create a Pool

1

Launch Pool Creation

Go to the Create tab and click Launch to start the pool creation flow

2

Configure Pool Parameters

Set pool name, duration, prize token + amount, and number of winners with percentage splits

3

Define Engagement Tasks

Choose activities that earn keys: follow an account, like/recast content, or post a cast

4

Deploy On-Chain

Review everything and hit Create β€” you'll confirm two on-chain transactions to launch

Creator Configuration

Creators have full control over pool parameters to design competitions that fit their community:

Pool Duration
Prize Token & Amount
Number of Winners
Percentage Splits

Ready to Tokenize?

Start tokenizing your Clanker revenue or learn more about how Clanker works.