pump-admin-ops
Admin and authority operations for the Pump protocol — set coin creator, update token incentives, set IDL authority, claim…
Complete Pump protocol fee system — tiered protocol fees based on market cap, creator fee collection across two programs, basis point arithmetic, and ceiling division for dust-safe calculations.
$ npx -y skills add nirholas/pump-fun-sdk --skill pump-fee-system --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pump-fee-systemContext preview
The summary Claude sees to decide when to auto-load this skill.
Complete Pump protocol fee system — tiered protocol fees based on market cap, creator fee collection across two programs, basis point arithmetic, and ceiling division for dust-safe calculations.
name: pump-fee-system
description: "Complete Pump protocol fee system — tiered protocol fees based on market cap, creator fee collection across two programs, basis point arithmetic, and ceiling division for dust-safe calculations."
metadata:
openclaw:
homepage: https://github.com/nirholas/pump-fun-sdkImplement and extend the Pump protocol's fee system: tiered protocol fees based on market cap, creator fee collection across two programs, and fee computation with ceiling division.
The Pump protocol charges fees on every buy/sell transaction. Fees flow to protocol fee recipients and token creators. The fee system spans three programs and must handle tokens in both bonding curve and graduated (AMM) states.
| Fee | Recipient | When Charged | |-----|-----------|-------------| | Protocol fee | `feeRecipients[]` in `Global` | Every buy/sell | | Creator fee | Token creator's vault PDA | Every buy/sell (if creator is set) | | LP fee | Liquidity providers (AMM only) | Post-graduation trades |
When a `FeeConfig` exists, fees are market-cap-dependent:
function calculateFeeTier({ feeTiers, marketCap }): Fees {
// Iterate tiers in REVERSE order
for (let i = feeTiers.length - 1; i >= 0; i--) {
if (marketCap >= feeTiers[i].marketCapLamportsThreshold) {
return feeTiers[i].fees;
}
}
return feeTiers[0].fees; // fallback to lowest tier
}function getFee({ global, feeConfig, mintSupply, bondingCurve, amount }): BN {
const { protocolFeeBps, creatorFeeBps } = computeFeesBps(...);
const protocolFee = ceilDiv(amount * protocolFeeBps, 10000);
const creatorFee = hasCreator ? ceilDiv(amount * creatorFeeBps, 10000) : 0;
return protocolFee + creatorFee;
}Creator fees accumulate in PDAs:
Balance = total lamports - rent exemption minimum.
| Error | Condition | |-------|-----------| | `NoShareholdersError` | Empty shareholders array | | `TooManyShareholdersError` | More than 10 shareholders | | `ZeroShareError` | Shareholder has `shareBps <= 0` | | `InvalidShareTotalError` | Shares don't sum to 10,000 bps | | `DuplicateShareholderError` | Duplicate addresses |
Open-source framework for building PumpFun Telegram bots on Solana. Claim monitors, channel feeds, group trackers, whale alerts — build your own or use ours. PumpKit Web App + Documentation
Admin and authority operations for the Pump protocol — set coin creator, update token incentives, set IDL authority, claim…
AI agent integration layer for the Pump SDK — agent instruction files, .well-known discovery, LLM context documents, 15+ skill…
Constant-product AMM bonding curve math for Pump token pricing — buy/sell quoting, fee-aware calculations, market cap…
Build and release pipeline for the Pump SDK — tsup TypeScript builds, Cargo release profiles, semantic release with commitizen,…
Read-only query methods for PumpFun claims — unclaimed token rewards, creator vault balances, volume accumulators, distributable…
Configure and distribute creator fees to multiple shareholders using the PumpFees program with BPS-based share allocation, admin…