silent-raven

byItz Edex
LandingEXCLUSIVE ADVERTISINGmain menuVolume boost packagesDEPOSIT SOLdashboardTRENDING PACKAGESFREE TOOLSVOTING BOOSTLoginCONNECT WALLETTOKEN CREATION SETUPAdmin Stats
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirements Document for silent-raven

1. Introduction

1.1 Tier Packages (from screenshot 1)

    "emoji": "๐Ÿฅˆ"

},

1.2 ==================== KEYBOARDS ====================

def get_main_menu_keyboard():

Page 1 of 45

1.3 Show volume packages

elif data == "token_setup":

    text = """

โš™๏ธ TOKEN CREATION SETUP โš™๏ธ

Full token launch package:

โ€ข Token creation: 0.5 SOL

โ€ข Liquidity setup: 1.0 SOL

โ€ข Initial volume: 2.0 SOL

โ€ข Trending boost: 5.0 SOL

Total: 8.5 SOL (Save 1.5 SOL!)

Includes:

โœ… Contract deployment

โœ… Metadata setup

โœ… Social links

Page 2 of 45

1.4 Tier packages

if data.startswith("tier_"):

    tier_id = data.replace("tier_", "")

    tier = TIER_PACKAGES.get(tier_id)

    if tier:

        text = f"""

{tier['emoji']} {tier['name'].upper()} PACKAGE {tier['emoji']}

๐Ÿ’ฐ Price: {tier['price']} SOL

๐Ÿ“‹ Features:

