TurboFun API Documentation - TurboFunDev/TurboFunAPIDocs GitHub Wiki

Join our Telegram to get your API key

Table of Contents

API Endpoints

PumpFun Actions

Get Buy Transaction

Endpoint: /api/v1/pumpFunGetBuyTx

Method: GET

Description: Returns an unsigned transaction buffer as an encoded string for the specified buy transaction.

Parameters:

  • publicKey (string): Buyer's public key.
  • mint (string): Token mint address.
  • amount (number): Amount in SOL.
  • inSol (boolean): Is the buy amount in SOL? Always true.
  • slippage (number): Slippage percentage (0-99).
  • rpcUrl (string): RPC URL.
  • apiKey (string): API key.
  • encoding (string): Encoding type, either base58 or base64.

Request Example:

GET /api/v1/pumpFunGetBuyTx
Content-Type: application/json

{
  "publicKey": "examplePublicKey",
  "mint": "exampleMint",
  "amount": 10,
  "inSol": true,
  "slippage": 1,
  "rpcUrl": "https://example-rpc.com",
  "apiKey": "yourApiKey",
  "encoding": "base58"
}

Get Sell Transaction

Endpoint: /api/v1/pumpFunGetSellTx

Method: GET

Description: Returns an unsigned transaction buffer as an encoded string for the specified sell transaction.

Parameters:

  • publicKey (string): Seller's public key.
  • mint (string): Token mint address.
  • amount (string or number): Token amount or percentage (e.g., 25%).
  • slippage (number): Slippage percentage (0-99).
  • rpcUrl (string): RPC URL.
  • apiKey (string): API key.
  • encoding (string): Encoding type, either base58 or base64.

Request Example:

GET /api/v1/pumpFunGetSellTx
Content-Type: application/json

{
  "publicKey": "examplePublicKey",
  "mint": "exampleMint",
  "amount": "50%",
  "slippage": 1,
  "rpcUrl": "https://example-rpc.com",
  "apiKey": "yourApiKey",
  "encoding": "base58"
}

Send Buy Transaction

Endpoint: /api/v1/pumpFunSendBuyTx

Method: POST

Description: Sends a buy transaction. Using Jito is recommended as default transactions are not very reliable on the PumpFun space and tend to fail.

Required Parameters:

  • privKey (string): Buyer's private key as a base58 encoded string.
  • mint (string): Token mint address.
  • amount (number): Amount in SOL.
  • inSol (boolean): Is the buy amount in SOL? Always true.
  • slippage (number): Slippage percentage (0-99).
  • rpcUrl (string): RPC URL.
  • apiKey (string): API key.

Optional Parameters:

  • useJito (boolean): Use Jito, true by default.
  • jitoTip (number): Jito tip in SOL. Default is 0.00001.
  • maxRetries (number): Maximum retries. Default is 5.

Request Example:

POST /api/v1/pumpFunSendBuyTx
Content-Type: application/json

{
  "privKey": "examplePrivateKey",
  "mint": "exampleMint",
  "amount": 10,
  "inSol": true,
  "slippage": 1,
  "rpcUrl": "https://example-rpc.com",
  "apiKey": "yourApiKey",
  "useJito": true,
  "jitoTip": 0.00001,
  "maxRetries": 5
}

Send Sell Transaction

Endpoint: /api/v1/pumpFunSendSellTx

Method: POST

Description: Sends a sell transaction. Using Jito is recommended as default transactions are not very reliable on the PumpFun space and tend to fail.

Required Parameters:

  • privKey (string): Seller's private key as a base58 encoded string.
  • mint (string): Token mint address.
  • amount (string or number): Token amount or percentage (e.g., 50%).
  • slippage (number): Slippage percentage (0-99).
  • rpcUrl (string): RPC URL.
  • apiKey (string): API key.

Optional Parameters:

  • useJito (boolean): Use Jito, true by default.
  • jitoTip (number): Jito tip in SOL. Default is 0.00001.
  • maxRetries (number): Maximum retries. Default is 5.

Request Example:

POST /api/v1/pumpFunSendSellTx
Content-Type: application/json

{
  "privKey": "examplePrivateKey",
  "mint": "exampleMint",
  "amount": "50%",
  "slippage": 1,
  "rpcUrl": "https://example-rpc.com",
  "apiKey": "yourApiKey",
  "useJito": true,
  "jitoTip": 0.00001,
  "maxRetries": 5
}

