BNB Volume Botbnbvolumebot.net
HomeFeaturesDocumentationAPISupport

Developer API Documentation

Unlock the full potential of BNB Volume Bot through our enterprise-grade RESTful API. Programmatically orchestrate volume campaigns across PancakeSwap and leading BSC DEXs, access granular real-time analytics, and automate your entire BNB Chain trading strategy with millisecond precision.

Get Your API Credentials

API access for BNB Volume Bot requires membership approval. Our technical team reviews each application to ensure optimal platform performance and security. Most applications are processed within 24-48 hours.

Developer Support Contact:

api@bnbvolumebot.net

Include your integration use case, anticipated monthly volume, technical stack, and organization details for expedited review.

Quick Start Guide

API Base Endpoint

https://api.bnbvolumebot.net/v1

All API requests must be made over HTTPS. HTTP requests will be rejected.

Authentication Protocol

Every API request requires Bearer token authentication. Include your unique API key in the Authorization header of each request:

Authorization: Bearer YOUR_API_KEY

Critical Security Guidelines

  • Never commit API keys to version control or expose them in client-side JavaScript
  • Store credentials exclusively in environment variables or secure vault systems
  • Implement key rotation every 90 days as a security best practice
  • Maintain separate API keys for development, staging, and production environments
  • Immediately revoke and regenerate keys if you suspect any compromise

Rate Limiting Policy

The BNB Volume Bot API enforces a rate limit of 100 requests per minute per API key. Rate limit status is provided in response headers. Leverage BSC's 3-second block time for near real-time campaign monitoring without hitting limits.

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1642345678

If you exceed the rate limit, you'll receive a 429 status code. Implement exponential backoff in your retry logic.

Response Structure

All API responses return JSON-formatted data with standard HTTP status codes. Successful requests include a success flag and data payload.

Success Response (200 OK)

{
  "success": true,
  "data": { ... },
  "timestamp": "2024-01-15T10:30:00Z"
}

Error Response (4xx/5xx)

{
  "success": false,
  "error": {
    "code": "INVALID_TOKEN_ADDRESS",
    "message": "The provided token address is invalid",
    "details": "Address must be a valid BEP-20 contract on BSC"
  },
  "timestamp": "2024-01-15T10:30:00Z"
}

Core API Endpoints

POST
/campaigns
Launch a new automated volume generation campaign

Request Parameters

ParameterTypeRequiredDescription
tokenAddressstringYesValid BEP-20 token contract address on BSC
volumeTargetnumberYesTarget volume in BNB (min: 50, max: 10000)
walletMakersnumberYesNumber of unique wallets to deploy (min: 10, max: 5000)
durationnumberYesCampaign duration in minutes (min: 5, max: 1440)
dexstringYesTarget DEX: pancakeswap, biswap, apeswap, babyswap
featuresobjectNoAdvanced campaign optimization features

Example Request Body

{
  "tokenAddress": "0x...",
  "volumeTarget": 100.5,
  "walletMakers": 500,
  "duration": 60,
  "dex": "pancakeswap",
  "features": {
    "smartWalletDistribution": true,
    "antiWhaleProtection": true,
    "liquidityOptimization": true,
    "randomizeTimings": true,
    "multiDexRouting": false
  }
}

Response (201 Created)

{
  "success": true,
  "data": {
    "campaignId": "bnb_camp_abc123",
    "status": "pending",
    "estimatedCost": "0.5234 BNB",
    "network": "bsc",
    "tokenAddress": "0x...",
    "volumeTarget": 100.5,
    "walletMakers": 500,
    "duration": 60,
    "dex": "pancakeswap",
    "estimatedStartTime": "2024-01-15T10:32:00Z",
    "estimatedCompletionTime": "2024-01-15T11:32:00Z",
    "createdAt": "2024-01-15T10:30:00Z"
  },
  "timestamp": "2024-01-15T10:30:00Z"
}
GET
/campaigns/:id
Retrieve real-time campaign status and metrics

