Configure and distribute creator fees to multiple shareholders using the PumpFees program with BPS-based share allocation, admin management, and cross-program fee consolidation for graduated tokens.
Configure and manage creator fee sharing — allowing token creators to distribute accumulated trading fees to multiple shareholders using the PumpFees program with BPS-based share allocation.
Token Creator
│
▼
┌─────────────────────┐
│ SharingConfig PDA │
│ (PumpFees program) │
│ shareholders: │
│ [{ addr, bps }] │
└─────────────────────┘
│ distribute
┌────┴────┬────┬────┐
│ 40% │ 30%│ 20%│ 10%
▼ ▼ ▼ ▼
User1 User2 User3 User4
const ix = PUMP_SDK.createFeeSharingConfig({
creator, mint, pool, payer,
shareholders: [
{ address: userA, shareBps: 5000 }, // 50%
{ address: userB, shareBps: 3000 }, // 30%
{ address: userC, shareBps: 2000 }, // 20%
]
});
const ix = PUMP_SDK.updateFeeShares({
creator, mint,
shareholders: [
{ address: userA, shareBps: 4000 },
{ address: userD, shareBps: 3000 },
{ address: userB, shareBps: 3000 },
]
});
const { instructions, isGraduated } = await onlineSdk.buildDistributeCreatorFeesInstructions(mint);
// For graduated: transferCreatorFeesToPump + distributeCreatorFees
// For non-graduated: distributeCreatorFees only
| Rule | Error Class |
|---|---|
| At least 1 shareholder | NoShareholdersError |
| Maximum 10 shareholders | TooManyShareholdersError |
| No zero-share entries | ZeroShareError |
| Shares sum to 10,000 BPS | InvalidShareTotalError |
| No duplicate addresses | DuplicateShareholderError |
| Graduated tokens need pool | PoolRequiredForGraduatedError |
Trading fees ──► AMM Creator Vault (PumpAMM)
│
transferCreatorFeesToPump
│
▼
Pump Creator Vault (Pump)
│
distributeCreatorFees
│
▼
Shareholders (proportional)
BothPrograms methods when aggregating across Pump + PumpAMMisGraduated to determine if AMM fee consolidation is neededadminRevoked before attempting to update shareholderspool parameter for config creationupdateFeeShares will fail on-chain if adminRevoked === true