Skip to content

Latest commit

 

History

History
377 lines (278 loc) · 8.63 KB

README.md

File metadata and controls

377 lines (278 loc) · 8.63 KB

@cryptoscan/pumpfun-sdk

The fastest and easiest way to trade on pumpfun

  • Token Sniper - waiting for token minting by symbol
  • Bump detector of coin
  • Listen transactions of coin (WIP)
  • Listen minted coins - listen new coins in pumpfun
  • Get rate/price of coin in USD/Solana
  • Buy/Sell coin
  • Transfer Pumpfun coins
  • Transfer solana

[GitHub] [Our website] [Docs] [Discord]

Getting started

Let's see our Project example

npm install @cryptoscan/pumpfun-sdk

Buy Example

Request

  • wallet - wallet keypair (by secret key)
  • sol - amount of SOL to buy, (Optional) if empty - all balance
  • coinAddress - coin address
  • fee - amount of SOL to pay fee (Optional)
  • payerWallet - payer wallet keypair (Optional)
  • slippage - amount of slippage (Default: 1)
  • priorityFee - amount of SOL to pay priority fee (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const wallet = getWallet(process.env.SECRET_KEY!);
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
const sol = 0.01;
const api = new PumpApi();

api.buy({
  wallet,
  coinAddress,
  sol,
})

Sell Example

Request

  • wallet - wallet keypair (by secret key)
  • sol - amount of SOL to sell, (Optional) if empty - all balance
  • coinAddress - coin address
  • fee - amount of SOL to pay fee (Optional)
  • payerWallet - payer wallet keypair (Optional)
  • slippage - amount of slippage (Default: 10)
  • priorityFee - amount of SOL to pay priority fee (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const wallet = getWallet(process.env.SECRET_KEY!);
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
const sol = undefined; // Sell all
const api = new PumpApi();

api.sell({
  wallet,
  coinAddress,
  sol,
})

Transfer Solana Example

Request

  • wallet - wallet keypair (by secret key)
  • sol - amount of SOL to transfer, (Optional) if empty - all balance
  • coinAddress - coin address (Optional)
  • fee - amount of SOL to pay fee (Optional)
  • payerWallet - payer wallet keypair (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const wallet = getWallet(process.env.SECRET_KEY!);
const sol = undefined; // All amount
const api = new PumpApi();

api.transfer({
  wallet,
  sol,
})

Transfer Coins Example

Request

  • wallet - wallet keypair (by secret key)
  • sol - amount of coins in SOL to transfer, (Optional) if empty - all balance
  • coinAddress - coin address (Optional)
  • fee - amount of SOL to pay fee (Optional)
  • payerWallet - payer wallet keypair (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const wallet = getWallet(process.env.SECRET_KEY!);
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
const sol = 0.01;
const api = new PumpApi();

api.transfer({
  wallet,
  coinAddress,
  sol,
})

Bump Solana Example

Request

  • payerWallet - payer wallet keypair
  • wallets - list of wallets to buy
  • minSol - minimal SOL to buy by one wallet
  • maxSol - maximal SOL to buy by one wallet
  • coinAddress - coin address (Optional)
  • fee - amount of SOL to pay fee (Optional)
  • slippage - amount of slippage (example: 10)
  • priorityFee - amount of SOL to pay priority fee (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const wallet = getWallet(process.env.SECRET_KEY!);
const wallets = [wallet, wallet];
const minSol = 0.05;
const minSol = 0.1;
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
const api = new PumpApi();

api.bump({
  payerWallet,
  coinAddress,
  wallets,
  minSol,
  maxSol,
})

Transfer-Buy Example

  • Transfer and buy in one transaction
  • Anti Bubble Map system

Request

  • mainWallet- main wallet keypair (by secret key)
  • payerWallet - payer wallet keypair
  • wallet - buyer wallet keypair
  • sol - amount of SOL to buy, (Optional) if empty - all balance
  • coinAddress - coin address
  • fee - amount of SOL to pay fee (Optional)
  • payerWallet - payer wallet keypair (Optional)
  • slippage - amount of slippage (Default: 1)
  • priorityFee - amount of SOL to pay priority fee (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const mainWallet = getWallet(process.env.SECRET_KEY!);
const wallet = getWallet(process.env.BUYER_KEY!);
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
const sol = 0.01;
const api = new PumpApi();

api.transferBuy({
  mainWallet,
  wallet,
  coinAddress,
  sol,
})

Transfer-Sell Example

  • Sell and transfer in one transaction
  • Anti Bubble Map system

Request

  • mainWallet- main wallet keypair (by secret key)
  • payerWallet - payer wallet keypair
  • wallet - seller wallet keypair
  • sol - amount of SOL to sell, (Optional) if empty - all balance
  • coinAddress - coin address
  • fee - amount of SOL to pay fee (Optional)
  • payerWallet - payer wallet keypair (Optional)
  • slippage - amount of slippage (Default: 10)
  • priorityFee - amount of SOL to pay priority fee (Optional)

Response

txid string - transaction hash

import { getWallet } from '@cryptoscan/solana-wallet-sdk';
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const mainWallet = getWallet(process.env.SECRET_KEY!);
const wallet = getWallet(process.env.SELLER_KEY!);
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
const sol = undefined; // Sell all
const api = new PumpApi();

api.transferSell({
  mainWallet,
  wallet,
  coinAddress,
  sol,
})

Listen transactions

Request

  • coinAddress - coin address
  • callback - listen transaction callback
    • tx - transaction hash
    • baseAmount - amount of base coin
    • quoteAmount - amount of quote coin
    • amount - amount of base coin
import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const api = new PumpApi();
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';

api.listenTransactions(coinAddress, (transaction) => {
  console.log(transaction)
})

Listen coin bumps

import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const api = new PumpApi();
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';

api.listenCoinBump(coinAddress, (coin) => {
  console.log('BUMPED')
})

Listen pumpfun bumps

import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const api = new PumpApi();

api.onBump((coin) => {
  console.log(coin)
})

Listen pumpfun mints (Just created coins)

import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const api = new PumpApi();

api.onMint((coin) => {
  console.log(coin)
})

Wait pumpfun coin mint

Search coin by symbol or name, or address

import { PumpApi } from '@cryptoscan/pumpfun-sdk';

const symbol = 'DOGEWIFHAT';
const api = new PumpApi();

api.waitMint(symbol, (coin) => {
  console.log(coin)
})

FAQ

Is it secure to use sdk with private key?

Yes. You don't share private key through api request. You sign transaction with private key locally only. Library is based on @cryptoscan/swap-sdk

Is it free?

We charge a 0.5% fee on each successful transaction instruction. If you want to decrease fee - please contact us in discord or telegram We can increase fee down to 0.1% if you will contribute us.

How to contribute?

You can create pull requests or make a project based on our packages. You have chance to get some supply for a work and get fee reduced for the api.


Contribute

To install dependencies:

npm install

To build:

npm build

This project was created using bun init in bun v1.1.0. Bun is a fast all-in-one JavaScript runtime.