Path Parameters

id (string, required) - Unique campaign identifier

Response (200 OK)

{
  "success": true,
  "data": {
    "campaignId": "bnb_camp_abc123",
    "status": "running",
    "network": "bsc",
    "dex": "pancakeswap",
    "tokenAddress": "0x...",
    "tokenSymbol": "TOKEN",
    "tokenName": "My Token",
    "progress": {
      "volumeGenerated": 45.2,
      "volumeTarget": 100.5,
      "walletsCreated": 250,
      "walletsTarget": 500,
      "transactionsExecuted": 1250,
      "percentComplete": 45,
      "currentGasPrice": "5 gwei",
      "averageTransactionSize": "0.036 BNB",
      "estimatedTimeRemaining": "33 minutes"
    },
    "costs": {
      "volumeCost": "0.2617 BNB",
      "gasCost": "0.0125 BNB",
      "totalCost": "0.2742 BNB"
    },
    "startedAt": "2024-01-15T10:35:00Z",
    "estimatedCompletion": "2024-01-15T11:35:00Z",
    "createdAt": "2024-01-15T10:30:00Z"
  },
  "timestamp": "2024-01-15T10:58:00Z"
}
GET
/campaigns
Query all campaigns with advanced filtering

Query Parameters

ParameterTypeDescription
statusstringFilter by status: pending, running, completed, failed, cancelled
dexstringFilter by DEX: pancakeswap, biswap, apeswap, babyswap
limitnumberResults per page (default: 10, max: 100)
offsetnumberPagination offset (default: 0)
sortBystringSort field: createdAt, volumeTarget, status (default: createdAt)
sortOrderstringSort direction: asc, desc (default: desc)
?status=running&dex=pancakeswap&limit=10&offset=0&sortBy=createdAt&sortOrder=desc

Response (200 OK)

{
  "success": true,
  "data": {
    "campaigns": [
      {
        "campaignId": "bnb_camp_abc123",
        "status": "running",
        "tokenAddress": "0x...",
        "volumeTarget": 100.5,
        "volumeGenerated": 45.2,
        "dex": "pancakeswap",
        "createdAt": "2024-01-15T10:30:00Z"
      }
    ],
    "pagination": {
      "total": 25,
      "limit": 10,
      "offset": 0,
      "hasMore": true
    },
    "network": "bsc"
  },
  "timestamp": "2024-01-15T11:00:00Z"
}
PATCH
/campaigns/:id
Modify active campaign parameters (limited to increases only)

Request Body

{
  "duration": 90,  // Extend duration (increase only)
  "volumeTarget": 150.0  // Increase volume target (increase only)
}

Response (200 OK)

{
  "success": true,
  "data": {
    "campaignId": "bnb_camp_abc123",
    "status": "running",
    "volumeTarget": 150.0,
    "duration": 90,
    "additionalCost": "0.2617 BNB",
    "updatedAt": "2024-01-15T11:00:00Z"
  },
  "timestamp": "2024-01-15T11:00:00Z"
}
DELETE
/campaigns/:id
Terminate an active campaign with automatic refund

Response (200 OK)

{
  "success": true,
  "data": {
    "campaignId": "bnb_camp_abc123",
    "status": "cancelled",
    "volumeGenerated": 45.2,
    "transactionsExecuted": 1250,
    "walletsCreated": 250,
    "refundAmount": "0.2617 BNB",
    "refundTransactionHash": "0x...",
    "network": "bsc",
    "cancelledAt": "2024-01-15T11:00:00Z"
  },
  "timestamp": "2024-01-15T11:00:00Z"
}
GET
/analytics/:campaignId
Access comprehensive campaign analytics and performance data

Query Parameters

timeframe (string, optional) - Data granularity: minute, hour, day (default: hour)

metrics (string, optional) - Comma-separated list of specific metrics

Response (200 OK)