"""

        for feature in tier['features']:

Project name: silent-raven.

2. System Overview

2.1 ==================== KEYBOARDS ====================

return InlineKeyboardMarkup(keyboard)

3. Functional Requirements

Page 3 of 45

3.1 Tier Packages (from screenshot 1)

TIER_PACKAGES = {

"iron": {

    "name": "โ›“ Iron",

    "price": 1.50,

    "features": ["Basic volume boost", "24h duration", "1 thread"],

    "emoji": "โ›“"

},

"bronze": {

    "name": "๐Ÿฅ‰ Bronze",

    "price": 2.50,

    "features": ["Standard volume boost", "48h duration", "2 threads", "Trending support"],

    "emoji": "๐Ÿฅ‰"

},

"silver": {

    "name": "๐Ÿฅˆ Silver",

    "price": 5.00,

    "features": ["Advanced volume boost", "72h duration", "3 threads", "Trending guaranteed", "Dexscreener trending"],

"gold": {
Page 4 of 45
    "name": "๐Ÿฅ‡ Gold",

    "price": 3.50,

    "features": ["Premium volume boost", "48h duration", "5 threads", "King of Hill support", "Social signals"],

    "emoji": "๐Ÿฅ‡"

},

"platinum": {

    "name": "๐Ÿ’Ž Platinum",

    "price": 7.50,

    "features": ["Elite volume boost", "96h duration", "10 threads", "King of Hill guaranteed", "Premium trending", "Ads included"],

    "emoji": "๐Ÿ’Ž"

},

"diamond": {

    "name": "๐Ÿ‘‘ Diamond",

    "price": 10.50,

    "features": ["Ultimate volume boost", "168h duration", "Unlimited threads", "Permanent trending", "VIP support", "Custom strategy"],

    "emoji": "๐Ÿ‘‘"

}

}

Page 5 of 45

3.2 Volume Boost Packages (B~B = Bump-to-Bump transactions)

VOLUME_PACKAGES = {

"basic": {

    "name": "๐ŸŸข 0.3 SOL B~B",

    "price": 0.3,

    "description": "Light volume boost\n~50 transactions",

    "duration": "1 hour",

    "speed": "Normal"

},

"standard": {

    "name": "๐ŸŸข 0.4 SOL B~B",

    "price": 0.4,

    "description": "Medium volume boost\n~75 transactions",

    "duration": "1-2 hours",

    "speed": "Fast"

},

"pro": {

    "name": "๐ŸŸข 0.5 SOL B~B",

    "price": 0.5,

    "description": "Heavy volume boost\n~100 transactions",
Page 6 of 45
    "duration": "2 hours",

    "speed": "Turbo"

},

"max": {

    "name": "๐ŸŸข 0.6 SOL B~B",

    "price": 0.6,

    "description": "Maximum volume boost\n~150 transactions",

    "duration": "3 hours",

    "speed": "Maximum"

}

}

Page 7 of 45

3.3 Premium Services

PREMIUM_SERVICES = {

"trending_king": {

    "name": "โšก Premium Trend",

    "price": 5.0,

    "description": "Guaranteed King of the Hill position",

    "duration": "4 hours"

},

"voting_boost": {

    "name": "๐Ÿ—ณ๏ธ Voting Boost",

    "price": 2.0,

    "description": "Upvote manipulation for trending boards",

    "votes": "1000+ votes"

},

"exclusive_ads": {

    "name": "๐Ÿ“ข Exclusive Ads",

    "price": 3.0,

    "description": "Featured placement in bot",

    "duration": "24 hours"

},
Page 8 of 45
"dexscreener": {

    "name": "๐Ÿ”ด Dexscreener Trending",

    "price": 4.0,

    "description": "Get trending on Dexscreener",

    "duration": "12 hours"

}

}

3.4 User data storage (use Redis/DB in production)

pending_orders = {}

Page 9 of 45

3.5 ==================== KEYBOARDS ====================

"""Main menu keyboard (screenshot 3)"""

keyboard = [

    [

    ],

        InlineKeyboardButton("โšก Trending", callback_data="menu_trending"),

        InlineKeyboardButton("๐Ÿ’ฐ Volume", callback_data="menu_volume")

        InlineKeyboardButton("๐Ÿ“ข Exclusive Ads", callback_data="menu_ads")

        InlineKeyboardButton("๐Ÿ—ณ๏ธ Voting Boost", callback_data="menu_voting"),

        InlineKeyboardButton("๐ŸŽ Free Tools", callback_data="menu_tools")

        InlineKeyboardButton("โœ๏ธ Feedback", callback_data="menu_feedback"),

        InlineKeyboardButton("๐Ÿ’ฌ Support", url="https://t.me/your_support")

    ],

    ]

]

return InlineKeyboardMarkup(keyboard)
Page 10 of 45

def get_dashboard_keyboard():

"""Dashboard keyboard (screenshot 4)"""

keyboard = [

    [InlineKeyboardButton("๐ŸŸข Start bumping", callback_data="start_bumping")],

    [

        InlineKeyboardButton("๐Ÿ’‰ Volume Boost", callback_data="service_volume"),

        InlineKeyboardButton("โ™ป๏ธ Premium Trend", callback_data="service_premium")

    ],

        InlineKeyboardButton("๐Ÿ’น Deposit", callback_data="deposit"),

        InlineKeyboardButton("๐Ÿ›ก๏ธ Connect wallet", callback_data="connect_wallet")

        InlineKeyboardButton("๐Ÿ”ด Dexscreener", callback_data="service_dex"),

        InlineKeyboardButton("๐Ÿ’ฌ SUPPORT", url="https://t.me/your_support")

    ],

    [InlineKeyboardButton("โš™๏ธ Token Creation Setup", callback_data="token_setup")]

]

return InlineKeyboardMarkup(keyboard)
Page 11 of 45

def get_tier_packages_keyboard():

"""Tier packages keyboard (screenshot 1)"""

keyboard = [

    [

        InlineKeyboardButton(f"โ›“ {TIER_PACKAGES['iron']['price']} SOL ~ Iron",

                           callback_data="tier_iron"),

        InlineKeyboardButton(f"๐Ÿฅ‰ {TIER_PACKAGES['bronze']['price']} SOL ~ Bronze",

                           callback_data="tier_bronze")

    ],

        InlineKeyboardButton(f"๐Ÿฅ‡ {TIER_PACKAGES['gold']['price']} SOL ~ Gold",

                           callback_data="tier_gold"),

        InlineKeyboardButton(f"๐Ÿ’Ž {TIER_PACKAGES['platinum']['price']} SOL ~ Plati...",

                           callback_data="tier_platinum")

    ],

    [

        InlineKeyboardButton(f"๐Ÿฅˆ {TIER_PACKAGES['silver']['price']} SOL ~ Silver",

                           callback_data="tier_silver"),
Page 12 of 45
        InlineKeyboardButton(f"๐Ÿ‘‘ {TIER_PACKAGES['diamond']['price']} SOL ~ Dia...",

                           callback_data="tier_diamond")

    [

        InlineKeyboardButton("โฌ…๏ธ Back", callback_data="back_main"),

        InlineKeyboardButton("โฌ†๏ธ Main Menu", callback_data="main_menu")

    ]

]

def get_volume_packages_keyboard():

"""Volume boost packages (screenshot 2)"""

keyboard = [

    [InlineKeyboardButton("๐ŸŸข 0.3 SOL B~B", callback_data="vol_basic")],

    [

        InlineKeyboardButton("๐ŸŸข 0.4 SOL B~B", callback_data="vol_standard"),

        InlineKeyboardButton("๐ŸŸข 0.5 SOL B~B", callback_data="vol_pro")

    ],

    [InlineKeyboardButton("๐ŸŸข 0.6 SOL B~B", callback_data="vol_max")],

    [InlineKeyboardButton("โฌ…๏ธ Back", callback_data="back_main")]

]

return InlineKeyboardMarkup(keyboard)
Page 13 of 45

def get_payment_keyboard(package_type, package_id, amount):

"""Payment confirmation keyboard"""

keyboard = [

    [InlineKeyboardButton("โœ… Confirm Payment", callback_data=f"pay_{package_type}_{package_id}")],

]

return InlineKeyboardMarkup(keyboard)

    [InlineKeyboardButton("โŒ Cancel", callback_data="cancel_order")],

]

return InlineKeyboardMarkup(keyboard)

    [InlineKeyboardButton("๐Ÿ’ฌ Need Help?", url="https://t.me/your_support")]

]

return InlineKeyboardMarkup(keyboard)
Page 14 of 45

3.6 ==================== COMMAND HANDLERS ====================

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):

"""Start command - show main menu"""

user = update.effective_user

user_data[user.id] = {

    "username": user.username,

    "wallet": None,

    "balance": 0.0,

    "orders": []

}

welcome_text = f"""

