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

pump-sdk-core

Build and extend the core Pump SDK — an offline-first TypeScript SDK that constructs Solana TransactionInstructions for token creation, buying, selling, migration, and creator fee collection across three on-chain programs (Pump, PumpAMM, PumpFees).

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

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.0 KB

SKILL.md(원문)

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

Pump SDK Core — Instruction Building & On-Chain Interaction

Build, extend, and maintain the core Pump SDK — an offline-first TypeScript SDK that constructs Solana TransactionInstructions for token creation, buying, selling, migration, and creator fee collection across three on-chain programs (Pump, PumpAMM, PumpFees) plus the Mayhem program.

Context

The SDK is published as @nirholas/pump-sdk (npm) and powers the Pump protocol — a Solana-based token launchpad with bonding curve pricing, automatic AMM migration after graduation, tiered fees, and creator fee sharing. The codebase uses Anchor for IDL-based instruction building and supports both Token (SPL) and Token-2022 token programs.

Key Files

  • src/sdk.ts — PumpSdk class with all instruction builders and account decoders
  • src/onlineSdk.ts — OnlinePumpSdk class extending offline SDK with live RPC fetches
  • src/index.ts — barrel re-export module defining the public API surface
  • src/state.ts — TypeScript interfaces for all on-chain account state
  • src/pda.ts — Program Derived Address derivation for all programs
  • src/idl/pump.ts, src/idl/pump_amm.ts, src/idl/pump_fees.ts — Anchor IDL definitions

Architecture

  • Offline SDK (PumpSdk): Builds instructions without a live connection. Uses Anchor Program instances initialized with a dummy keypair and connection. Exported as a singleton PUMP_SDK.
  • Online SDK (OnlinePumpSdk): Wraps PumpSdk with a real Connection for fetching account state via getMultipleAccountsInfo. Provides "BothPrograms" methods that aggregate data across bonding curve (Pump) and AMM (PumpAMM) programs.
  • Three program IDs: PUMP_PROGRAM_ID, PUMP_AMM_PROGRAM_ID, PUMP_FEE_PROGRAM_ID, plus MAYHEM_PROGRAM_ID for mayhem-mode tokens.

Instruction Builder Pattern

Every instruction method returns TransactionInstruction[] (not transactions), allowing callers to compose them into transactions freely. Methods follow a naming convention:

  • *Instruction — single instruction
  • *Instructions — multiple instructions (e.g., ATA creation + buy)

Account Decoders

The SDK decodes raw AccountInfo<Buffer> into typed interfaces using the Anchor coder:

  • decodeGlobal, decodeBondingCurve, decodeFeeConfig, decodeSharingConfig, etc.
  • Nullable variants (e.g., decodeBondingCurveNullable) handle missing or undersized accounts gracefully.

Slippage Calculation

maxSolCost = solAmount + (solAmount × slippage × 10 / 1000)
minSolReceived = solAmount - (solAmount × slippage × 10 / 1000)

Patterns to Follow

  • Always return TransactionInstruction[] from instruction builders, never full Transaction objects
  • Use getMultipleAccountsInfo to batch RPC calls (2–3 accounts per call)
  • Support both Token (SPL) and Token-2022 programs via tokenProgram parameter
  • Handle account extension (extendAccountInstruction) for bonding curves that need more space
  • Validate shareholder arrays: max 10 shareholders, shares must total 10,000 bps, no duplicates, no zero shares
  • Use typed error classes from src/errors.ts for validation failures
  • Keep the offline SDK connection-free; all RPC calls belong in OnlinePumpSdk

Common Pitfalls

  • Circular dependency between sdk.ts and onlineSdk.ts
  • Buy instruction passes { 0: true } as a flags argument — this is intentional, not a bug
  • BONDING_CURVE_NEW_SIZE = 151 — accounts may need extension before certain operations
  • BondingCurve.complete === true means the token has graduated to AMM — bonding curve operations will fail
  • The createInstruction (v1) is deprecated in favor of createV2Instruction (Token-2022)

리뷰

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

댓글

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

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

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. 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의 스킬 모두 보기

이 스킬의 문제 신고