Start Bump Bot

Endpoint: /api/v1/pumpFunBump

Method: POST

Description: Starts a bump bot to execute transactions based on the provided parameters. The bot will run for a specified duration and can handle multiple wallets for transactions.

Required Parameters:

  • wallets (array): Array of private keys (maximum 4) for the wallets to be used.
  • minSolAmount (number): Minimum SOL amount to bump.
  • maxSolAmount (number): Maximum SOL amount to bump.
  • mint (string): Mint/contract address of the token.
  • rpcUrl (string): RPC URL to be used.
  • apiKey (string): Your API key.
  • secondsToRun (number): Time for the bot to run in seconds (maximum: 43200 seconds / 12 hours).
  • jitoTipPayer (string): Private key of the JitoTip payer for the sent bundles.
  • jitoTip (number): Jito tip amount (recommended: 0.00001 SOL).

Optional Parameters:

  • delayBetweenTxs (number): Delay between each bundle of transactions in seconds. Default is 10 seconds if not set.
  • fundingPrivKey (string): Private key to top up bot wallets if they are depleted.
  • fundingSolAmount (number): Amount in SOL to transfer from fundingPrivKey to each wallet in case of depletion. If not set, 0.1 SOL will be sent to each wallet by default.

Request Example

POST /api/v1/pumpFunBump
Content-Type: application/json

{
  "wallets": [
    "examplePrivateKey1",
    "examplePrivateKey2"
  ],
  "minSolAmount": 0.1,
  "maxSolAmount": 1.0,
  "mint": "exampleMintAddress",
  "rpcUrl": "https://example-rpc.com",
  "apiKey": "yourApiKey",
  "secondsToRun": 3600,
  "jitoTipPayer": "exampleJitoTipPayerPrivateKey",
  "jitoTip": 0.00001,
  "delayBetweenTxs": 15,
  "fundingPrivKey": "exampleFundingPrivateKey",
  "fundingSolAmount": 0.2
}

Response:

  • 200:
    {
      "taskId": "string" 
    }
    
  • 400:
    {
      "error": "Invalid params" 
    }
    

Create Token

Endpoint: /api/v1/pumpFunCreateToken

Method: POST

Description: Creates a new token on the PumpFun platform.

Required Parameters:

  • devWallet (string): Developer's private key.
  • devBuy (number): SOL amount to buy with the dev wallet.
  • metaData (object): Token metadata including name, symbol, description, twitter, telegram, website, imageBase64, imageType.
  • apiKey (string): User API key.
  • rpcUrl (string): RPC URL.

Request Example:

POST /api/v1/pumpFunCreateToken
Content-Type: application/json

{
  "devWallet": "exampleDevWalletPrivateKey",
  "devBuy": 10,
  "metaData": {
    "name": "ExampleToken",
    "symbol": "EXT",
    "description": "This is an example token.",
    "twitter": "https://twitter.com/example",
    "telegram": "https://t.me/example",
    "website": "https://example.com",
    "imageBase64": "exampleBase64ImageString",
    "imageType": "image/png"
  },
  "apiKey": "yourApiKey",
  "rpcUrl": "https://example-rpc.com"
}

Bundled Launch

Endpoint: /api/v1/pumpFunBundledLaunch

Method: POST

Description: Launches a new token bundle on the PumpFun platform.

Required Parameters:

  • wallets (array): Array of wallets including private key and SOL amount to buy for each wallet.
  • devWallet (string): Developer's private key.
  • devBuy (number): SOL amount to buy with the dev wallet.
  • metaData (object): Token metadata including name, symbol, description, twitter, telegram, website, imageBase64, imageType.
  • apiKey (string): User API key.
  • rpcUrl (string): RPC URL.

Request Example:

POST /api/v1/pumpFunBundledLaunch
Content-Type: application/json