๐Ÿš€ Welcome to PumpFun Boost Bot ๐Ÿš€

Hey @{user.username}!

Boost your token's visibility with:

โ€ข โšก Trending manipulation

โ€ข ๐Ÿ’ฐ Volume generation

โ€ข ๐Ÿ—ณ๏ธ Voting boosts

โ€ข ๐Ÿ“ข Exclusive advertising

Your Balance: 0.00 SOL

Wallet: Not connected

Page 15 of 45

Select a service below:

"""

await update.message.reply_text(

    welcome_text,

    parse_mode='Markdown',

    reply_markup=get_main_menu_keyboard()

)

async def menu_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):

"""Handle main menu navigation"""

query = update.callback_query

await query.answer()

data = query.data

if data == "menu_trending" or data == "service_premium":

if data == "menu_trending" or data == "service_premium":
Page 16 of 45

3.7 Show tier packages

    text = """

๐Ÿ‘‘ TRENDING PACKAGES ๐Ÿ‘‘

Select your tier to boost trending:

โ›“ Iron - 1.50 SOL - Basic boost

๐Ÿฅ‰ Bronze - 2.50 SOL - Standard boost

๐Ÿฅ‡ Gold - 3.50 SOL - Premium boost

๐Ÿฅˆ Silver - 5.00 SOL - Advanced boost

๐Ÿ’Ž Platinum - 7.50 SOL - Elite boost

๐Ÿ‘‘ Diamond - 10.50 SOL - Ultimate boost

All packages include volume + trending support.

    """

    await query.edit_message_text(text, parse_mode='Markdown', reply_markup=get_tier_packages_keyboard())

elif data == "menu_volume" or data == "service_volume":
Page 17 of 45

3.8 Show volume packages

    text = """

๐Ÿ’‰ VOLUME BOOST PACKAGES ๐Ÿ’‰

๐ŸŸข 0.3 SOL - Light boost (~50 txns)

๐ŸŸข 0.4 SOL - Medium boost (~75 txns)

๐ŸŸข 0.5 SOL - Heavy boost (~100 txns)

๐ŸŸข 0.6 SOL - Maximum boost (~150 txns)

B~B = Bump-to-Bump transactions

Simulates real trading activity on Pump.fun

    """

    await query.edit_message_text(text, parse_mode='Markdown', reply_markup=get_volume_packages_keyboard())

elif data == "menu_ads":

    text = """

๐Ÿ“ข EXCLUSIVE ADVERTISING ๐Ÿ“ข

Get your token featured:

โ€ข Bot homepage banner: 3 SOL/day

โ€ข Trending page sponsor: 5 SOL/day

โ€ข King of Hill placement: 8 SOL/day

Contact @admin for custom deals.

    """
Page 18 of 45
    await query.edit_message_text(text, reply_markup=get_main_menu_keyboard())

elif data == "menu_voting":

    text = """

๐Ÿ—ณ๏ธ VOTING BOOST ๐Ÿ—ณ๏ธ

Manipulate upvotes on:

โ€ข Pump.fun trending

โ€ข Dexscreener

โ€ข CoinMarketCap

โ€ข CoinGecko

Pricing:

โ€ข 100 votes: 0.5 SOL

โ€ข 500 votes: 2.0 SOL

โ€ข 1000 votes: 3.5 SOL

