AGENT SKILL

pump-fee-system

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.

License 许可
MIT
最近更新
2026-08-01
Stars
★ 2
Forks
3

01 前言 Front Matter

name
pump-fee-system
metadata
{ "solanaos": { "homepage": "https://github.com/nirholas/pump-fun-sdk" } }
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.

03 SKILL.md 正文

Fee System — Tiered Fees, Creator Fees & Protocol Fees

Implement 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.

Context

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 Types

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

Tiered Fee Calculation

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
}

Fee Computation

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 Vault Balance

Creator fees accumulate in PDAs:

  • creatorVaultPda(creator) — Pump program vault
  • ammCreatorVaultPda(creator) — PumpAMM program vault

Balance = total lamports - rent exemption minimum.

Error Classes

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

Patterns to Follow

  • Use ceiling division (ceilDiv) for all fee calculations to prevent dust loss
  • Always check both creator vaults (Pump + AMM) when querying balances
  • Use transaction simulation (simulateTransaction) for read-only fee queries
  • Creator fee is only charged when bondingCurve.creator != PublicKey.default or it's a new curve

Common Pitfalls

  • Fee tiers must be iterated in reverse — the first match from the end is used
  • computeFeesBps returns different results depending on whether feeConfig is null (legacy vs tiered)
  • Creator fees are zero for tokens without a set creator
  • getMinimumDistributableFee requires transaction simulation — it cannot be computed offline
  • transferCreatorFeesToPump is only for graduated tokens — non-graduated tokens will fail

04 同仓库更多 Skills

clawdsolana
clawdsolana/OpenClawd

solana-dev

End-to-end Solana development playbook (Jan 2026). Prefer Solana Foundation framework-kit (@solana/client + @solana/react-hooks) for React/Next.js UI. Prefer @solana/kit for all new client/RPC/transaction code. When legacy dependencies require web3.js, isolate it behind @solana/web3-compat (or @solana/web3.js as a true legacy fallback). Covers wallet-standard-first connection (incl. ConnectorKit), Anchor/Pinocchio programs, Codama-based client generation, LiteSVM/Mollusk/Surfpool testing, and security checklists.

测试与质量
★ 2
clawdsolana
clawdsolana/OpenClawd

xurl

A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.

Skill与智能体开发
★ 2
clawdsolana
clawdsolana/OpenClawd

wurk-integration

WURK API integration for monetizing agents with x402 payments on Solana/Base - create social jobs, custom challenges, and agent help tasks

Skill与智能体开发
★ 2
clawdsolana
clawdsolana/OpenClawd

workflows

Manage application workflows including configuration, restart, and removal.

★ 2
clawdsolana
clawdsolana/OpenClawd

web-search

Search the web, fetch content, extract branding profiles, and capture screenshots from URLs. Use for real-time information, API documentation, current events, design matching, and visual reference.

★ 2
clawdsolana
clawdsolana/OpenClawd

weather

Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.

★ 2