Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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.
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:
creatorVaultPda(creator) — Pump program vaultammCreatorVaultPda(creator) — PumpAMM program vaultBalance = 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 |
ceilDiv) for all fee calculations to prevent dust losssimulateTransaction) for read-only fee queriesbondingCurve.creator != PublicKey.default or it's a new curvecomputeFeesBps returns different results depending on whether feeConfig is null (legacy vs tiered)getMinimumDistributableFee requires transaction simulation — it cannot be computed offlinetransferCreatorFeesToPump is only for graduated tokens — non-graduated tokens will fail아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks SolanaOS to add a note, list notes, search notes, or manage note folders.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create, search, and manage Bear notes via grizzly CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
BluOS CLI (blu) for discovery, playback, grouping, and volume.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.