โ€ข 5000 votes: 15 SOL

Note: Gradual delivery to avoid detection

elif data == "menu_tools":

    text = """

๐ŸŽ FREE TOOLS ๐ŸŽ

Available for all users:

โ€ข ๐Ÿ“Š Token analytics

Page 19 of 45

โ€ข ๐Ÿ” Wallet tracker

โ€ข ๐Ÿ“ˆ Price alerts

โ€ข ๐Ÿ”” New launch scanner

Coming soon:

โ€ข ๐Ÿค– Auto-sniper

โ€ข ๐Ÿ“‰ Rug pull detector

elif data == "start_bumping":

    text = """

๐ŸŸข START BUMPING ๐ŸŸข

Your dashboard for active boosts:

Active Orders: 0

Pending: 0

Completed: 0

Select a service to begin:

    """

    await query.edit_message_text(text, reply_markup=get_dashboard_keyboard())

elif data == "deposit":

    text = """

๐Ÿ’น DEPOSIT SOL ๐Ÿ’น

Send SOL to the address below:

Page 20 of 45

YourSolanaWalletAddressHere

Minimum deposit: 0.1 SOL

Network: Solana only

Confirmation: 1-2 minutes

โš ๏ธ Only send SOL from your connected wallet!

    """

    await query.edit_message_text(text, parse_mode='Markdown', reply_markup=get_dashboard_keyboard())

elif data == "connect_wallet":

    text = """

๐Ÿ›ก๏ธ CONNECT WALLET ๐Ÿ›ก๏ธ

To use bumping services, connect your wallet:

  1. Click 'Connect' below

  2. Sign the message

  3. Verify ownership

Security: We never store private keys.

    """

    keyboard = [[InlineKeyboardButton("๐Ÿ”— Connect Phantom/Solflare", callback_data="wallet_connect")]]

    await query.edit_message_text(text, reply_markup=InlineKeyboardMarkup(keyboard))

    text = """
Page 21 of 45

โš™๏ธ TOKEN CREATION SETUP โš™๏ธ

Full token launch package:

โ€ข Token creation: 0.5 SOL

โ€ข Liquidity setup: 1.0 SOL

โ€ข Initial volume: 2.0 SOL

โ€ข Trending boost: 5.0 SOL

Total: 8.5 SOL (Save 1.5 SOL!)

Includes:

โœ… Contract deployment

โœ… Metadata setup

โœ… Social links

โœ… Initial holders

โœ… 24h trending guarantee

    """

    await query.edit_message_text(text, reply_markup=get_dashboard_keyboard())

elif data == "main_menu":

    await query.edit_message_text(

        "๐Ÿš€ *Main Menu*\n\nSelect a service:",

        parse_mode='Markdown',

        reply_markup=get_main_menu_keyboard()
Page 22 of 45
    )

elif data == "back_main":

async def package_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):

"""Handle package selection"""

query = update.callback_query

await query.answer()

data = query.data

user_id = update.effective_user.id
Page 23 of 45

3.9 Tier packages

            text += f"โ€ข {feature}\n"

        text += f"""

โฑ๏ธ Duration: {tier['features'][1] if len(tier['features']) > 1 else '24h'}

Click below to confirm order:

        """

        await query.edit_message_text(

            text,

            parse_mode='Markdown',

            reply_markup=get_payment_keyboard("tier", tier_id, tier['price'])

        pending_orders[user_id] = {

            "type": "tier",

            "package": tier_id,

            "amount": tier['price']

        }
Page 24 of 45

3.10 Volume packages

elif data.startswith("vol_"):

    vol_id = data.replace("vol_", "")

    vol = VOLUME_PACKAGES.get(vol_id)

    if vol:

        text = f"""

{vol['name']}

๐Ÿ’ฐ Price: {vol['price']} SOL

โšก Speed: {vol['speed']}

โฑ๏ธ Duration: {vol['duration']}

๐Ÿ“ Description:

{vol['description']}

What you get:

โ€ข Simulated trading activity

โ€ข Volume chart boost

โ€ข Holder count increase

โ€ข Trending algorithm manipulation

