Skip to the content
PokedexDocs

Fees

Coin trades on the curve pay a fee in the card token, shared between Meteora, the coin's creator and pokedex. pokedex's share is split between the class treasury, which can only be burned, and the protocol.

On this page

Who gets what of a curve trade

Curve trading feeCharged on every curve trade, in the card token.
Meteora20% of the fee
Coin creator40% of the fee (half of the rest), claimed on Meteora
pokedex (partner)40% of the fee, claimed to the fees account, then split
Class treasurytreasury_bps of it, in the card token
Protocol recipientthe rest, in the card token
The split as measured by the test suite with a 1% curve fee and a 50% creator share.

The curve fee and the creator's share are set in each market's config. With the default config (a 1% fee and a 50% creator share), the test suite measures the split of every fee as:

PartyShare of the feePaid inHow it is collected
Meteora20%Card tokenKept by Meteora
The coin's creator40% (half of the rest)Card tokenThe creator claims it on Meteora directly
pokedex (partner)40%Card tokenclaim_curve_fees, permissionless, into the fees account, then split

So a coin's creator earns in the card of its class.

Every fee stream

StreamWhere it builds upCurrencyWho collectsInstruction
Curve fee, partner shareThe coin's curveCard tokenAnyone, to the fees account, then splitclaim_curve_fees
Curve fee, creator shareThe coin's curveCard tokenThe creator, on MeteoraMeteora's own
Curve fee, Meteora shareMeteoraCard tokenMeteoraMeteora's own
Surplus past the threshold, partner shareThe curve's pool after migrationCard tokenAnyone, then splitclaim_surplus
Graduated pool feesThe partner's locked DAMM v2 positionCard token side split; coin side sweptAnyoneclaim_lp_fees, then sweep_coin
Coin balances of the fees accountThe fees accountCoinAnyone, to the protocol recipientsweep_coin
CARD/SOL pool feesThe CARD/SOL positionSOLWhoever holds that pool's position NFTMeteora DAMM v2 directly

The split

split moves the fees account's whole card-token balance:

  • floor(total x treasury_bps / 10,000) to the class treasury, and
  • the rest to the protocol recipient's card-token account.

treasury_bps is at most 10,000. It and the protocol recipient are set by the card-launch admin. sweep_coin moves the fees account's whole balance of one coin to the protocol recipient: that covers graduated pool fees paid in the coin and leftover coins Meteora sends at migration.

The class treasury

Each class has a treasury account holding card tokens. No instruction spends from it. The only way out is burn_treasury (permissionless), which burns its whole balance.

The cards stay in the vault when it burns, so every remaining card token is then backed by slightly more than 1/1,000 of a card. Fees turn into over-collateralization that anyone can check on chain.

What a launch costs

launch_coin charges no fee of its own, and the default config has no pool creation fee and no migration fee.

The rest of this path

Solana mainnet

Written from the protocol, security and card documents of the pokedex repository and from its code (card-vault, card-launch, cp-ix). Every figure on these pages comes from there.

UpDown to moveEnter to open