Fee Race Markets
Fee race markets ask: Which established Bags.fm token will generate more fees during the market window?
Market format
"Which token will generate more fees before [deadline]: $TOKEN_A or $TOKEN_B?"- YES — Token A generates more fees during the window
- NO — Token B generates more fees during the window
Why fee delta, not total fees?
Fee race markets use fee delta — not total lifetime fees. Only the fee growth during the market window determines the outcome.
Two tokens with very different lifetime totals could be neck-and-neck during a specific week. Using delta levels the playing field and makes the market more meaningful.
Example:
- $ALPHA has 500 SOL lifetime fees. Earns 8 SOL during the window.
- $BETA has 50 SOL lifetime fees. Earns 12 SOL during the window.
Result: $BETA wins — despite having 10× fewer total fees, it generated more during the window.
Resolution formula
At market creation:
start_fees_A = current lifetime fees of Token A
start_fees_B = current lifetime fees of Token B
At deadline:
end_fees_A = lifetime fees of Token A
end_fees_B = lifetime fees of Token B
delta_A = end_fees_A - start_fees_A
delta_B = end_fees_B - start_fees_B
if delta_A > delta_B → YES wins (Token A)
if delta_B > delta_A → NO wins (Token B)
if delta_A == delta_B → NEEDS_REVIEW (tie)The start fees are snapshotted at market creation and are shown in the market’s resolution section.
Data source
Fee data comes from the Bags.fm lifetime-fees API:
GET /api/v1/token-launch/lifetime-fees?tokenMint={mint}This is an official Bags.fm endpoint. Both tokens are queried at resolution time.
Eligible tokens
Only MIGRATED (graduated) tokens are eligible for fee race markets:
- Must have completed graduation to Meteora DAMM v2
- Must be reachable via Bags.fm lifetime-fees API
- Both tokens in a pair must be different
Eligible tokens are identified by Cupdiction admins. New fee race markets are created periodically as new tokens establish fee history.
Resolution states
| State | Trigger |
|---|---|
| Open | Window not yet closed |
| Pending Recheck | Bags.fm fees API unavailable at deadline; retry on next oracle cycle |
| Needs Review | Both deltas exactly equal (tie) |
| Resolved YES | Token A’s delta > Token B’s delta |
| Resolved NO | Token B’s delta > Token A’s delta |
Who should trade these markets?
Fee races are better suited for informed traders than graduation markets:
- Both tokens are established with public fee history on Bags.fm
- You can research each token’s recent activity before trading
- Resolution is objective and verifiable
Good strategies:
- Look at recent fee trends on bags.fm before the market opens
- Consider events (announcements, listings, CT activity) that might drive fee spikes
- Compare community sizes and trader concentration for each token
What about wash trading?
Fee data comes from real Bags.fm trades. Wash trading on a bonding curve or DAMM pool requires capital and carries costs. While manipulation is theoretically possible, it is expensive relative to typical market stakes. Cupdiction does not take action on wash trading at this stage — resolution is purely mechanical based on the API data.