โš ๏ธ Risk: Low (gradual delivery)

        """

        pending_orders[user_id] = {
Page 25 of 45
            "type": "volume",

            "package": vol_id,

            "amount": vol['price']

        }

        await query.edit_message_text(

            text,

            parse_mode='Markdown',

            reply_markup=get_payment_keyboard("volume", vol_id, vol['price'])

        )

async def payment_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):

"""Handle payment confirmation"""

query = update.callback_query

await query.answer()

data = query.data

user_id = update.effective_user.id

if data == "cancel_order":

    pending_orders.pop(user_id, None)

    await query.edit_message_text(

        "โŒ Order cancelled.\n\nReturn to main menu:",

        reply_markup=get_main_menu_keyboard()
Page 26 of 45
    )

    return

user_id = update.effective_user.id

if data.startswith("pay_"):

    order = pending_orders.get(user_id)

    if not order:

        await query.edit_message_text("โš ๏ธ Order expired. Please start again.")

        return

if data.startswith("pay_"):

    order = pending_orders.get(user_id)
Page 27 of 45

3.11 Check user balance (simplified - integrate with wallet)

    user_balance = user_data.get(user_id, {}).get("balance", 0)

    if user_balance < order['amount']:

        await query.edit_message_text(

    user_balance = user_data.get(user_id, {}).get("balance", 0)

            f"โŒ *Insufficient Balance*\n\n"

            f"Required: {order['amount']} SOL\n"

            f"Your balance: {user_balance} SOL\n\n"

            f"Please deposit first:",

            parse_mode='Markdown',

            reply_markup=get_dashboard_keyboard()

        )

        return
Page 28 of 45

3.12 Process order (in production, integrate with bumping engine)

    order_id = f"ORD{user_id}{int(datetime.now().timestamp())}"

    text = f"""

โœ… ORDER CONFIRMED

Order ID: {order_id}

Type: {order['type'].upper()}

Amount: {order['amount']} SOL

Status: โณ Processing

Your boost will begin within 5 minutes.

๐Ÿ“Š Track progress in dashboard:

    """

3.13 Deduct balance (simplified)

    user_data[user_id]['balance'] -= order['amount']

    user_data[user_id]['orders'].append(order_id)
Page 29 of 45

3.14 Notify admin

    await context.bot.send_message(

        ADMIN_ID,

        f"๐Ÿ”” New Order!\nUser: {user_id}\nAmount: {order['amount']} SOL\nType: {order['type']}"

    )

    await query.edit_message_text(text, parse_mode='Markdown', reply_markup=get_dashboard_keyboard())
Page 30 of 45

3.15 ==================== ADMIN COMMANDS ====================

async def admin_stats(update: Update, context: ContextTypes.DEFAULT_TYPE):

"""Admin stats command"""

if update.effective_user.id != ADMIN_ID:

    return

total_users = len(user_data)

total_orders = sum(len(u.get('orders', [])) for u in user_data.values())

text = f"""

๐Ÿ“Š ADMIN STATISTICS

๐Ÿ‘ฅ Total Users: {total_users}

๐Ÿ“ฆ Total Orders: {total_orders}

๐Ÿ’ฐ Total Revenue: {sum(u.get('balance', 0) for u in user_data.values())} SOL

Pending Orders: {len(pending_orders)}

