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, eitherbase58
orbase64
.
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, eitherbase58
orbase64
.
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 fromfundingPrivKey
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 includingname
,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 includingname
,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 includingname
,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.