@pump-fun/pump-sdk
v1.24.0
Published
Pump Bonding Curve SDK
Downloads
58,948
Readme
Pump SDK
Official Pump program SDK
const connection = new Connection(
"https://api.devnet.solana.com",
"confirmed",
);
const sdk = new PumpSdk(connection);Coin creation
const mint = PublicKey.unique();
const creator = PublicKey.unique();
const user = PublicKey.unique();
const instruction = await sdk.createInstruction({
mint,
name: "name",
symbol: "symbol",
uri: "uri",
creator,
user,
});
// or creating and buying instructions in the same tx
const global = await sdk.fetchGlobal();
const solAmount = new BN(0.1 * 10 ** 9); // 0.1 SOL
const instructions = await sdk.createAndBuyInstructions({
global,
mint,
name: "name",
symbol: "symbol",
uri: "uri",
creator,
user,
solAmount,
amount: getBuyTokenAmountFromSolAmount(global, null, solAmount),
});Buying coins
const mint = PublicKey.unique();
const user = PublicKey.unique();
const global = await sdk.fetchGlobal();
const { bondingCurveAccountInfo, bondingCurve, associatedUserAccountInfo } =
await sdk.fetchBuyState(mint, user);
const solAmount = new BN(0.1 * 10 ** 9); // 0.1 SOL
const instructions = await sdk.buyInstructions({
global,
bondingCurveAccountInfo,
bondingCurve,
associatedUserAccountInfo,
mint,
user,
solAmount,
amount: getBuyTokenAmountFromSolAmount(global, bondingCurve, solAmount),
slippage: 1,
});Selling coins
const mint = PublicKey.unique();
const user = PublicKey.unique();
const global = await sdk.fetchGlobal();
const { bondingCurveAccountInfo, bondingCurve } = await sdk.fetchSellState(mint, user);
const amount = new BN(15_828);
const instructions = await sdk.sellInstructions({
global,
bondingCurveAccountInfo,
bondingCurve,
mint,
user,
amount,
solAmount: getSellSolAmountFromTokenAmount(global, bondingCurve, amount),
slippage: 1,
});Creator fees
const user = PublicKey.unique();
// Getting total accumulated creator fees for both Pump and PumpSwap programs
console.log((await sdk.getCreatorVaultBalanceBothPrograms(user)).toString());
// Collecting creator fees instructions
const instructions = await sdk.collectCoinCreatorFeeInstructions(user);