{
  "success": true,
  "data": {
    "campaignId": "bnb_camp_abc123",
    "volumeByHour": [
      { "hour": "2024-01-15T10:00:00Z", "volume": 15.2, "transactions": 380 },
      { "hour": "2024-01-15T11:00:00Z", "volume": 30.0, "transactions": 870 }
    ],
    "transactionSizes": {
      "min": "0.001 BNB",
      "max": "0.15 BNB",
      "average": "0.036 BNB",
      "median": "0.032 BNB"
    },
    "walletDistribution": {
      "unique": 250,
      "active": 245,
      "averageTransactionsPerWallet": 5.0
    },
    "priceImpact": {
      "average": 0.023,
      "max": 0.089,
      "min": 0.001
    },
    "gasMetrics": {
      "averageGasPrice": "5 gwei",
      "totalGasCost": "0.0125 BNB",
      "averageGasPerTransaction": "150000"
    },
    "dexDistribution": {
      "pancakeswap": 0.65,
      "biswap": 0.20,
      "apeswap": 0.15
    },
    "performance": {
      "successRate": 0.998,
      "failedTransactions": 5,
      "averageConfirmationTime": "3.2 seconds"
    }
  },
  "timestamp": "2024-01-15T11:30:00Z"
}
GET
/account
Retrieve account details, balance, and usage statistics

Response (200 OK)

{
  "success": true,
  "data": {
    "accountId": "acc_xyz789",
    "email": "user@example.com",
    "tier": "professional",
    "balance": "5.2345 BNB",
    "usage": {
      "totalCampaigns": 127,
      "activeCampaigns": 3,
      "totalVolumeGenerated": "12,450.67 BNB",
      "apiCallsThisMonth": 8542,
      "apiCallsLimit": 100000
    },
    "limits": {
      "maxConcurrentCampaigns": 10,
      "maxVolumePerCampaign": "10000 BNB",
      "maxWalletsPerCampaign": 5000
    },
    "createdAt": "2023-06-15T08:00:00Z"
  },
  "timestamp": "2024-01-15T11:30:00Z"
}

Error Handling Reference

BNB Volume Bot API uses conventional HTTP status codes with detailed error objects in the response body for precise debugging.

CodeError TypeDescription
400INVALID_REQUESTRequest contains invalid or missing required parameters
401UNAUTHORIZEDAPI key is missing, invalid, or expired
403FORBIDDENAPI key lacks necessary permissions for this operation
404NOT_FOUNDRequested campaign or resource does not exist
429RATE_LIMIT_EXCEEDEDToo many requests - implement exponential backoff
500INTERNAL_ERRORServer encountered an unexpected error - retry with backoff
503SERVICE_UNAVAILABLEService temporarily unavailable due to maintenance

Domain-Specific Error Codes

INVALID_TOKEN_ADDRESS

The provided address is not a valid BEP-20 token contract on BSC

INSUFFICIENT_BALANCE

Account BNB balance is too low to execute this campaign

CAMPAIGN_LIMIT_REACHED

Maximum concurrent campaigns limit exceeded for your tier

INVALID_DEX

The specified DEX is not supported or unavailable

VOLUME_BELOW_MINIMUM

Volume target must be at least 50 BNB

Real-Time Webhooks

Configure webhooks to receive instant notifications about campaign events. The BNB Volume Bot webhook system sends POST requests to your endpoint with each significant event, leveraging BSC's fast block confirmations for near real-time updates.

Webhook Configuration

Set up webhooks programmatically via the API or through your dashboard. Each webhook requires a valid HTTPS URL and event subscription list.

POST /webhooks
{
  "url": "https://your-domain.com/webhook",
  "events": ["campaign.started", "campaign.completed", "campaign.failed"],
  "secret": "your_webhook_secret"
}

Supported Event Types

  • campaign.started - Campaign execution initiated on BSC
  • campaign.completed - Campaign successfully finished
  • campaign.failed - Campaign encountered a critical error
  • campaign.progress - Progress milestone reached (every 10%)
  • campaign.paused - Campaign temporarily paused
  • campaign.resumed - Paused campaign resumed
  • transaction.confirmed - Individual transaction confirmed on BSC
  • transaction.failed - Transaction failed on BSC network

