How it works

The life of a Hookly launch, from first click to holder rewards.

1. Launch

You call HooklyLauncher.launch() with your token details. In one transaction the launcher:

  1. creates a fresh rewards vault for your token,
  2. launches the token on Pons, paying the Pons launch fee, with the vault set as the creator-fee recipient,
  3. optionally makes a dev buy on the new bonding curve. The launcher is the Pons deployer, so this buy is exempt from the snipe tax,
  4. locks the dev-buy tokens in HooklyVesting (cliff + linear unlock), or sends them to you if vesting is 0.

2. Bonding curve & graduation

Right after launch, the token trades on a Pons bonding curve. The price rises as people buy. When the curve raises its target (for example 4.2 ETH), the token graduates to a Uniswap v4 pool managed by Pons. Progress is shown on every token page.

3. Creator tax → rewards vault

You choose a creator tax between 0% and 10% at launch. It is charged on curve trades, and after graduation on pool trades. It accrues to your vault. Anyone can call harvest() to collect it and split it:

creatorBps + holdersBps + protocolBps = 10,000
default protocolBps = 1,000 (10% of creator fees, max 20%)
Example: 2% tax, 50/50 splitShare of taxPer 1 ETH traded
Protocol10%0.0020 ETH
Creator45%0.0090 ETH
Loyal holders45%0.0090 ETH
Total tax100%0.0200 ETH

The creator can increase the holders share later, but never decrease it.

4. Loyalty rewards (Merkle epochs)

The holders share goes to HooklyMerkleDistributor. Periodically, a reward epoch is published: a Merkle root listing loyal holders and their amounts, which can never exceed what was deposited. Holders claim with a proof before the deadline. Unclaimed funds roll back into the pool for the next epoch.

Loyalty scoring (who counts as "loyal" and how much they get) is calculated off-chain by the root publisher. Holders rely on that publisher being honest. See Limitations.

5. Snipe tax

Pons applies its own snipe tax to early buys right after launch. You can exempt up to 32 wallets (for example team or partners) at launch time.