{
  "wallets": [
    {
      "privKey": "exampleWalletPrivateKey1",
      "amount": 5
    },
    {
      "privKey": "exampleWalletPrivateKey2",
      "amount": 5
    }
  ],
  "devWallet": "exampleDevWalletPrivateKey",
  "devBuy": 10,
  "metaData": {
    "name": "ExampleTokenBundle",
    "symbol": "EXTB",
    "description": "This is an example token bundle.",
    "twitter": "https://twitter.com/example",
    "telegram": "https://t.me/example",
    "website": "https://example.com",
    "imageBase64": "exampleBase64ImageString",
    "imageType": "image/png"
  },
  "apiKey": "yourApiKey",
  "rpcUrl": "https://example-rpc.com"
}

Bundled Sell

Endpoint: /api/v1/pumpFunBundledSell

Method: POST

Description: Sells a token bundle on the PumpFun platform.

Required Parameters:

  • wallets (array): Array of wallets including private key and SOL amount to sell for each wallet.
  • devWallet (string): Developer's private key.
  • devBuy (number): SOL amount to buy with the dev wallet.
  • metaData (object): Token metadata including name, symbol, description, twitter, telegram, website, imageBase64, imageType.
  • apiKey (string): User API key.
  • rpcUrl (string): RPC URL.

Request Example:

POST /api/v1/pumpFunBundledSell
Content-Type: application/json

{
  "wallets": [
    {
      "privKey": "exampleWalletPrivateKey1",
      "amount": 5
    },
    {
      "privKey": "exampleWalletPrivateKey2",
      "amount": 5
    }
  ],
  "devWallet": "exampleDevWalletPrivateKey",
  "devBuy": 10,
  "metaData": {
    "name": "ExampleTokenBundle",
    "symbol": "EXTB",
    "description": "This is an example token bundle.",
    "twitter": "https://twitter.com/example",
    "telegram": "https://t.me/example",
    "website": "https://example.com",
    "imageBase64": "exampleBase64ImageString",
    "imageType": "image/png"
  },
  "apiKey": "yourApiKey",
  "rpcUrl": "https://example-rpc.com"
}

Transfer Actions

Send Transfer

Endpoint: /api/v1/sendTransfer

Method: POST

Description: Sends multiple SOL transfers in a single request. Only SOL transfers are supported for now. Maximum 20 transfers per request.

Required Parameters:

  • transfers (array): Array of transfers, each containing:
    • senderPrivKey (string): Private key of the sender as a base58 string.
    • receiverPubKey (string): Public key of the receiver as a base58 string.
    • solAmount (number): Amount of SOL to transfer.
  • apiKey (string): API key.
  • rpcUrl (string): RPC URL.

Optional Parameters:

  • jitoTipPayerPrivateKey (string): Private key of fee payer for Jito tips.
  • simulateTransactions (boolean): Whether to simulate transactions before sending. Default is false.
  • jitoTipLamports (number): Jito tip in lamports. Default is 0.00001 SOL.

Request Example:

POST /api/v1/sendTransfer
Content-Type: application/json

{
  "transfers": [
    {
      "senderPrivKey": "exampleSenderPrivateKey1",
      "receiverPubKey": "exampleReceiverPublicKey1",
      "solAmount": 1
    },
    {
      "senderPrivKey": "exampleSenderPrivateKey2",
      "receiverPubKey": "exampleReceiverPublicKey2",
      "solAmount": 2
    }
  ],
  "apiKey": "yourApiKey",
  "rpcUrl": "https://example-rpc.com",
  "jitoTipPayerPrivateKey": "exampleJitoTipPayerPrivateKey",
  "simulateTransactions": false,
  "jitoTipLamports": 1000
}

Stop Task

Endpoint: /api/v1/stopTask

Method: POST

Description: Stops a running task identified by the taskId.

Required Parameters:

  • apiKey (string): Your API key.
  • taskId (string): The task ID to stop.

Request Example

POST /api/v1/stopTask
Content-Type: application/json

{
  "apiKey": "yourApiKey",
  "taskId": "exampleTaskId"
}

Response:

  • 200:
    {
      "result": "success"
    }
    
  • 400:
    {
      "error": "Task isn't running"
    }
    
  • 404:
    {
      "error": "Task doesn't exist or user doesn't have permission to stop it."
    }
    

Errors

The API returns standard HTTP status codes for successful and failed requests. In case of an error, a JSON object with an error field will be returned.

  • 400: Invalid parameters.
  • 401: Unauthorized. Please check your API key or permissions.
  • 500: Internal server error.