Requirements
small server, your own bot.
One Node.js process and one SQLite file. Here is everything it needs, what is optional, and what you bring yourself.
01Software
| What | Version | Notes |
|---|---|---|
| Node.js Required | 22 LTS | package.json allows 20 or newer; this release was tested on 22. |
| pnpm Required | 10 (tested 10.33) | npm install -g pnpm. The lockfile is pnpm-lock.yaml. |
| Build tools Sometimes | python3, make, a C++ compiler | Only when no prebuilt better-sqlite3 binary exists for your platform. Debian or Ubuntu: apt install -y build-essential python3. |
openssl | any | To make ADMIN_SECRET_KEY. |
sqlite3 CLI Optional | any | For backups while the service runs. |
No database server, no Redis, no Docker needed. The database is a single SQLite file created on first start.
02Server
- Any machine that runs Node.js and keeps a file on a persistent disk. A 1 vCPU, 1 GB RAM VPS is plenty for a call group.
- Serverless platforms without a persistent disk do not work: the record is a file and the bot is a long-running process.
- A domain with HTTPS for production. The console's status check warns while the public address is not
https://.
03Accounts you bring
| What | Needed for | |
|---|---|---|
| Telegram bot from @BotFather | Recording calls, posting seals, follow alerts, VIP invites | Required |
| Solana browser wallet (Phantom or compatible) | Anchoring seals on Solana; each memo costs a normal network fee | Optional |
| Your own Solana RPC URL | More reliable memo checks and payment checks; exit-liquidity checks without Helius | Optional |
| Helius API key | Exit-liquidity checks | Optional |
| Referral codes (BONKbot, GMGN, Axiom, Bloom, Trojan), a Jupiter referral account, a Solana wallet for payments | The earning options in Earnings | Optional |
04Costs not included in the price: who pays
The item price covers the source code, the console and this documentation. Every service below is opened by you, under your own account, and you pay its provider for your own usage, including anything above a free tier. Prices change: check each provider's current pricing page.
| Service | Needed for | Who pays |
|---|---|---|
| VPS, domain, HTTPS | Running the app | You, to your hosting and domain provider. Caddy's certificates are free. |
| Telegram bot (@BotFather) | Recording calls, seal posts, alerts | No charge from Telegram for the Bot API at the time of release; Telegram's terms apply. |
| Telegram Stars (optional) | VIP plans paid in Stars | Your members buy Stars from Telegram; you receive and withdraw them under Telegram's own terms and fees. |
| GeckoTerminal, DexScreener | Prices | No key and no charge from those services at the time of release; their rate limits and terms apply. |
| Solana RPC (optional, recommended) | Memo and payment checks | The public endpoint is free but rate-limited. Your own RPC plan (Helius, QuickNode or similar) is billed to you by that provider. |
| Helius API key (optional) | Exit-liquidity checks | You, on your own Helius account: their free tier, then their paid plans. |
| Solana network fees (optional) | Anchoring a seal as a memo | You, in SOL from your own wallet, per memo. |
| Referral accounts, Jupiter referral (optional) | Earning options | Free to open; each venue's own terms and fees apply. |
Explorer and chart sites (Solscan, Birdeye, DexScreener, GeckoTerminal pages) are only linked or recognised in messages; the app opens no account with them and calls no paid API of theirs. MIKODES runs no instance for you, takes no fee and receives no data from your install.
05Outbound connections
The server calls only these, and only when the feature is in use:
api.telegram.org(the bot, long polling; no open port or webhook needed).- GeckoTerminal public API and DexScreener for prices; no API key.
- Your Solana RPC, or
https://api.mainnet-beta.solana.comwhen none is set. - Helius, only with your key.
The Jupiter swap, when you switch it on, runs in the visitor's browser and loads from plugin.jup.ag; your server does not relay it.
06Scope
- Solana only. EVM addresses in messages are noticed but not recorded.
- Telegram only. Groups, supergroups and channels the bot was added to. Nothing from before it joined.
- English interface. The site, bot texts and console are in English.