본문으로 건너뛰기
cccskills
무료GitHub에 공개

pump-token-incentives

Volume-based PUMP token reward system with day-indexed epochs, pro-rata distribution, accumulator tracking, and cross-program claiming on Solana.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Token Incentives — Volume-Based PUMP Token Rewards

Implement and maintain the token incentive system that rewards traders with PUMP governance tokens based on their SOL trading volume, using a day-based epoch system with pro-rata distribution.

Context

The Pump protocol incentivizes trading activity by distributing PUMP tokens to users proportional to their SOL trading volume. The system tracks volume in day-long epochs, with each day having a pre-configured token supply pool.

Day-Based Epoch System

Volume tracking operates in fixed-length epochs defined by the GlobalVolumeAccumulator:

  • startTime — epoch system start timestamp
  • secondsInADay — epoch length (typically 86,400 seconds)
  • solVolumes[] — array of total SOL volume per day
  • totalTokenSupply[] — array of PUMP tokens available per day
dayIndex = Math.floor((currentTimestamp - startTime) / secondsInADay)

Pro-Rata Reward Formula

$$\text{tokens} = \frac{\text{userSolVolume} \times \text{dayTokenSupply}}{\text{globalSolVolume}}$$

Account Lifecycle

  1. Init (initUserVolumeAccumulator) — creates the user's volume accumulator PDA
  2. Sync (syncUserVolumeAccumulator) — updates the accumulator with latest volume data
  3. Claim (claimTokenIncentives) — claims accumulated PUMP token rewards
  4. Close (closeUserVolumeAccumulator) — closes the account, reclaims rent

BothPrograms Aggregation

Since users trade on both the bonding curve (Pump) and AMM (PumpAMM):

  • fetchUserVolumeAccumulatorTotalStats(user) — sums across both programs
  • getTotalUnclaimedTokensBothPrograms(user) — combined unclaimed rewards
  • claimTokenIncentivesBothPrograms(user, payer) — claims from both
  • syncUserVolumeAccumulatorBothPrograms(user) — syncs both

Edge Cases

CaseBehavior
Zero global volume for a dayNo tokens distributed (division by zero guarded)
User never syncedOnly totalUnclaimedTokens from account state returned
Day index beyond arraysNo additional rewards computed
User updated same daycurrentDayTokens returns preview, totalUnclaimedTokens excludes it

Patterns to Follow

  • Pure functions in tokenIncentives.ts — no side effects, no RPC calls
  • Accept optional currentTimestamp parameter for testability
  • Always use BN arithmetic — never convert to JavaScript number
  • Sync before claiming to ensure the latest volume is reflected

Common Pitfalls

  • totalUnclaimedTokens does NOT include the current day's rewards — only finalized days
  • currentDayTokens returns 0 if the user's last update was on a different day (sync first)
  • Day indices are zero-based from startTime, not from epoch 0
  • Volume accumulator PDAs differ between Pump and PumpAMM programs

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

1password

무료

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Create, search, and manage Bear notes via grizzly CLI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

blucli

무료

BluOS CLI (blu) for discovery, playback, grouping, and volume.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

x402agent의 스킬 모두 보기

이 스킬의 문제 신고