Fees

How launch pools charge, collect, split, and pay out fees.

Each launch uses the LP fee of its partner. All pools of the launch charge this fee. The launchpad owns all positions, so it earns all fees, and it passes them on to two recipients:

  • The partner fee recipient gets the partner's share.
  • The creator fee recipient of the drop gets the rest.

Fees move in three steps: the pool charges them, the launchpad collects and credits them, and the recipient claims them.

1. Charge

Uniswap v4 charges the LP fee on the input of each swap:

  • A buy pays the fee in the quote.
  • A sell pays the fee in the token.

The fee is in pips: 10000 is 1%. The highest LP fee is 50000 (5%). A partner can also use 0, which charges no fee.

2. Collect and credit

A collection takes the position's fees out of the pool. The launchpad keeps them in PoolManager as ERC-6909 claims, and credits each recipient's part.

For each asset, the partner's part is amount × shareBps / 10000, rounded down. The creator fee recipient gets the rest.

Collections happen in two ways:

  • Automatic: After a swap, DropHook collects the pool if the pool has an LP fee and 12 hours have passed since the last automatic collection. The first period starts when the pool is created. The collection includes the swap's own fee.
  • Manual: Anyone can call collectFees(quote, token) at any time. A manual collection does not move the 12-hour schedule.

Fees that are not yet collected stay in the pool position. A collection credits the recipients that are set at that time.

3. Claim

Each recipient has a credit per asset, in claimable(recipient, asset). The native asset is address(0). A credit adds up fees from all pools in that asset.

Anyone can call claimFees(assets, recipient). It pays the recipient's full credit in each asset, from PoolManager to the recipient. The caller cannot redirect the payment.

collectAndClaimFees(quote, token, recipient) does both steps for one pool. It returns the amounts paid to the recipient, which can include credits from other pools.

If a recipient cannot receive an asset, for example a contract that rejects native currency, only its own claims fail. Other recipients can still claim.

See Collect and claim fees.

Burn mode

If the creator fee recipient is 0x000000000000000000000000000000000000dEaD, the drop is in burn mode. Collections then split fees differently:

AssetPartner fee recipient0x…dEaD
Quote100%0%
Token0%100%

Anyone can claim the credit of 0x…dEaD. The claim sends the tokens to 0x…dEaD, which takes them out of circulation.

Burn mode is permanent. Only the current creator fee recipient can change it, and nobody controls 0x…dEaD.

You can set burn mode at launch, or later with setCreatorFeeRecipient. See Change a fee recipient.

On this page