.agents/skills/pump-token-incentives/SKILL.md
Volume-based PUMP token reward system with day-indexed epochs, pro-rata distribution, accumulator tracking, and cross-program claiming on Solana.
npx skillsauth add x402agent/solana-clawd pump-token-incentivesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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.
Volume tracking operates in fixed-length epochs defined by the GlobalVolumeAccumulator:
startTime — epoch system start timestampsecondsInADay — epoch length (typically 86,400 seconds)solVolumes[] — array of total SOL volume per daytotalTokenSupply[] — array of PUMP tokens available per daydayIndex = Math.floor((currentTimestamp - startTime) / secondsInADay)
$$\text{tokens} = \frac{\text{userSolVolume} \times \text{dayTokenSupply}}{\text{globalSolVolume}}$$
initUserVolumeAccumulator) — creates the user's volume accumulator PDAsyncUserVolumeAccumulator) — updates the accumulator with latest volume dataclaimTokenIncentives) — claims accumulated PUMP token rewardscloseUserVolumeAccumulator) — closes the account, reclaims rentSince users trade on both the bonding curve (Pump) and AMM (PumpAMM):
fetchUserVolumeAccumulatorTotalStats(user) — sums across both programsgetTotalUnclaimedTokensBothPrograms(user) — combined unclaimed rewardsclaimTokenIncentivesBothPrograms(user, payer) — claims from bothsyncUserVolumeAccumulatorBothPrograms(user) — syncs both| Case | Behavior |
|------|----------|
| Zero global volume for a day | No tokens distributed (division by zero guarded) |
| User never synced | Only totalUnclaimedTokens from account state returned |
| Day index beyond arrays | No additional rewards computed |
| User updated same day | currentDayTokens returns preview, totalUnclaimedTokens excludes it |
tokenIncentives.ts — no side effects, no RPC callscurrentTimestamp parameter for testabilityBN arithmetic — never convert to JavaScript numbertotalUnclaimedTokens does NOT include the current day's rewards — only finalized dayscurrentDayTokens returns 0 if the user's last update was on a different day (sync first)startTime, not from epoch 0development
Formally verify programs by writing Lean 4 proofs. Trigger this skill whenever the user wants to formally verify code, generate Lean 4 proofs, prove properties about algorithms or smart contracts, verify invariants, convert program logic into formal specifications, or anything involving Lean 4 and formal verification. Also trigger when the user mentions "qedgen", "lean proof", "formal proof", "verify my code", "prove correctness", "formal verification", or wants mathematical guarantees about their implementation.
data-ai
Orchestrate multi-bot trading swarms on Pump.fun with persona-driven agents
tools
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.
tools
Buy and sell tokens on Pump.fun bonding curves and AMM pools