Webhook Payload Structure

{
  "event": "campaign.completed",
  "campaignId": "bnb_camp_abc123",
  "network": "bsc",
  "timestamp": "2024-01-15T11:35:00Z",
  "data": {
    "volumeGenerated": 100.5,
    "transactionsExecuted": 2500,
    "walletsCreated": 500,
    "totalGasCost": "0.025 BNB",
    "dex": "pancakeswap",
    "duration": 60,
    "successRate": 0.998
  },
  "signature": "sha256_hmac_signature"
}

Webhook Security Verification

Every webhook payload includes an HMAC-SHA256 signature in the X-Webhook-Signature header. Always verify this signature to confirm authenticity and prevent replay attacks.

// Node.js signature verification
const crypto = require('crypto');

function verifyWebhookSignature(payload, signature, secret) {
  const hmac = crypto.createHmac('sha256', secret);
  const digest = hmac.update(JSON.stringify(payload)).digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(digest)
  );
}

// Usage in Express.js
app.post('/webhook', (req, res) => {
  const signature = req.headers['x-webhook-signature'];
  const isValid = verifyWebhookSignature(req.body, signature, process.env.WEBHOOK_SECRET);
  
  if (!isValid) {
    return res.status(401).send('Invalid signature');
  }
  
  // Process webhook...
  res.status(200).send('OK');
});

Integration Code Examples

JavaScript / Node.js
Production-ready implementation with comprehensive error handling
// Complete campaign lifecycle management
const API_KEY = process.env.BNB_VOLUME_BOT_API_KEY;
const BASE_URL = 'https://api.bnbvolumebot.net/v1';

async function launchVolumeCampaign() {
  try {
    const response = await fetch(`${BASE_URL}/campaigns`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        tokenAddress: '0x...',
        volumeTarget: 100.5,
        walletMakers: 500,
        duration: 60,
        dex: 'pancakeswap',
        features: {
          smartWalletDistribution: true,
          antiWhaleProtection: true,
          liquidityOptimization: true
        }
      })
    });

    if (!response.ok) {
      const error = await response.json();
      throw new Error(`API Error: ${error.error.message}`);
    }

    const { data } = await response.json();
    console.log('Campaign launched:', data.campaignId);
    
    // Monitor campaign progress
    return trackCampaignProgress(data.campaignId);
  } catch (error) {
    console.error('Campaign launch failed:', error);
    throw error;
  }
}

async function trackCampaignProgress(campaignId) {
  const pollStatus = async () => {
    const response = await fetch(`${BASE_URL}/campaigns/${campaignId}`, {
      headers: { 'Authorization': `Bearer ${API_KEY}` }
    });
    
    const { data } = await response.json();
    console.log(`Progress: ${data.progress.percentComplete}%`);
    console.log(`Volume: ${data.progress.volumeGenerated}/${data.progress.volumeTarget} BNB`);
    console.log(`Transactions: ${data.progress.transactionsExecuted}`);
    
    if (data.status === 'completed') {
      console.log('Campaign completed successfully!');
      return data;
    } else if (data.status === 'failed') {
      throw new Error('Campaign failed');
    }
    
    // Poll every 30 seconds
    await new Promise(resolve => setTimeout(resolve, 30000));
    return pollStatus();
  };
  
  return pollStatus();
}

// Execute campaign
launchVolumeCampaign()
  .then(result => console.log('Final result:', result))
  .catch(error => console.error('Error:', error));
Python
Object-oriented implementation with async support
import os
import time
import requests
from typing import Dict, Any

API_KEY = os.getenv('BNB_VOLUME_BOT_API_KEY')
BASE_URL = 'https://api.bnbvolumebot.net/v1'

