Skip to main content
This entry covers an upcoming LaunchLab program update. It was verified against the local release branch before deployment. Confirm the deployed program before creating or updating a platform above the old ceilings.
This release raises the platform fee ceiling to 500 bps. PlatformConfig.fee_rate is validated in two places — once when CreatePlatformConfig builds the account, and once on every UpdatePlatformConfig variant that writes the field — and both now accept up to 50000. In the program’s 1/1_000_000 rate denominator that is 5% of trade volume on every pre-graduation buy and sell. Before this release the two checks disagreed: create allowed 100 bps and update allowed 250 bps. They now hold the same value, so the rate a platform can be created at is exactly the rate it can be updated to. Nothing else changed. No account grew or shrank, no instruction gained or lost an account, and no error code moved.

TL;DR for integrators

  • The platform fee ceiling is 500 bps on both paths. CreatePlatformConfig and UpdatePlatformConfig both accept fee_rate up to 50000.
  • Create moved from 100 bps. PlatformParams::check() had been <= 10000 since the program’s first release.
  • Update moved from 250 bps. update_platform_fee_rate was <= 25000, itself raised from 100 bps on 2026-01-27.
  • The create/update mismatch is gone. A config created above 250 bps could not previously survive an UpdatePlatformConfig call, because AllInfo re-validates fee_rate while rewriting every other field. Both checks now agree, so that edit path works at any permitted rate.
  • creator_fee_rate is unchanged at MAX_CREATOR_FEE_RATE = 5000 (50 bps) on both paths.
  • GlobalConfig.max_share_fee_rate is unchanged at 10_000 (100 bps), and never bounded the platform fee. It bounds the per-transaction share_fee_rate referral argument. Earlier versions of this documentation said otherwise; this release corrects that.
  • Nothing existing repriced. These constants gate writes to fee_rate, not reads. Every PlatformConfig already on-chain keeps its current rate, and every launch bound to one keeps its current fee.
  • No IDL refresh is required. No layouts, accounts, arguments, or error codes changed.

What changed

Rates in LaunchLab are denominated in 1/1_000_000 (RATE_DENOMINATOR_VALUE), so:

Where the two checks live

The ceiling is enforced by two separate require! calls in two files. They now hold the same value, but they still raise different errors, so error handling needs to recognize both: AllInfo is the bulk-update variant: it rewrites the wallets, the branding strings, the vesting scale, the NFT split, the transfer-fee authority, the creator fee rate, and fee_rate in one call, running the same check on fee_rate that the single-field variant does. Under the old constants that made AllInfo unusable for a platform created in the 250–500 bps band, even for an edit that only touched an image URL. Aligning the two constants removes that trap.

What did not change

  • Fee accounting and distribution. platform_fee = amount_in × platform_config.fee_rate / 1_000_000 is the same formula, accruing to the same per-platform vault, swept by the same ClaimPlatformFee and ClaimPlatformFeeFromVault instructions.
  • Existing platforms and launches. The constants gate writes, not reads. No stored rate changed, so no live launch reprices.
  • creator_fee_rate. Still capped at MAX_CREATOR_FEE_RATE = 5000 (50 bps) on both paths.
  • GlobalConfig.max_share_fee_rate. Still 10_000, still bounding only the share_fee_rate argument on the four swap instructions.
  • Error codes. 60006023 are unchanged; this release adds none.
  • Account layouts and the IDL. Unchanged.

Documentation correction

Two pages attributed the platform fee cap to GlobalConfig.max_share_fee_rate. The program never did that — it compares max_share_fee_rate against the share_fee_rate instruction argument, and validates PlatformConfig.fee_rate only in the two functions listed above. This release corrects those sentences. The referral-fee cap itself is unchanged at 100 bps, so if you read the old wording as “the platform fee is capped at 100 bps”, the number was right for the create path until this release even though the reason was not.

Pages updated

  • products/launchlab/platform-config — new “Rate caps” section covering both rates, both enforcement points, and the rate history.
  • products/launchlab/global-configmax_share_fee_rate corrected to describe the referral share fee it actually bounds.