Skip to main content

BotForge Documentation

Complete documentation for FortiBlox BotForge

Version: 1.0.0|Last updated: Jan 2026

#Getting Started

Welcome to BotForge! This guide will help you create your first Telegram price bot for X1 blockchain tokens. Follow these steps to get started.

#Create Your First Bot

Creating a bot with BotForge is straightforward. Here is the process:

  1. Connect your wallet - Use a Solana-compatible wallet (Phantom, Solflare, or Backpack) with X1 blockchain support.
  2. Enter token address - Provide the mint address of the X1 token you want to track.
  3. Create bot with BotFather - Use Telegram is @BotFather to create a new bot and get your token.
  4. Configure price cards - Choose a template and customize how alerts will appear.
  5. Set up alerts - Define thresholds for buy/sell notifications.
  6. Pay and deploy - Subscribe ($50/month) to activate your bot.
[*]
Your bot will be deployed within seconds of payment confirmation. You can manage it from the Dashboard at any time.

#Wallet Setup Requirements

BotForge requires a Solana-compatible wallet configured for the X1 blockchain:

Supported Wallets

  • - Phantom
  • - Solflare
  • - Backpack
  • - Glow
  • - Any Solana wallet adapter

Network Configuration

  • - Network: X1 Mainnet
  • - RPC: https://rpc.mainnet.x1.xyz
  • - Chain ID: x1-mainnet
$Add X1 Network to Phantom
1. Open Phantom wallet
2. Settings > Developer Settings > Change Network
3. Add custom RPC: https://rpc.mainnet.x1.xyz
4. Save and switch to X1 Mainnet

#USDC.X Acquisition

USDC.X is the stablecoin used for BotForge payments. Here is how to get it:

Option 1: Bridge from USDC

Use the X1 Bridge to convert USDC (Solana) to USDC.X on X1 blockchain. Visit bridge.x1.xyz

Option 2: DEX Swap

Swap XNT or other X1 tokens for USDC.X on XDEX

[i]
BotForge Pro is $50/month. This includes unlimited alerts and managed hosting.

#Bot Configuration

Configure your bot to track tokens and send customized alerts.

#Token Address Setup

Every bot tracks a single X1 blockchain token. Enter the mint address (44 characters):

$Example Token Address
5sN7WB75KLQHKNVkxX6wycRhc75C1NDACiKREiWepZ9n

BotForge will automatically fetch token metadata including:

  • Token name and symbol
  • Decimals
  • Supply information
  • Token image (from IPFS metadata)
[!]
Only Token-2022 standard tokens on X1 blockchain are supported. Legacy SPL tokens may have limited metadata support.

#BotFather Integration

Create your Telegram bot using @BotFather:

$BotFather Commands
1. Open Telegram and search for @BotFather
2. Send /newbot
3. Enter a name for your bot (e.g., "PEPE Price Bot")
4. Enter a username (must end in "bot", e.g., "pepe_price_bot")
5. Copy the API token provided

Bot Token Format

1234567890:ABCdefGHIjklMNOpqrsTUVwxyz-1234567890
[X]
Never share your bot token publicly. Anyone with the token can control your bot. BotForge stores tokens securely using encryption.

#Price Card Templates

Customize how price alerts appear in Telegram chats:

Minimal

BUY $PEPE
Amount: 1,000,000 PEPE
Value: $150.00
MCap: $1.2M

Detailed

BUY $PEPE
Amount: 1,000,000 PEPE
Spent: 100 XNT ($150)
MCap: $1.2M | FDV: $12M
Wallet: 7xKX...gAsU
[Explorer Link]

Configuration Options

OptionDescriptionDefault
headerEmojiCustom emoji for headerToken logo
showSpentShow XNT amount spenttrue
showReceivedShow token amount receivedtrue
showMcapDisplay market captrue
showFdvDisplay fully diluted valuationtrue
explorerLinkInclude link to block explorertrue
customFooterCustom footer textEmpty

#Alert Settings

Fine-tune which transactions trigger alerts:

SettingDescriptionDefault
minBuyAmountMinimum USD value for buy alerts$0 (all buys)
minSellAmountMinimum USD value for sell alerts$0 (all sells)
whaleThresholdUSD threshold for whale alerts$10,000
cooldownSecondsMinimum time between alerts5 seconds
[*]
Set higher thresholds for high-volume tokens to avoid alert spam. Use the cooldown setting to batch rapid transactions.

#Bot Commands

Your bot responds to these commands in Telegram chats:

#/start

/startAny user

Initialize the bot in a chat and begin receiving price alerts. The bot will register this chat for notifications.

Usage: /start
Example: Bot responds with welcome message and starts sending alerts

#/price

/priceAny user

Get the current price and market data for the tracked token.

Usage: /price
Example: Returns: $PEPE: $0.00001234 | MCap: $1.2M | 24h: +15.5%

#/ca

/caAny user

Display the contract address (token mint address) for easy copying.

Usage: /ca
Example: Returns: 5sN7WB75KLQHKNVkxX6wycRhc75C1NDACiKREiWepZ9n

#/info

/infoAny user

Show detailed token information including supply, authorities, and metadata.

Usage: /info
Example: Returns full token details with links

#/stats

/statsAny user

Display bot statistics including alerts sent, active chats, and uptime.

Usage: /stats
Example: Returns: Alerts: 1,234 | Chats: 5 | Uptime: 7d 12h

#/mute and /unmute

/muteAdmin only