class BNBVolumeBotClient:
    def __init__(self, api_key: str):
        self.api_key = api_key
        self.headers = {
            'Authorization': f'Bearer {api_key}',
            'Content-Type': 'application/json'
        }
    
    def launch_campaign(self, config: Dict[str, Any]) -> Dict[str, Any]:
        """Launch a new volume generation campaign"""
        response = requests.post(
            f'{BASE_URL}/campaigns',
            headers=self.headers,
            json=config
        )
        response.raise_for_status()
        return response.json()['data']
    
    def get_campaign_status(self, campaign_id: str) -> Dict[str, Any]:
        """Retrieve current campaign status"""
        response = requests.get(
            f'{BASE_URL}/campaigns/{campaign_id}',
            headers=self.headers
        )
        response.raise_for_status()
        return response.json()['data']
    
    def monitor_campaign(self, campaign_id: str, poll_interval: int = 30):
        """Monitor campaign until completion"""
        while True:
            campaign = self.get_campaign_status(campaign_id)
            status = campaign['status']
            progress = campaign['progress']
            
            print(f"Status: {status}")
            print(f"Progress: {progress['percentComplete']}%")
            print(f"Volume: {progress['volumeGenerated']}/{progress['volumeTarget']} BNB")
            print(f"Transactions: {progress['transactionsExecuted']}")
            print("-" * 60)
            
            if status == 'completed':
                print("Campaign completed successfully!")
                return campaign
            elif status == 'failed':
                raise Exception("Campaign execution failed")
            
            time.sleep(poll_interval)
    
    def get_campaign_analytics(self, campaign_id: str) -> Dict[str, Any]:
        """Retrieve detailed campaign analytics"""
        response = requests.get(
            f'{BASE_URL}/analytics/{campaign_id}',
            headers=self.headers
        )
        response.raise_for_status()
        return response.json()['data']

# Usage example
if __name__ == '__main__':
    client = BNBVolumeBotClient(API_KEY)
    
    # Configure campaign
    campaign_config = {
        'tokenAddress': '0x...',
        'volumeTarget': 100.5,
        'walletMakers': 500,
        'duration': 60,
        'dex': 'pancakeswap',
        'features': {
            'smartWalletDistribution': True,
            'antiWhaleProtection': True,
            'liquidityOptimization': True
        }
    }
    
    try:
        campaign = client.launch_campaign(campaign_config)
        print(f"Campaign launched: {campaign['campaignId']}")
        
        # Monitor execution
        result = client.monitor_campaign(campaign['campaignId'])
        
        # Retrieve analytics
        analytics = client.get_campaign_analytics(campaign['campaignId'])
        print(f"Success rate: {analytics['performance']['successRate'] * 100}%")
        
    except requests.exceptions.HTTPError as e:
        print(f"API Error: {e.response.json()}")
Go
Type-safe implementation with idiomatic Go patterns
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
    "os"
    "time"
)

const BaseURL = "https://api.bnbvolumebot.net/v1"

type APIClient struct {
    APIKey     string
    HTTPClient *http.Client
}

type CampaignConfig struct {
    TokenAddress string   `json:"tokenAddress"`
    VolumeTarget float64  `json:"volumeTarget"`
    WalletMakers int      `json:"walletMakers"`
    Duration     int      `json:"duration"`
    Dex          string   `json:"dex"`
}

type Campaign struct {
    CampaignID    string `json:"campaignId"`
    Status        string `json:"status"`
    Progress      CampaignProgress `json:"progress"`
}

type CampaignProgress struct {
    VolumeGenerated      float64 `json:"volumeGenerated"`
    VolumeTarget         float64 `json:"volumeTarget"`
    PercentComplete      int     `json:"percentComplete"`
    TransactionsExecuted int     `json:"transactionsExecuted"`
}

func NewAPIClient(apiKey string) *APIClient {
    return &APIClient{
        APIKey:     apiKey,
        HTTPClient: &http.Client{Timeout: 30 * time.Second},
    }
}

