Transparency in Fees: We believe in clear and upfront pricing. This page provides a detailed breakdown of our fee structure to ensure you have all the information needed to make informed decisions.

PumpFundler SDK implements two primary types of fees:

Creation Fee

0.01 SOL per token creation

Transaction Fee

1% of the transaction amount

Detailed Fee Explanation

Token Creation Fee

When you create a new token using the PumpFundler SDK, a flat fee of 0.01 SOL is charged. This fee is applied regardless of the token’s parameters.

export const CREATION_FEE = BigInt(0.01 * LAMPORTS_PER_SOL);

Transaction Fee

For each transaction (buy or sell) executed through the SDK, a fee of 1% of the transaction amount is charged. This fee is collected in the same token or SOL that is being transacted.

export const TRANSACTION_FEE_PERCENT = 0.01;

Fee Calculation

Creation Fee

The creation fee is a fixed amount of 0.01 SOL, which is equivalent to 10,000,000 lamports.

Transaction Fee

The transaction fee is calculated as 1% of the transaction amount. For example:

  • If you’re buying 100 SOL worth of tokens, the fee would be 1 SOL.
  • If you’re selling tokens worth 50 SOL, the fee would be 0.5 SOL.
export const calculateTransactionFee = (

  dataSize: bigint | undefined,

): bigint => {

  if (dataSize === undefined) {

    return BigInt(0);

  }

  return BigInt(Math.floor(Number(dataSize) * TRANSACTION_FEE_PERCENT));

};

Fee Implementation

Fees are implemented in the SDK as follows:

  1. Creation Fee: Applied in the createAndBuy method of the PumpFundlerSDK class.
const creationFeeTx = createFeeInstruction(creator.publicKey, CREATION_FEE);

const newTx = new Transaction().add(creationFeeTx).add(createTx);
  1. Transaction Fee: Applied in the buy and sell methods.
const fee = calculateTransactionFee(buyAmountSol);

const buyAmountAfterFee = buyAmountSol - fee;

const feeTx = createFeeInstruction(buyer.publicKey, fee);

Transparency and Updates

We are committed to maintaining transparency in our fee structure. Any changes to our fees will be communicated well in advance through our official channels and updated in this documentation.

Examples

Here are some examples to illustrate how the fees are applied:

Advanced Fee Considerations

Slippage and Fees

When setting slippage tolerance for buy and sell operations, consider the impact of fees:

const slippageBasisPoints = 500n; // 5% slippage tolerance

const buyAmountWithSlippage = calculateWithSlippageBuy(buyAmountSol, slippageBasisPoints);

const sellAmountWithSlippage = calculateWithSlippageSell(minSolOutput, slippageBasisPoints);

Jito Fees

When using Jito for MEV protection, additional fees apply:

const jitoConfig = {

  jitoAuthKeypair: "your_base58_encoded_jito_auth_keypair",

  jitoFee: 10000, // in lamports

};

These fees are separate from the PumpFundler SDK fees and are paid to Jito for their services.

FAQ

Best Practices

  1. Fee Estimation: Always estimate fees before executing transactions to ensure sufficient balance.
  2. User Communication: Clearly communicate fee structures to your users, especially in UI implementations.
  3. Fee Optimization: For large operations, consider batching transactions to optimize fee costs.
  4. Monitoring: Regularly monitor fee expenditures to optimize your application’s cost structure.

By understanding and properly implementing the fee structure, you can ensure smooth operations and transparent pricing for your users when integrating the PumpFundler SDK.