@cryptoscan/pumpfun-sdk
Version:
The fastest and easiest way to trade on pumpfun
378 lines (278 loc) • 8.84 kB
Markdown
# @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]](https://github.com/cryptoscan-pro/pumpfun-sdk)
[[Our website]](https://cryptoscan.pro/)
[[Docs]](https://cryptoscan.pro/docs/)
[[Discord]](https://discord.gg/ktewAs67fE)
## Getting started
Let's see our [Project example](https://github.com/cryptoscan-pro/pumpfun-sdk/tree/main/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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
import { PumpApi } from '@cryptoscan/pumpfun-sdk';
const api = new PumpApi();
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
api.listenTransactions(coinAddress, (transaction) => {
console.log(transaction)
})
```
## Listen coin bumps
```javascript
import { PumpApi } from '@cryptoscan/pumpfun-sdk';
const api = new PumpApi();
const coinAddress = 'HJAoYbnsf16Z8ftk3SsuShKLQQgzmxAPu41RTpjjpump';
api.listenCoinBump(coinAddress, (coin) => {
console.log('BUMPED')
})
```
## Listen pumpfun bumps
```javascript
import { PumpApi } from '@cryptoscan/pumpfun-sdk';
const api = new PumpApi();
api.onBump((coin) => {
console.log(coin)
})
```
## Listen pumpfun mints (Just created coins)
```javascript
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
```javascript
import { PumpApi } from '@cryptoscan/pumpfun-sdk';
const symbol = 'DOGEWIFHAT';
const api = new PumpApi();
api.waitMint(symbol, (coin) => {
console.log(coin)
})
```
## FAQ
<details>
<summary>Is it secure to use sdk with private key?</summary>
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](https://docs.cryptoscan.pro/swap/sdk)
</details>
<details>
<summary>Is it free?</summary>
We charge a 0.5% fee on each successful transaction instruction.
If you want to decrease fee - please contact us in [discord](https://discord.gg/ktewAs67fE) or [telegram](https://t.me/nomoney_trader)
We can increase fee down to 0.1% if you will contribute us.
</details>
<details>
<summary>How to contribute?</summary>
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.
</details>
---
## Contribute
To install dependencies:
```bash
npm install
```
To build:
```bash
npm build
```
This project was created using `bun init` in bun v1.1.0. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.