Token Launch
When a campaign reaches its USDC funding target, the platform automatically launches a community token via the Bags.fm API. If a campaign expires after raising at least 25% of target, the same launch flow is triggered automatically using the collected funds. This is a fully automated process — no manual action is needed.
Prerequisites
- Campaign status must be
funded(target amount reached) - The campaign must have at least one image (used as the token logo)
- A token ticker should be set (falls back to the campaign slug if not provided)
The 5-Step Launch Process
- Create Token Info
The platform registers the token with Bags.fm using the campaign's title as the token name, the
token_tickeras the symbol, the first campaign image as the logo, and the X handle if provided. The Bags API returns atokenMintaddress (the Solana SPL token mint) and metadata URL. - Configure Fee-Sharing
A fee-share configuration is created on-chain that maps each eligible contributor's wallet to their proportional share of trading fees (measured in basis points out of 10,000). See Fee Distribution for details.
- Create Launch Transaction
The platform requests a launch transaction from the Bags API. This transaction deploys the token on the bonding curve with zero initial buy (no insider allocation).
- Sign Transaction
The platform's escrow wallet signs the launch transaction.
- Broadcast
The signed transaction is submitted to the Solana network. The platform first attempts to broadcast via the Bags API, then falls back to a direct Solana RPC submission if needed.
After Launch
- Campaign status transitions to
launched - The token mint address is stored in the campaign record
- Trading fee revenue begins flowing to the configured fee-share recipients
- The campaign page displays the token information and a link to trade
Token Ticker Rules
| Rule | Detail |
|---|---|
| Length | 2–10 characters |
| Characters | Uppercase letters and numbers only (A-Z, 0-9) |
| Auto-formatting | Lowercase input is automatically uppercased |
Fee Tier Options
When creating a campaign, you can select a trading fee tier that determines how much of each trade's value is collected as fees:
| Tier | Fee Rate | Description |
|---|---|---|
| Default | 2% | Balanced fee rate suitable for most campaigns |
| Low Early / High Later | 0.25% → 1% | Lower fees during bonding curve, higher after DEX migration |
| High Early / Low Later | 1% → 0.25% | Higher fees during bonding curve, lower after DEX migration |
| High Flat | 10% | Maximum fee rate — maximizes fee-share revenue |
The fee tier is set at campaign creation and cannot be changed after the token launches.
Failure Handling
If any step in the launch process fails:
- Campaign status transitions to
launch_failed - Error details are recorded in the campaign metadata
- If the campaign expires below 25% of target, refunds are triggered instead of launch
- If the campaign expires at or above 25% of target, launch still proceeds and the collected USDC is disbursed to the creator wallet
Idempotent Retries
The launch process stores intermediate state after each step. If a failure occurs mid-process, the system can resume from where it left off without duplicating work — token info isn't re-created if already registered, and fee-share configuration isn't re-submitted if already set up on-chain.