Temporarily stop price alerts in the current chat. Use /unmute to resume.

Usage: /mute or /unmute
Example: /mute - Bot stops sending alerts; /unmute - Alerts resume

#/settings

/settingsAdmin only

View and modify bot settings for this chat (thresholds, display options).

Usage: /settings [option] [value]
Example: /settings minBuy 100 - Set minimum buy alert to $100

#/help

/helpAny user

Display all available commands and their usage.

Usage: /help
Example: Returns list of all commands with descriptions

#API Reference

BotForge provides REST APIs for advanced integrations. Full documentation available at API.md

#Orchestrator API

Base URL: http://localhost:3001 (dev) or http://orchestrator:3001 (Docker)

GET/health

Health check endpoint

Response
{
  "status": "ok",
  "service": "orchestrator"
}
GET/config/:botId

Fetch bot configuration including card template and alert settings

Parameters
NameTypeDescription
botIdstringUUID of the bot
Response
{
  "tokenAddress": "5sN7WB...",
  "tokenSymbol": "PEPE",
  "cardTemplate": { ... },
  "alertSettings": { ... }
}
POST/bots/:botId/deploy

Deploy a bot container

Parameters
NameTypeDescription
botIdstringUUID of the bot
Response
{
  "success": true,
  "status": "deployed",
  "containerId": "abc123..."
}
POST/bots/:botId/stop

Stop a running bot container

Parameters
NameTypeDescription
botIdstringUUID of the bot
Response
{
  "success": true,
  "status": "stopped"
}
GET/bots/:botId/logs

Fetch bot container logs

Parameters
NameTypeDescription
botIdstringUUID of the bot
tailnumberNumber of lines (default: 100)

#Price Engine API

Base URL: http://localhost:3002 (dev) or http://price-engine:3002 (Docker)

GET/token/:address

Fetch complete token metadata from Token-2022 extensions and IPFS

Parameters
NameTypeDescription
addressstringToken mint address (base58)
Response
{
  "address": "5sN7WB...",
  "name": "BLACK JACK",
  "symbol": "JACK",
  "decimals": 9,
  "supply": "1000000000000000000",
  "imageUrl": "https://...",
  "isToken2022": true
}
GET/price/:address

Get current price and market data for a token

Parameters
NameTypeDescription
addressstringToken mint address
Response
{
  "priceUsd": 0.00001234,
  "marketCap": 12340,
  "fdv": 12340000,
  "volume24h": 5678.90,
  "change24h": 15.5
}
POST/subscribe

Subscribe a bot to receive transaction alerts

Parameters
NameTypeDescription
botIdstringUUID of the bot
tokenAddressstringToken to track
Response
{
  "success": true,
  "message": "Subscribed to 5sN7WB..."
}

#WebSocket Protocol

Real-time transaction updates via WebSocket connection:

$WebSocket Connection
const ws = new WebSocket('ws://localhost:3002');

// Subscribe to token
ws.send(JSON.stringify({
  type: 'subscribe',
  tokenAddress: '5sN7WB75KLQHKNVkxX6wycRhc75C1NDACiKREiWepZ9n'
}));

// Handle messages
ws.onmessage = (event) => {
  const msg = JSON.parse(event.data);

  if (msg.type === 'transaction') {
    console.log(`${msg.data.type}: ${msg.data.amountToken} ${msg.data.tokenSymbol}`);
  }
};

Transaction Alert Format

{
  "type": "transaction",
  "data": {
    "type": "buy",
    "tokenAddress": "5sN7WB...",
    "tokenSymbol": "JACK",
    "amountToken": "1000000.00",
    "amountXnt": "100.5",
    "amountUsd": 10.05,
    "walletAddress": "7xKX...",
    "txSignature": "5VER...",
    "marketCap": 12340,
    "timestamp": "2026-01-24T10:30:00.000Z"
  }
}

#Frequently Asked Questions

Q:How much does it cost to create a bot?
A:BotForge Pro is $50/month. This includes unlimited alerts, managed hosting, and all future updates.
Q:Can I track multiple tokens with one bot?
A:No, each bot tracks a single token. This ensures optimal performance and allows customization specific to each token. Create multiple bots for multiple tokens.
Q:How quickly do alerts arrive?
A:Alerts are sent within 1-3 seconds of transaction confirmation on X1 blockchain. The Price Engine monitors transactions in real-time via WebSocket subscriptions.
Q:Can I add my bot to multiple Telegram groups?
A:Yes! Your bot can be added to unlimited groups. Each group will receive alerts independently and can have its own mute settings.
Q:What happens if the bot goes offline?
A:BotForge uses Docker containers with automatic restart policies. If a bot crashes, it will restart automatically within seconds. Historical alerts during downtime are not re-sent.
Q:Can I customize alert messages?
A:Yes, through price card templates. You can choose what information to display, add custom emojis, and include a custom footer message.
Q:How do I update my bot token?
A:From the Dashboard, select your bot and go to Settings. You can update the Telegram bot token there. The bot will restart with the new token.
Q:Is there an API rate limit?
A:The Price Engine allows up to 100 requests per minute per IP. WebSocket connections have no rate limit. Bot containers have internal cooldowns for alerts.
Q:Can I get a refund?
A:Refunds are available within 24 hours if your bot has not been successfully deployed. Contact support with your wallet address and bot ID.
Q:How do I report a bug or request a feature?
A:Visit our GitHub repository or contact the FortiBlox team on Telegram. We actively maintain and improve BotForge based on community feedback.