Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install clawdsolana-openclawd-skills-pumpfun-analyticsgit clone https://github.com/clawdsolana/OpenClawd.gitcp OpenClawd/SKILL.MD ~/.claude/skills/clawdsolana-openclawd-skills-pumpfun-analytics/SKILL.md---
description: Monitor bonding curves, graduation progress, and trade analytics on Pump.fun
---
# PumpFun Analytics
Monitor bonding curve state, calculate price impact, track graduation progress, and analyze token economics on the Pump.fun protocol.
## Prerequisites
- `HELIUS_RPC_URL` or `SOLANA_RPC_URL` configured
- `@coral-xyz/anchor` and `@solana/web3.js` available
## Capabilities
### 1. Bonding Curve State
Fetch the current state of any token's bonding curve:
```typescript
import { OnlinePumpSdk } from "@nirholas/pump-sdk";
const sdk = new OnlinePumpSdk(connection);
const summary = await sdk.fetchBondingCurveSummary(mint);
console.log("Market Cap:", summary.marketCap.toString());
console.log("Graduated:", summary.isGraduated);
console.log("Token Supply Remaining:", summary.tokensRemaining.toString());
```
### 2. Graduation Progress
Track how close a token is to graduating from the bonding curve to the AMM:
```typescript
import { getGraduationProgress } from "@nirholas/pump-sdk";
const progress = getGraduationProgress(bondingCurve, global);
console.log(`Progress: ${progress.progressBps / 100}%`);
console.log(`SOL accumulated: ${progress.solAccumulated.toString()}`);
console.log(`Tokens remaining: ${progress.tokensRemaining.toString()}`);
```
### 3. Price Impact Analysis
Calculate the price impact of a trade before executing:
```typescript
import { calculateBuyPriceImpact, calculateSellPriceImpact } from "@nirholas/pump-sdk";
const buyImpact = calculateBuyPriceImpact(bondingCurve, global, feeConfig, buyAmountLamports);
console.log(`Price impact: ${buyImpact.priceImpactBps / 100}%`);
console.log(`Effective price: ${buyImpact.effectivePrice.toString()}`);
const sellImpact = calculateSellPriceImpact(bondingCurve, global, feeConfig, sellTokenAmount);
console.log(`Price impact: ${sellImpact.priceImpactBps / 100}%`);
```
### 4. Token Price
Get the current buy and sell price per token:
```typescript
import { getTokenPrice } from "@nirholas/pump-sdk";
const price = getTokenPrice(bondingCurve, global, feeConfig);
console.log(`Buy price: ${price.buyPricePerToken.toString()} lamports`);
console.log(`Sell price: ${price.sellPricePerToken.toString()} lamports`);
```
### 5. Fee Tier Calculation
Calculate the current fee tier based on market cap:
```typescript
import { computeFeesBps, calculateFeeTier } from "@nirholas/pump-sdk";
const fees = computeFeesBps(global, feeConfig);
console.log(`Protocol fee: ${fees.protocolFeeBps} bps`);
console.log(`Creator fee: ${fees.creatorFeeBps} bps`);
```
### 6. Buy/Sell Quote
Calculate expected tokens for a given SOL amount:
```typescript
import { getBuyTokenAmountFromSolAmount, getSellSolAmountFromTokenAmount } from "@nirholas/pump-sdk";
const tokens = getBuyTokenAmountFromSolAmount({
global, feeConfig,
mintSupply: bondingCurve.tokenTotalSupply,
bondingCurve,
amount: solAmountLamports,
});
const sol = getSellSolAmountFromTokenAmount({
global, feeConfig,
mintSupply: bondingCurve.tokenTotalSupply,
bondingCurve,
amount: tokenAmount,
});
```
## Agent Integration
The OODA trading loop uses these analytics automatically during the **Observe** phase to pull bonding curve data into ClawVault KNOWN memory.