Skip to content

Docs

Fees and splits

One fee on every trade, charged in the quote asset, whatever app or router sends the trade.

Design · not deployedValues on this page come from the design. Deployed addresses and settings: Contract addresses; live state: Status.

Every launch picks a fee tier of 1%, 2% or 3% when it is created. The market charges that fee on every buy and every sell, for as long as it exists: the fee lives in the hook that runs the market, so it applies to EtherFamily's own router, to Uniswap's routers and to any contract that trades the pool directly. The token page and the trade panel will show:

Trading fee

Every trade in this market pays a fee tier fee in the quote asset, taken from what you send when buying and from what you receive when selling, whatever app or router you use: EtherFamily share to EtherFamily and creator or holder share to the creator or holders. Uniswap governance may add a protocol fee of up to 0.1% per trade direction; it is currently current protocol fee.

The three tiers

The tier also fixes how the fee is split. The part that is not EtherFamily's goes to the creator (or an address the creator named) or to the token's holders, as chosen at launch. Neither the tier nor the split can change afterwards.

Fee tiers, as a share of the quote amount of each trade
TierTo EtherFamilyTo the creator or holdersStatus
1%0.5%0.5%Fixed in the design · not deployed
2%1%1%Fixed in the design · not deployed
3%1%2%Fixed in the design · not deployed

These three are the only values a launch can choose; the contracts cannot represent any other tier Design. There is no liquidity-provider fee: the pool's own Uniswap fee is 0%, and every launch fee is charged by EtherFamily's hook.

How the fee is taken

  • Buying. The fee is taken from the quote you send. If you pay an amount A, the fee is A × tier, rounded up to the next smallest unit of the quote, and the pool swaps exactly the rest.
  • Selling. The pool swaps exactly the tokens you sell and outputs an amount Q of the quote. The fee is Q × tier, rounded up, and you receive the rest.
  • Exact input only. Every trade fixes what goes in. Swaps that ask for an exact output revert, in every router.
  • Whole fills only. A trade either consumes its whole input or reverts; the pool never fills part of it.
  • Rounding. The fee rounds up; EtherFamily's part of it rounds down, so the rounding remainder goes to the creator or the holders. A trade too small to pay more than its own fee reverts.

The fee is always in the quote asset: in an ETH market it is ETH, in a stock market it is the stock token, in a perp-share market it is vault shares. Nobody is paid in the launched token. Test-proven for the mechanism on a mainnet fork; Design for EtherFamily's contracts, which are not deployed.

Worked examples

Arithmetic only, computed with the same integer rules the contracts use. These are not market data.

Two trades in hypothetical markets
TradeFeeTo EtherFamilyTo the creator or holdersResult
Buy with 1 ETH, 1% tier0.01 ETH0.005 ETH0.005 ETHThe pool swaps 0.99 ETH
Sell whose pool output is 1,000 USDC, 3% tier30 USDC10 USDC20 USDCThe seller receives 970 USDC

Where the fee goes

The hook does not move tokens during a trade. It books the fee as a claim on Uniswap's PoolManager, owned by EtherFamily's fee escrow, and adds it to two counters kept for that market: EtherFamily's part and the creator's or holders' part.

  • Creator share. The creator (or the address it named) claims it from the escrow. Anyone can also push a market's creator share to that address.
  • Holder share. Holders claim through the token itself. Holder rewards
  • EtherFamily's share. Only EtherFamily's treasury can claim it, and it can never claim the creator's or holders' part.

Balances are kept per market and paid only from the claims the escrow holds, so one market's payouts can never use another market's balance. A quote that its issuer freezes stops the payouts of every market paired with it, and only those. A claim pays straight from the PoolManager to the recipient:

Claims

Claims pay amount the quote asset from EtherFamily's fee escrow straight to recipient address. If the issuer blocks this address or pauses the quote asset, the claim fails and your balance stays claimable.

Other costs of a trade

  • Uniswap's protocol fee. Uniswap governance can switch on a protocol fee of up to 0.1% per trade direction on any v4 pool, including EtherFamily's, after a vote and a two-day timelock Observed on-chain. It comes on top of the launch fee: it reduces what the pool swaps, never the launch fee. Trade previews read each pool's current value. External powers
  • Conversion routes. A trade that starts or ends in ETH, USDC or USDT instead of the quote goes through other pools first, and each of them charges its own fee. The trade preview itemizes every hop. Execution prices and USD marks
  • Gas. Paid to the Ethereum network by whoever sends the transaction.

The creation fee

Creating a launch costs 0.001 ETH in the design baseline, never more than 0.01 ETH (a limit written into the contract). It is paid once, in the creation transaction, and goes to EtherFamily's treasury. The creator signs the highest creation fee it accepts, so a change between signing and inclusion makes the transaction revert instead of charging more. Status: baseline for new launches · not deployed.

The creator's first buy

The creator may buy first, inside the creation transaction. That buy pays the normal fee, but part of it comes back:

Creator's first buy

The creator's first buy pays the normal fee, but the creator/holder part of that fee comes back: to the creator as fee recipient, or, when fees go to holders, to whoever holds the first buy's tokens, the only tokens that earn when trading opens. Its net cost is the EtherFamily part only.

The opening window explains why the first buy exists and what it does to the first block of trading.

Sources: EtherFamily contracts specification §1, §3.4-§3.6, §4.1, §5 (design); ADR 0003; Uniswap v4 research §6 (protocol fee observed on-chain at block 26,085,700 and fork-tested).