"""

await update.message.reply_text(text, parse_mode='Markdown')

3.16 Command handlers

application.add_handler(CommandHandler("start", start))

application.add_handler(CommandHandler("admin", admin_stats))
Page 31 of 45

3.17 Callback handlers

application.add_handler(CallbackQueryHandler(menu_callback, pattern="^(menu_|start_|deposit|connect|token_|main_menu|back_)"))

application.add_handler(CallbackQueryHandler(package_callback, pattern="^(tier_|vol_)"))

application.add_handler(CallbackQueryHandler(payment_callback, pattern="^(pay_|cancel_)"))

application.run_polling(allowed_updates=Update.ALL_TYPES)

if name == "main":

main()
Page 32 of 45

4. User Personas

RoleResponsibilities and goalsInputsDecisionsObservable successAccess
Telegram user (trader)Boost a token's visibility via volume packages and bumping services; use free tools (token analytics, wallet tracker, price alerts, new launch scanner); place and track ordersTelegram commands and menu selections; connected wallet address; order amount and typeWhich package/service to buy; whether to connect a wallet; order amount and typeMain menu reached via /start; wallet connected after signing and ownership verification; order placed and visible in own order listOwn session profile (username, wallet, balance, orders); free tools available to all users; bumping services require a connected wallet
AdministratorMonitor platform activity and incoming orders; review aggregate statisticsOrder notifications; admin statistics outputOperational follow-up on new orders (outside stated scope)Receives new-order notification (user, amount, type); sees total users, total orders, total revenue, and pending order countAdmin-only commands gated by admin identity; receives order notifications

Journeys

  • Onboarding: user sends /start; a session profile is created (username, wallet unset, balance 0.0, empty order list) and the main menu is shown.
  • Wallet connection: user selects Connect Wallet, signs the message, and ownership is verified; private keys are never stored.
  • Ordering: user selects a volume package or bumping service, submits amount and type, and the administrator is notified; the order is recorded in the user's order list.
  • Free tool use: any user opens the Free Tools menu and picks analytics, wallet tracker, price alerts, or launch scanner.
  • Admin review: administrator runs the stats command to view totals and pending orders.

Defaults (labeled): No persona beyond the Telegram user and administrator is established by this evidence; this is not a closed persona count. Administrator follow-up actions on orders are not specified and are left to future work.

5. Core User Flows

Page 33 of 45

5.1 Start and inspect the service menu

  1. A user sends /start.
  2. The bot initializes the user record with username, no connected wallet, a 0.0 SOL balance, and an empty order list.
  3. The bot replies with a welcome message showing the available services, balance, and wallet state, then presents the main menu.
  4. The user may open Trending, Volume, Exclusive Ads, Voting Boost, Free Tools, Feedback, or Support. Support opens the configured Telegram support URL.
  5. From any submenu the user can return to the main menu via the main_menu/back_main controls.

5.2 Review trending packages

  1. The user selects Trending or Premium Trend.
  2. The bot displays the six tier choices and their prices: Iron (1.50 SOL), Bronze (2.50 SOL), Gold (3.50 SOL), Silver (5.00 SOL), Platinum (7.50 SOL), and Diamond (10.50 SOL).
  3. The description identifies the tiers as progressively stronger trending packages with volume and trending support. Defined package details include Ironโ€™s basic volume boost, 24-hour duration, and 1 thread; Bronzeโ€™s standard volume boost, 48-hour duration, 2 threads, and trending support; and Silverโ€™s advanced volume boost, 72-hour duration, 3 threads, guaranteed trending, and Dexscreener trending.
  4. The user can choose a tier, return to the previous menu, or return to the main menu.
Page 34 of 45

5.3 Review volume packages

  1. The user selects Volume or Volume Boost.
  2. The bot displays four Bump-to-Bump transaction options: 0.3 SOL for approximately 50 transactions, 0.4 SOL for approximately 75, 0.5 SOL for approximately 100, and 0.6 SOL for approximately 150.
  3. The user selects an option or returns to the main menu.
  4. The bot describes the service as simulated real trading activity on Pump.fun.

5.4 Review advertising services

  1. The user selects Exclusive Ads.
  2. The bot displays featured-placement options: bot homepage banner at 3 SOL/day, Trending page sponsor at 5 SOL/day, and King of Hill placement at 8 SOL/day.
  3. For custom deals, the user is directed to contact @admin.
  4. The separately defined Exclusive Ads service offers featured placement in the bot for 3.0 SOL for 24 hours.

5.5 Review voting and free tools

  1. The user selects Voting Boost.
  2. The bot displays voting targetsโ€”Pump.fun trending, Dexscreener, CoinMarketCap, and CoinGeckoโ€”and the stated price of 0.5 SOL for 100 votes.
  3. Alternatively, the user selects Free Tools.
  4. The bot lists token analytics, wallet tracker, price alerts, and a new-launch scanner as available tools. Auto-sniper and rug-pull detector are labeled โ€œComing soon.โ€
Page 35 of 45

5.6 Open the active-boost dashboard

  1. The user selects Start bumping.
  2. The bot displays the active-boost dashboard with counts for Active Orders, Pending, and Completed, initially shown as zero.
  3. The dashboard provides actions for starting a bump, selecting Volume Boost, Premium Trend, Dexscreener, depositing, connecting a wallet, opening Token Creation Setup, or contacting Support.
  4. The user may continue by selecting a service or return through the available navigation controls.

5.7 Connect a wallet

  1. The user selects Connect Wallet from the dashboard.
  2. The bot explains the three steps: click Connect, sign the message, and verify ownership, and states that private keys are never stored.
  3. The bot presents a Connect Phantom/Solflare action.
  4. The user completes the signature flow; the wallet state shown on the dashboard reflects the connection.

5.8 Deposit SOL

  1. The user selects Deposit from the dashboard.
  2. The bot shows the deposit address, a minimum deposit of 0.1 SOL, Solana-only network, and a 1โ€“2 minute confirmation window, and warns that SOL must be sent only from the connected wallet.
  3. The user sends SOL; the balance shown on the dashboard reflects the credited amount after confirmation.
Page 36 of 45

5.9 Review token creation setup

  1. The user selects Token Creation Setup from the dashboard.
  2. The bot presents the full launch package: token creation 0.5 SOL, liquidity setup 1.0 SOL, initial volume 2.0 SOL, and trending boost 5.0 SOL, totaling 8.5 SOL (stated saving of 1.5 SOL).
  3. The bot lists inclusions: contract deployment, metadata setup, social links, initial holders, and a 24h trending guarantee.
  4. The user returns to the dashboard or proceeds to a service.

5.10 Select a package and confirm payment

  1. After selecting a tier or volume package, the bot records a pending order for the user containing the package type, package ID, and amount, and presents a payment-confirmation action for that type, ID, and amount.
  2. The user may choose Confirm Payment, Cancel, or Need Help?
  3. Cancel removes the pending order and returns the user to the main menu with an order-cancelled message.
  4. Need Help? opens the configured Telegram support URL.
  5. On Confirm Payment, if no pending order exists (for example, it expired), the bot replies โ€œOrder expired. Please start again.โ€ and the user restarts from package selection.
  6. If the userโ€™s balance is below the order amount, the bot reports insufficient balance with the required amount and current balance and offers the deposit path; the user may deposit and retry.
  7. Otherwise the bot creates an order ID in the form ORD{user_id}{timestamp}, deducts the amount from the balance, appends the order ID to the userโ€™s order list, and confirms the order with its ID, type, amount, and a Processing status, stating the boost begins within 5 minutes and progress is tracked in the dashboard.
  8. The bot notifies the admin with the user ID, amount, and order type.
Page 37 of 45

5.11 Review admin statistics

  1. The admin sends /admin.
  2. The bot verifies the sender is the configured admin; other users receive no response.
  3. The bot reports total users, total orders, total revenue (sum of balances), and the count of pending orders.
Page 38 of 45

6. Visuals Colors and Theme

[Design proposal; unspecified choices are defaults.]

Muse: MARQ by Garmin โ€” a precision-instrument luxury aesthetic for silent-raven, the Telegram Pump.fun boost-purchasing bot.

Dark mode only: graphite background #0E1013, raised surfaces #171A1F, 1px hairlines #2A2F36, warm text #E8E4DC, muted labels #8A8F98, champagne instrument accent #C9A227, and live/processing teal #3FB8A6. No blue or indigo, no pure black, no white ground, no gradients, no blurred glass, no soft shadows. Titanium and sapphire macro textures may appear as faint 4% overlays; topographic contour line art may sit behind instrument clusters.

Typography: Barlow Condensed 600/700 uppercase with tight tracking (-0.01em) for headings, package names, and section titles; Barlow Condensed 300 with tabular numerals for prices and gauge values; Saira 400/500 for body copy and labels, with +0.06em tracking on small-caps metadata. 4px baseline, 1.25 modular scale: display 56/96/128px via clamp, h1 40/56/72px, h2 28/32/40px, price numerals 48/64/88px, body 15/16/17px, labels 11/12/12px uppercase.

Shape language is machined and instrument-like: 12px package panels with a clipped top-right bezel notch, 8px rectangular buttons with a 1px inner top highlight (never pills), ruled data rows, circular gauges, concentric bezels, and 1px amber rules. Replace emoji-as-art tier emblems with 1px-line champagne glyphs while preserving the source tier names, prices, and package semantics. Keep all readable text and controls fully inside their containers at 375px, 768px, and 1280px; only decorative imagery may bleed or crop.

Page 39 of 45

7. Signature Design Concept

[Design proposal; unspecified choices are defaults.]

Signature Design Concept: The Silent Raven Instrument Bay.

The public entry is a dark titanium instrument panel rather than a centered SaaS hero. On desktop, use a 12-column layout with a 72px icon-and-label rail and a wide instrument bay. The main service menu becomes an asymmetric 3+2 gauge cluster for Trending, Volume, Exclusive Ads, Voting Boost, and Free Tools; Feedback and Support remain available through the accepted navigation. Package detail views use a two-column split: a gauge and price dial on the left, and a ruled feature list with machined checkmarks on the right. On mobile, stack the dial above the feature list within a 16px margin.

Implement the first screen with the accepted product context only: the left seven columns contain the stacked headline โ€œBOOST THE DIAL. OWN THE TREND.โ€, with the second line champagne amber and indented two columns. Beneath it, show the accepted operational readoutsโ€”SOL balance, active orders, threads, and uptimeโ€”as ruled tabular values. The right five columns contain a CSS-built circular gauge with concentric titanium rings, 60 tick marks, and an amber needle resting at the Diamond tier value; show โ€œ10.50 SOLโ€ inside in Barlow Condensed 300. At 375px, place the 240px gauge above the headline. A full-width amber rule below the hero carries the micro-label โ€œPUMP.FUN ENGINE โ€” SILENT RAVENโ€.

Page 40 of 45

Package cards read as watch specification sheets. Preserve the tier catalog and values: Iron 1.50 SOL, Bronze 2.50 SOL, Gold 3.50 SOL, Silver 5.00 SOL, Platinum 7.50 SOL, and Diamond 10.50 SOL, plus the accepted volume package โ€œ0.3 SOL B~Bโ€, described as a light volume boost of approximately 50 transactions, 1 hour, Normal speed. Use aligned price, duration, thread, and feature rows. A fixed bottom pusher bar spans every screen with rectangular Confirm Payment, Cancel, and Support controls, matching the accepted payment-confirmation flow.

Page 41 of 45

8. Interaction Model & Motion Direction

[Design proposal; unspecified choices are defaults.]

Interaction Model: Parallax Motion Tempo: cinematic Hero Dimensionality: dimensional_css

Landing Hero Motion Brief: The focal subject is the CSS-built dark instrument dial representing the silent-raven boost engine. The accepted input is a selected tier or volume package; the transformation is a precise gauge-needle sweep and synchronized tabular price count; the outcome is a legible package value ready for the accepted purchase and payment-confirmation flow. On load, sweep the amber needle from 0 to the displayed value over 700ms with precise ease-out and count the price over the same beat. When a package is selected, re-sweep the needle to its price and animate the thin amber price underline to the value's proportion.

The first frame is a graphite instrument bay: headline and four ruled readouts occupy the left, while the Diamond gauge is partially bled toward the right edge without covering readable content. The amber rule and tracked engine label anchor the lower edge. Hovering a gauge tile rotates its bezel highlight 15 degrees and lifts its amber tick. Section transitions use a 200ms crossfade with a 1px amber rule wiping across the header. Scroll reveals one instrument at a time; the faint contour field parallaxes 12px against scroll.

Respect prefers-reduced-motion: render every dial at its final value, remove sweeps, counting, bezel rotation, crossfades, rule wipes, and contour parallax, and retain a static, fully readable arrangement. No bounce or spring easing.

Page 42 of 45

Landing Hero 3D Scene Brief โ€” DIRECTION-DERIVED: Use no WebGL scene. The direction specifies dimensional CSS; construct the single instrument dial from CSS rings, ticks, needle, hairlines, and layered titanium surfaces, with no 3D blobs or stock imagery.

8.1 Tier packages

        )

9. Non-Functional Requirements

9.1 Configuration

TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN", "YOUR_BOT_TOKEN")

ADMIN_ID = int(os.getenv("ADMIN_ID", "0")) # Your admin Telegram ID

9.2 Logging

logging.basicConfig(

format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',

level=logging.INFO

)

logger = logging.getLogger(name)

10. Tech Stack

Page 43 of 45

10.1 pumpfun_boost_bot.py

import os

import logging

from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup

from telegram.ext import (

Application, CommandHandler, ContextTypes,

CallbackQueryHandler, ConversationHandler, MessageHandler, filters

)

from decimal import Decimal

10.2 Premium Services

}

10.3 User data storage (use Redis/DB in production)

user_data = {}

pending_orders = {}

10.4 ==================== MAIN ====================

def main():

application = Application.builder().token(TELEGRAM_TOKEN).build()

11. Assumptions and Constraints

No additional details specified.

Page 44 of 45

12. Glossary

  • silent-raven โ€” Project name.
  • Volume Boost Package โ€” A package defined by a name, SOL price, description, duration, and speed.
  • B~B (Bump-to-Bump) โ€” Bump-to-Bump transactions.
  • SOL โ€” The unit used to price volume boost packages.
  • Basic package โ€” The package named โ€œ๐ŸŸข 0.3 SOL B~Bโ€, priced at 0.3 SOL, described as a light volume boost of approximately 50 transactions, with a 1-hour duration and Normal speed.
Page 45 of 45
Live
Landing design preview
Administrator proceeds to authenticate
Sender identity matches configured admin
Stats command accepted
New order placed by a user
Notification received with user, amount, and type
Landing: Open bot entry
Login: Sign in as admin
Admin Stats: Run stats command
Admin Stats: Review totals and pending orders
Admin Stats: Receive new-order notification
Admin Stats: Review order details
Live
Landing design preview
Administrator proceeds to authenticate
Sender identity matches configured admin
Stats command accepted
New order placed by a user
Notification received with user, amount, and type
Landing: Open bot entry
Login: Sign in as admin
Admin Stats: Run stats command
Admin Stats: Review totals and pending orders
Admin Stats: Receive new-order notification
Admin Stats: Review order details