Telegram bot for selling residential proxies with cryptocurrency payments via NowPayments.
- 💳 Crypto payments – accepts USD via NowPayments (crypto converted automatically).
- 🔑 Instant proxy issuance – user gets proxy right after payment.
- 🌍 Country selection – choose from available countries.
- ⏱️ 24-hour leases – proxies expire automatically.
- 📩 Operator notifications – alerts on every purchase.
- 🎭 DPI‑resistant – traffic masked as HTTPS (thanks to Smart Proxy Multiplexer).
- User starts the bot and selects country.
- Bot checks user's balance (0 initially).
- User tops up via NowPayments invoice.
- Webhook confirms payment → balance updated.
- User purchases proxy → bot deducts balance and issues proxy.
- Proxy works for 24 hours.
- Python 3.10+
- aiogram 3.x
- aiohttp (webhooks)
- SQLite (database)
- NowPayments API
- Smart Proxy Multiplexer (for traffic handling)
- Clone the repository:
git clone https://github.com/VoltaStrasse/stp-proxy-bot.git cd stp-proxy-bot
Create virtual environment:
bash
python3 -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
Install dependencies:
bash pip install -r requirements.txt Create .env from .env.example and fill in your credentials.
Initialize the database (creates tables and placeholder proxies):
bash python init_db.py Add your real parent proxies – you can update the parent_proxies table in proxy_bridge.db with your own SOCKS5/HTTP proxies. Each parent proxy should have at least one child proxy (child entries are automatically created when you insert a parent if you run the script, but you can also add manually).
Run the bot:
bash python bot.py Configuration Variable Description TELEGRAM_TOKEN Bot token from @BotFather OPERATOR_ID Your Telegram user ID for notifications NOWPAYMENTS_API_KEY NowPayments API key PUBLIC_DOMAIN Domain or IP where the multiplexer runs PUBLIC_PORT Port of the multiplexer PRICE_PER_PROXY Price per 24‑hour lease WEBHOOK_URL Public webhook URL (must be HTTPS) Adding Parent Proxies After initializing the database, you need to insert your actual parent proxies into the parent_proxies table. Example SQL:
sql INSERT INTO parent_proxies (host, port, login, password, country) VALUES ('socks5.provider.com', 1080, 'user', 'pass', 'GB'); Then add child proxies (each parent should have one or more child entries):
sql INSERT INTO child_proxies (parent_id) VALUES (last_insert_rowid()); You can automate this with your own script.
License MIT © 2026 Valentin Voltecc
Contact Email: volttecc@gmail.com
Telegram: @volttecc
GitHub: VoltaStrasse