How creator fees reach an immutable destination.
fee.markets launches a standard Pump.fun Token-2022 coin, fixes its creator-fee ownership at 95% routing and 5% Flywheel, then accounts for every finalized movement from Pump to the destination chain.
Overview
fee.markets is a launch interface, accounting service, and routing operator. Pump.fun remains the token launch and trading protocol. Relay remains the cross-chain execution provider. Neither dependency is presented as trustless or controlled by fee.markets.
The permanent decision is made at launch: one destination asset and either one recipient address or the launched token’s holders. The system can retry a transfer, but it cannot silently replace that audience.
A token becomes active only after finalized Solana state proves exactly two Pump shareholders—95% for its isolated routing vault and 5% for the Flywheel vault—with no remaining update authority.
Distribute the 95% share to token holders
Holder distribution is a fee.markets payout mode layered after Pump’s immutable 95/5 fee split. It is deliberately not Pump’s native holder-rewards launch mode: that mode redirects the whole creator fee and would remove the 5% Flywheel allocation.
- Read every Token-2022 account for the launched mint at finalized commitment and record the RPC context slot.
- Aggregate multiple token accounts by owner and exclude the bonding curve, canonical PumpSwap pool, routing vault, Flywheel vault, and zero balances.
- Value each aggregated position in SOL from the finalized Pump curve or canonical pool reserves. Only positions worth at least 0.2 SOL enter that payout snapshot; smaller positions receive no allocation and create no transfer expense.
- Allocate integer base units by largest remainder. No floating point enters the calculation and the sum of allocations equals the distributable amount exactly.
- Send SOL directly, or split it evenly across one to ten immutable Pump coins. Each coin is swapped in a separately simulated and verified transaction, then its finalized output is distributed through bounded Token-2022 batches.
- Reconcile every batch’s message hash, signer, recipient deltas, network fees, and token-account rent before releasing unused reserve.
sum(holder allocations) = distributable base unitsA holder whose exact pro-rata allocation rounds below one base unit receives zero for that cycle; those indivisible units are assigned deterministically by largest remainder. The 0.2 SOL threshold, reserve-based valuation, excluded-holder count, snapshot hash, slot, recipient count, allocations, batch signatures, and actual spend remain auditable on the token page.
Token lifecycle
Lifecycle state comes from finalized chain observations and durable workflow state, not from optimistic browser events.
| Phase | Where value sits | What fee.markets proves |
|---|---|---|
| Draft | No token exists | Metadata and destination inputs are valid. |
| Configuring | Pump bonding curve | The mint exists, but claims remain blocked until fee sharing is immutable. |
| Active | Curve or PumpSwap fee vaults | The 95/5 shareholders and revoked authority match finalized state. |
| Routing | Per-token routing vault | A fresh quote matches the immutable recipient, refund vault, deadline, and minimum output. |
| Settled | Destination or refund vault | The destination transaction or refund is independently reconciled. |
Launch on Pump
The browser creates an ephemeral mint signer. The API prepares the exact unsigned Pump transaction and simulates it against the configured Solana RPC. Before signing, the client verifies the transaction version, required signers, program list, message bytes, and absence of unexpected address lookup tables.
- Token program: Token-2022
- Creator-fee quote asset: SOL
- Mint signer: generated in the browser and discarded after finalized mint creation
- Launch stages: resumable from finalized chain state
Lock the 95/5 split
Pump-native fee sharing assigns the creator fee itself. fee.markets does not receive 100% and calculate the split in a private database.
routing = 95% · G
flywheel = 5% · GThe split applies to creator fees actually distributed by Pump. It does not represent total trading fees or an estimate derived from volume.
Claim fees
Before distribution, the worker discovers claimable balances directly from chain state and includes the required permissionless sweeps for the bonding curve or PumpSwap venue. Whenever transaction limits allow, sweep and distribution are built together to reduce the active-trading race.
routing_received + flywheel_received = gross_distributedRoute proceeds
The initial product surface supports four destinations: Solana, Ethereum, BNB Chain, and Base. Each route still has to be enabled in Relay’s current catalog. The launch form exposes every currency in Relay’s current verified list for the selected chain; the chosen chain, token contract or mint, and recipient become immutable. A launch can alternatively lock a Pump token mint as its Solana destination.
- Validate the immutable recipient for the selected VM family.
- Request an amount-specific direct transaction quote.
- Verify input amount, recipient, destination chain, currency, minimum output, deadline, protocol data, and refund address.
- Decode the complete Solana message before the vault signer approves it.
- Reconcile Relay status with the origin and destination chains through finality.
Deposit-address routing remains disabled. Direct transactions provide a stronger pre-signing verification boundary.
Token payouts
Token-holder payouts can use one basket containing between one and ten Pump coins, approved tokenized stocks, or a mix of both. The claim's SOL input is split evenly across the selected assets before each independently verified swap. The basket and its ordering become immutable with the launch destination.
Pump coins must have an official Pump route whose quote chain resolves to SOL. Stock tokens must be present in Pump's current custom-pair issuer registry and have a live Relay route from SOL. Before signing, the worker simulates each bounded swap and verifies its exact input, minimum output, programs, and accounts. Unsupported roots, unapproved issuers, stale liquidity, or failed simulations stop execution.
Finalized token-account deltas determine the distributable output; the worker never estimates token delivery from a quoted price. Dust remains accounted for and is reconciled with the routing vault.
Accounting
Blockchain amounts remain integer strings from RPC read through API, PostgreSQL, signing policy, UI, and reconciliation. PostgreSQL stores amounts as NUMERIC(78,0); floating-point values never enter the accounting path.
| Ledger state | Meaning |
|---|---|
| Available | Finalized vault balance that is neither reserved nor unexplained. |
| Reserved | Balance assigned to one idempotent payout workflow. |
| Delivered | Destination finality is proven and linked to its origin transaction. |
| Refunded | Relay returned value to the originating routing vault and the delta was reconciled. |
| Unreconciled | Observed chain state does not yet match balanced ledger postings; automated movement stops. |
Security model
Launch approval stays in the creator’s wallet. Automated routing keys are isolated per token and are intended to live behind Vault Transit. A signer-policy service must decode and approve the complete message before any automated signature is released.
- Allowlisted programs and accounts
- Exact vault, amount, asset, recipient, chain, deadline, and refund address
- Bounded network fee and slippage
- Finalized ledger reservation and idempotency key
- No private key material in the browser, API, or worker
Failure handling
A timeout or unknown external status is not evidence of loss. Payouts remain delayed or under review until chain data proves delivery, refund, or a terminal failure. A Relay outage leaves value in the token’s routing vault.
Stale quotes, malformed addresses, insufficient liquidity, expired deadlines, signer denials, RPC disagreement, and unexplained balance changes stop execution.
Flywheel
Five percent of distributed creator fees accrues to a separate reserve ledger. Buy-and-burn execution remains hard-disabled until the approved liquidity venue, price-impact policy, signer policy, and irreversible burn instruction are verified through funded canaries.
The public interface therefore says “reserve accumulating; burns not enabled” until activation. A purchase is not recorded as a burn.
Fixed parameters
| Source network | Solana |
|---|---|
| Source asset | SOL |
| Routing allocation | 95% |
| Flywheel allocation | 5% |
| Destinations | One address on SOL, a supported Pump coin, Ethereum, BNB Chain, or Base; or token holders receiving SOL / a Pump coin |
| Transaction format | Solana v0 with validated fallback behavior |
| Settlement authority | Finalized chain state plus balanced PostgreSQL ledger |
FAQ
Can I change the destination later?
No. The destination chain, asset, and recipient are immutable for a launched token.
Does “95%” mean 95% of trading volume?
No. It means 95% of the creator fees that Pump actually distributes after its own fee rules.
What happens when Relay is unavailable?
No payout is signed. Funds remain in the per-token routing vault until the approved route can be quoted and verified again.
Can creator fees be paid as a Pump coin?
Yes. Select Pump coin at launch and lock its mint plus a Solana recipient. The 95% share remains accounted in SOL until the worker swaps it through a currently valid Pump route and proves the recipient’s finalized token balance increase.
How are holder balances measured?
At each payout, fee.markets stores a finalized Solana token-account snapshot, aggregates balances by wallet owner, removes protocol vaults, and uses the immutable snapshot for every batch in that payout.
Can holders receive several Pump coins?
Yes. A launch can lock an ordered list of up to ten unique Pump mints. Each payout splits its SOL input evenly across those mints; if the amount is not exactly divisible, the earliest mints receive one additional lamport. Every coin uses the same finalized holder snapshot and has its own swap and delivery proofs.
Are Flywheel burns active?
No. The reserve can accumulate and be audited while execution remains gated.
Primary specifications: Pump fee sharing, Pump fee sweeping, Pump multi-hop swaps, Pump holder rewards, and Relay documentation.