func (c *APIClient) LaunchCampaign(config CampaignConfig) (*Campaign, error) {
    body, _ := json.Marshal(config)
    req, _ := http.NewRequest("POST", BaseURL+"/campaigns", bytes.NewBuffer(body))
    req.Header.Set("Authorization", "Bearer "+c.APIKey)
    req.Header.Set("Content-Type", "application/json")
    
    resp, err := c.HTTPClient.Do(req)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()
    
    var result struct {
        Data Campaign `json:"data"`
    }
    json.NewDecoder(resp.Body).Decode(&result)
    return &result.Data, nil
}

func (c *APIClient) GetCampaignStatus(campaignID string) (*Campaign, error) {
    req, _ := http.NewRequest("GET", BaseURL+"/campaigns/"+campaignID, nil)
    req.Header.Set("Authorization", "Bearer "+c.APIKey)
    
    resp, err := c.HTTPClient.Do(req)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()
    
    var result struct {
        Data Campaign `json:"data"`
    }
    json.NewDecoder(resp.Body).Decode(&result)
    return &result.Data, nil
}

func main() {
    client := NewAPIClient(os.Getenv("BNB_VOLUME_BOT_API_KEY"))
    
    config := CampaignConfig{
        TokenAddress: "0x...",
        VolumeTarget: 100.5,
        WalletMakers: 500,
        Duration:     60,
        Dex:          "pancakeswap",
    }
    
    campaign, err := client.LaunchCampaign(config)
    if err != nil {
        panic(err)
    }
    
    fmt.Printf("Campaign launched: %s\n", campaign.CampaignID)
}
cURL
Command-line examples for quick testing

Launch Campaign

curl -X POST https://api.bnbvolumebot.net/v1/campaigns \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tokenAddress": "0x...",
    "volumeTarget": 100.5,
    "walletMakers": 500,
    "duration": 60,
    "dex": "pancakeswap"
  }'

Check Campaign Status

curl -X GET https://api.bnbvolumebot.net/v1/campaigns/bnb_camp_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Retrieve Analytics

curl -X GET https://api.bnbvolumebot.net/v1/analytics/bnb_camp_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Official SDK Libraries

Accelerate your integration with our official SDK libraries. These production-ready packages handle authentication, request signing, error handling, and provide fully typed interfaces for all API endpoints.

Node.js / TypeScript

npm install @bnbvolumebot/sdk

Complete TypeScript definitions with IntelliSense support

Python

pip install bnbvolumebot

Async/await support with comprehensive type hints

Go

go get bnbvolumebot.net/sdk/go

Idiomatic Go with complete type safety

PHP

composer require bnbvolumebot/php-sdk

PSR-compliant with PHP 8+ features

Start Building Today

Integrate BNB Volume Bot into your platform and unlock automated volume generation at scale. Our developer support team is ready to help you get started with API access and technical guidance.

Developer Support:

api@bnbvolumebot.net
BNB Volume Bot

BNB Volume Bot delivers enterprise-grade trading volume solutions for Binance Smart Chain tokens. Our platform helps projects achieve sustainable growth through intelligent volume generation, enhanced market visibility, and organic holder acquisition across all major BSC decentralized exchanges.

Resources

  • Platform Features
  • Documentation
  • API Reference
  • Getting Started

Platform

  • Volume Bot
  • Supported DEXs
  • Security Features
  • FAQ

Legal

  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Disclaimer

© 2025 BNB Volume Bot. All rights reserved. | bnbvolumebot.net

BNB Volume Bot specializes in automated trading volume generation for BEP-20 tokens on Binance Smart Chain. Our advanced Batch Transaction Queue (BTQ) technology delivers cost-effective volume campaigns across PancakeSwap, BiSwap, ApeSwap, and other leading BSC DEXs. Whether you're launching a new token or scaling an established project, our platform provides the market presence and liquidity depth needed for sustainable growth in the competitive DeFi landscape.

Trading cryptocurrencies carries inherent risks. Please review our risk disclaimer and conduct thorough research before using our services.