{"id":34773008,"url":"https://github.com/maliosdark/voluminoucious-bot","last_synced_at":"2026-04-24T17:04:11.114Z","repository":{"id":292382906,"uuid":"980269458","full_name":"MaliosDark/voluminoucious-bot","owner":"MaliosDark","description":"Telegram bot for generating SPL token volume on Solana. Executes real swaps, manages multiple wallets, uses encrypted sessions, and provides CoinGecko stats—all via Telegram.","archived":false,"fork":false,"pushed_at":"2025-05-09T16:42:15.000Z","size":2069,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-09T17:23:48.361Z","etag":null,"topics":["node","solana","spl"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaliosDark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-08T21:14:28.000Z","updated_at":"2025-05-09T16:42:19.000Z","dependencies_parsed_at":"2025-05-09T17:35:51.375Z","dependency_job_id":null,"html_url":"https://github.com/MaliosDark/voluminoucious-bot","commit_stats":null,"previous_names":["maliosdark/voluminoucious-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MaliosDark/voluminoucious-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaliosDark%2Fvoluminoucious-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaliosDark%2Fvoluminoucious-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaliosDark%2Fvoluminoucious-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaliosDark%2Fvoluminoucious-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaliosDark","download_url":"https://codeload.github.com/MaliosDark/voluminoucious-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaliosDark%2Fvoluminoucious-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28024303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node","solana","spl"],"created_at":"2025-12-25T08:03:56.906Z","updated_at":"2025-12-25T08:04:34.134Z","avatar_url":"https://github.com/MaliosDark.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"welcome.png\" alt=\"Voluminoucious Bot Banner\" width=\"700\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Node.js-23.11.0-339933?logo=nodedotjs\u0026logoColor=white\u0026style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/npm-v10.2.3-CB3837?logo=npm\u0026logoColor=white\u0026style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/JavaScript-ES2022-F7DF1E?logo=javascript\u0026logoColor=black\u0026style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Telegram-Bot-2CA5E0?logo=telegram\u0026logoColor=white\u0026style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Solana-Blockchain-3a0ca3?logo=solana\u0026logoColor=white\u0026style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/solana--web3.js-Solana-purple?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/solana--swap-Custom-orange?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/node--fetch-v3.4.0-lightblue?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Encrypted-AES--256--GCM-orange?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Data%20Feed-CoinGecko-yellowgreen?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/AdminOverride-Yes-green?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Status-Beta-yellow?style=flat-square\"/\u003e\n\u003c/p\u003e\n\n---\n\n# 📈 Voluminoucious Bot for Solana on Telegram\n\n---\n\n## 🎯 1. Introduction\n\nVoluminoucious Bot is an **advanced volume-boosting** assistant for any SPL token on Solana.\nIt offers:\n\n* **Per-chat sessions** (group or private), keyed by `chat.id`, isolating each user or chat.\n* **Admin override**: The admin (specified by `ADMIN_USERNAME` in `.env`) can bypass the 0.5 SOL minimum for testing.\n* **Interactive SPL-mint setup** with inline rate (“buys per minute”) selection.\n* **Auto-watcher** for deposits: once ≥ 0.5 SOL arrives (or immediately for admin), the bot starts boosting.\n* **Multiple secondary wallets**: configurable up to `maxWallets`.\n* **Randomized buy/sell cycles** on secondaries, leaving 40% as profit.\n* **Fee reservation**: 38% of deposit goes to a platform fee wallet; optional additional 1% per run.\n* **“Sell All”** and **“Withdraw”** actions with address-prompt flows.\n* **Live panel updates** every 30 s with profits, balances, stats.\n* **Console logging** (via `chalk`) for every major action.\n* **AES-GCM encrypted** session persistence.\n* **CoinGecko integration** for token metrics (price, cap, volume, supply, rank, changes).\n\n---\n\n## ⚙️ 2. Architecture \u0026 Data Flow\n\n```mermaid\nflowchart TD\n  Start[/User sends /start/] --\u003e Load[Load or Init Session]\n  Load --\u003e Check{Session Exists?}\n  Check -- Yes --\u003e Reset[Reset awaiting mint]\n  Check -- No --\u003e Init[Create new session]\n\n  Reset --\u003e Welcome[Send welcome image and ask for SPL token mint]\n  Init --\u003e Welcome\n\n  Welcome --\u003e InputMint[User sends SPL token mint]\n  InputMint --\u003e FetchInfo[Fetch token info from CoinGecko]\n  FetchInfo --\u003e ShowInfo[Display token info]\n  ShowInfo --\u003e AskRate[Prompt user to select buy rate]\n  AskRate --\u003e SetRate[User selects buys per minute]\n  SetRate --\u003e BuildPanel[Build control panel]\n  BuildPanel --\u003e Watcher[Start deposit watcher]\n\n  Watcher --\u003e CheckDeposit{Balance \u003e= 0.5 SOL or admin?}\n  CheckDeposit -- No --\u003e Wait[Wait for deposit]\n  CheckDeposit -- Yes --\u003e Boost[Deposit detected, start volume run]\n\n  subgraph VolumeRun [Volume Run]\n    Boost --\u003e Reserve[Send 38% to fee wallet]\n    Reserve --\u003e OptionalFee[Send 1% fee]\n    OptionalFee --\u003e Split[Split SOL to secondary wallets]\n    Split --\u003e TradeLoop[Execute buy/sell cycles]\n    TradeLoop --\u003e CheckWallet{SOL \u003e 0.4 left?}\n    CheckWallet -- Yes --\u003e Continue[Continue trading]\n    CheckWallet -- No --\u003e Collect[Move SOL back to main wallet]\n    Collect --\u003e SaveStats[Save final stats]\n  end\n\n  SaveStats --\u003e Notify[Notify user: run completed]\n\n  subgraph Controls [User Actions]\n    Notify --\u003e Stop[🛑 Stop: halt trading]\n    Notify --\u003e SellAll[💸 Sell All: tokens to SOL]\n    Notify --\u003e Withdraw[🏦 Withdraw: send SOL to user]\n    Notify --\u003e ShowMain[🔍 Show Main wallet info]\n    Notify --\u003e ShowStats[ℹ️ Stats: show summary]\n    Notify --\u003e NewSession[🆕 New Session]\n  end\n\n```\n\n---\n\n## 📦 3. Prerequisites\n\n* **Node.js v16+**, npm\n* **Telegram bot token** (from [BotFather](https://t.me/BotFather))\n* **ADMIN\\_USERNAME** (your Telegram username)\n* **Solana RPC URL** (e.g. devnet)\n* **DB\\_KEY**: 32-byte base64 for AES-GCM (e.g. `openssl rand -base64 32`)\n* **FEE\\_WALLET**: Public key for platform fee collection\n\n`.env` example:\n\n```ini\nTELEGRAM_TOKEN=123456:ABC-DEF...\nADMIN_USERNAME=YourTelegramUsername\nRPC_URL=https://api.devnet.solana.com\nDB_KEY=\u003c32-byte-base64\u003e\nFEE_WALLET=YourFeeWalletPubKey\n```\n\n---\n\n## 🔧 4. Installation\n\n```bash\ngit clone https://github.com/MaliosDark/voluminoucious-bot.git\ncd voluminoucious-bot\nnpm install\n```\n\n---\n\n## 📝 5. Configuration \u0026 Environment\n\nCreate `.env` in the root with **all five** keys:\n`TELEGRAM_TOKEN`, `ADMIN_USERNAME`, `RPC_URL`, `DB_KEY`, `FEE_WALLET`.\n\n---\n\n## 🗺️ 6. Session Data Model\n\nEach `sessions[chatId]` contains:\n\n```js\n{\n  main: Keypair,               // main SOL wallet\n  secondaries: Keypair[],      // SPL trading wallets\n  tokenMint: string | null,    // SPL token address\n  buyRate: number | null,      // buys per minute\n  withdrawTarget: string | null,\n  stats: { initial, final, actions, start } | null,\n  config: { maxWallets, buyCycles, delayMs },\n  geckoCache: { ts, info } | null,\n  panelMsg: { chat_id, message_id } | null,\n  awaiting: 'mint'|'rate'|'withdraw'|null,\n  depositWatcher: Interval | null\n}\n```\n\nAll fields are **AES-GCM** encrypted at rest.\n\n---\n\n## 🗨️ 7. Commands \u0026 Buttons\n\n### 7.1 Inline Buttons\n\n| Button               | Description                                                                        |\n| -------------------- | ---------------------------------------------------------------------------------- |\n| 🆕 **New**           | Reset session, collect all SOL → fee wallet \u0026 reserve; start over                  |\n| ➕ **Add**            | Create a new secondary wallet                                                      |\n| 💳 **Set Mint**      | Prompt for a new SPL token mint                                                    |\n| ⚙️ **Config**        | Show text commands: `/setMaxWallets`, `/setBuyCycles`, `/setDelayMs`               |\n| 🚀 **Run**           | Manually trigger a runVolume check (will still wait for deposit or admin override) |\n| 🛑 **Stop**          | Cancel the running volume job                                                      |\n| 🔍 **Main**          | Show main wallet address \u0026 balances                                                |\n| ℹ️ **Stats**         | Show elapsed time, trades count, profit                                            |\n| 💸 **Sell All**      | Swap all secondary tokens → SOL \u0026 transfer to main                                 |\n| 🏦 **Confirm WD**    | Immediately withdraw all SOL from main → `withdrawTarget`                          |\n| ✏️ **Withdraw Addr** | Prompt to set your withdrawal address                                              |\n\n### 7.2 Slash-Commands\n\n```txt\n/setMaxWallets \u003cn\u003e  — Set maximum secondary wallets (1–50)\n/setBuyCycles \u003cn\u003e   — Set number of buy/sell cycles per loop\n/setDelayMs \u003cms\u003e    — Set delay (ms) between swaps\n```\n\n---\n\n## ⚙️ 8. Example Workflows\n\n### 8.1 Normal User\n\n1. `/start` → Bot sends **welcome.png**, “Send SPL token mint”\n2. User sends `88dnPHaZDx…` → Bot fetches CoinGecko, asks “How fast?”\n3. User taps `20` → Bot shows panel, “Waiting for deposit of ≥ 0.5 SOL…”\n4. User sends 0.5 SOL → Deposit watcher triggers → “Deposit detected! Starting boost now.”\n5. Bot reserves 38% + 1%, splits remaining SOL across secondaries, begins randomized buys/sells.\n6. Panel auto-refresh every 30 s shows live balances \u0026 profit.\n7. User taps **Sell All** → All tokens liquidated \u0026 moved to main.\n8. User taps **Withdraw Addr**, sends their address → taps **Confirm WD** → SOL sent.\n\n### 8.2 Admin Testing\n\n1. `/start` → same mint \u0026 rate flows.\n2. At rate selection, after panel appears, bot immediately says “Waiting for deposit…”\n3. Admin (your `ADMIN_USERNAME`) with zero SOL bypasses deposit minimum → bot starts instantly.\n4. All logs appear in console (colored via `chalk`).\n\n---\n\n## 🛠️ 9. Fee \u0026 Profit Details\n\n* **Platform Reserve**: 38% of initial main balance goes to your `FEE_WALLET`.\n* **Optional 1% Run Fee**: Additional 1% fee per run (configurable in code).\n* **Profit**: The 40% leftover after each secondary drains triggers stop; profit consolidated back to main.\n\n---\n\n## 📊 10. Token Metrics \u0026 Logging\n\n* **CoinGecko** fetch every 5 minutes (cached) for:\n\n  * Price (USD)\n  * Market Cap\n  * 24 h Volume\n  * Circulating / Total Supply\n  * Price Δ% (1 h, 24 h, 7 d)\n  * Rank\n* **Console Logs** (via `chalk`):\n\n  * Session init / reset\n  * Reserve \u0026 fee transfers\n  * Split distribution\n  * Swap actions on each secondary\n  * Deposit detection \u0026 run start\n  * Sell All \u0026 Withdraw events\n\n---\n\n## 🔐 11. Security \u0026 Resilience\n\n* **AES-GCM** encryption of all session data.\n* **Admin override** only for your username.\n* **Try/Catch** around every async block to prevent crashes.\n* **Auto-save** after each state change ensures crash recovery.\n\n---\n\n## 📜 12. License\n\nLicensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaliosdark%2Fvoluminoucious-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaliosdark%2Fvoluminoucious-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaliosdark%2Fvoluminoucious-bot/lists"}