From 97a6c25f44515391ac6efba74709b589d26fabbe Mon Sep 17 00:00:00 2001 From: 0X-SquidSol Date: Tue, 7 Apr 2026 20:29:56 -0400 Subject: [PATCH] fix: correct slippage conversion from basis points to decimal in PumpFun trades The slippage parameter was being divided by 100 instead of 10,000 when converting basis points to the decimal value expected by the pump-sdk. This caused users setting 50 bps (0.5%) slippage to actually allow 50% slippage on buy and sell operations, resulting in significant fund loss. Co-Authored-By: Claude Opus 4.6 (1M context) --- electron/services/PumpFunService.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/electron/services/PumpFunService.ts b/electron/services/PumpFunService.ts index 82ae398..c2faea1 100644 --- a/electron/services/PumpFunService.ts +++ b/electron/services/PumpFunService.ts @@ -209,7 +209,7 @@ export async function buyToken(input: TradeInput): Promise { user: keypair.publicKey, amount: tokenAmount, solAmount: solLamports, - slippage: input.slippageBps / 100, + slippage: input.slippageBps / 10_000, tokenProgram: TOKEN_PROGRAM_ID, }) @@ -253,7 +253,7 @@ export async function sellToken(input: TradeInput): Promise { user: keypair.publicKey, amount: tokenAmount, solAmount, - slippage: input.slippageBps / 100, + slippage: input.slippageBps / 10_000, tokenProgram: TOKEN_PROGRAM_ID, })