LP otomatis di Uniswap v2 Β· v3 Β· v4 (Robinhood Chain) β full kontrol dari Telegram.
Paste CA β pilih pool β ketik jumlah ETH β posisi kebuka. Sekarang juga.
Robinhood LP Bot v2 adalah bot liquidity-provider buat Robinhood Chain yang dijalanin sepenuhnya dari Telegram. Paste contract address β bot cariin pool paling likuid di Uniswap v2 / v3 / v4 (termasuk pair USDG), beliin token lewat KyberSwap aggregator (rute terbaik lintas semua DEX/fee-tier, anti price-impact), terus buka posisi LP. Semua math tick/harga lewat Uniswap SDK resmi β nol drift presisi, nggak ada Math.pow hand-rolled.
Di atas LP-nya ada layer intelligence:
- Scanner volume on-chain β nyari token yang volumenya lagi nanjak (bukan sekadar tinggi).
- Feed sequencer Nitro real-time β deteksi token baru sub-detik, sebelum ke-index DexScreener.
- Uji honeypot mandiri β simulasi beliβjual lewat Quoter, nggak percaya reputasi siapa pun.
- Screening GMGN 24 jam (
/screen) β filter thesis: mcap > $500k, vol > $1M, no flap.fun, util > meme. - Skoring LLM (OpenRouter) β verdict
π’ APE / π‘ WATCH / π΄ SKIPnempel di tiap notif kandidat. - Kartu profit shareable β tiap close auto-generate PNG flex (STRIX aesthetic).
Ditulis TypeScript modular, owner-only auth, slippage floor di semua swap, atomic ledger write, graceful shutdown, single-instance lock. Jalan di laptop atau VPS 24 jam.
Tiap posisi ditutup, bot langsung kirim kartu PNG siap-share ke Telegram. Ada juga kartu portfolio (/card) buat rekap semua, dan kartu per-posisi dari /ledger.
Per-close β PROFIT
Per-close β LOSS
Portfolio β ALL-TIME (/card)
Background bisa lu ganti: kirim foto ke bot (langsung di-set jadi bg kartu) atau taruh
assets/card-bg.jpg. Brand default0xRapzzβ ubah viaRH_CARD_BRAND, tagline viaRH_CARD_TAG. Font monospace (DejaVu Sans Mono) di-bundle di VPS.
Kirim /start β muncul menu tombol (reply keyboard) yang persisten, semua fungsi sekali tap:
π Posisi β /list |
π Ledger β /ledger |
π° PnL β /pnl |
π§ͺ Screen β /screen |
π Scan β /scan |
πΈ Kartu β /card |
π Swap β /swap |
π‘ Feed β /feed |
π Watch β /watch |
π€ Auto β /auto |
π Wallet β /wallet |
βοΈ Setting β /settings |
π Close All β /closeall |
πΈ Sell β /sell |
β Help β /help |
Bersih, timestamped, per-modul. Contoh boot + runtime:
[10:01:45] INFO client Β· fast-submit ON β sequencer.mainnet.chain.robinhood.com
[10:01:45] INFO bot Β· Robinhood LP Bot v2 jalan β chain 4663, wallet 0xc017β¦469e
[10:01:45] INFO watch Β· ON β scan tiap 120s (vol5m β₯ $200k, naik 1.4Γ)
[10:01:45] INFO feed Β· connect feed.mainnet.chain.robinhood.com
[10:01:45] INFO feedmon Β· ON β newToken=true positionMonitor=true autoClose=false
[10:01:45] INFO feed Β· connected (101)
[10:02:02] INFO feedmon Β· new token NUG ditolak: TIDAK BISA DIJUAL (simulasi revert) β honeypot
[10:14:07] INFO v4close Β· close v4 #177922 WOLVES/USDG β +$0.35 (fee $1.08)
[10:14:08] INFO card Β· close card terkirim
Ke VPS: pm2 logs robinhood-lp.
Tiga hal yang bikin LP manual nyebelin:
- Web Uniswap ngelag β connect, approve, set range, mint. Tiap langkah loading.
- Range-nya bahasa alien β Uniswap kasih
tick 130400β134400. Itu artinya apa? - Udah open, untung nggak? β cuma keliatan "unclaimed fees". Modal awal berapa? Nilainya sekarang berapa? Nggak jelas.
Bot ini jawab ketiganya. Range ditampilin dalam MCAP ($2.64M β $3.94M), PnL dihitung dari harga jual asli, dan semuanya dari Telegram.
Butuh: Node.js 20+ (download)
# 1. Masuk foldernya
cd Robinhood-LP-Bot
# 2. Install (narik ethers v6 + @uniswap/{v3,v4}-sdk + @napi-rs/canvas + typescript)
npm install
# 3. Siapin config
cp .env.example .envSekarang buka .env, isi:
| Isi apa | Dapetnya dari mana |
|---|---|
RH_RPC_URL |
alchemy.com β bikin app β pilih chain Robinhood β copy HTTPS URL |
RH_WALLET_KEY |
Private key wallet EVM lu. Pakai wallet baru/burner, jangan wallet utama |
RH_TG_TOKEN |
Chat @BotFather di Telegram β /newbot β copy token |
RH_TG_CHAT |
Owner chat id β GERBANG KEAMANAN. Chat @userinfobot buat dapet id lu. Cuma chat ini yang boleh nyuruh bot |
RH_WATCH_RPC_URL |
(opsional) app Alchemy kedua, buat scanner. Kosongin juga nggak apa-apa |
RH_OPENROUTER_KEY |
(opsional) openrouter.ai/keys β nyalain radar LLM |
KYBERSWAP_* |
(opsional) endpoint aggregator KyberSwap β buat swap rute-terbaik (lihat .env.example) |
Bikin wallet baru cepat:
node -e "const w=require('ethers').Wallet.createRandom();console.log('Address:',w.address);console.log('Key :',w.privateKey)"Isi wallet itu pakai ETH di Robinhood Chain (bridge dari mainnet). Sisain minimal 0.015 ETH buat gas.
Jalanin:
npm start # = node --env-file-if-exists=.env --import tsx src/index.tsBuka bot lu di Telegram, kirim /start. Kalau dia jawab, beres.
Pengecekan tipe:
npm run typecheckΒ· dev auto-reload:npm run dev
- Paste CA token (
0xβ¦) ke chat - Bot cariin pool-nya di v2 / v3 / v4 (label
ETH β/USDG β) β pilih salah satu - Ketik jumlah ETH (contoh:
0.05) - Pilih mode:
π‘ Single-side ETH β range $2.64M β $3.94M
0% token. Fee jalan cuma kalau MCAP masuk range. Aman dari rug.
π― In-range β range $3.35M β $5.00M
beliin ~51% modal β token duluan (via Kyber, rute terbaik).
Fee LANGSUNG jalan, tapi lu langsung pegang token (rug = rugi 51% instan).
Bedanya penting β baca ini:
| π‘ Single-side | π― In-range | |
|---|---|---|
| Isi posisi awal | 100% ETH | ~49% ETH + ~51% token |
| Fee | nunggu harga masuk range | jalan dari detik 1 |
| Kalau token rug | rugi kecil (belum kekonversi) | rugi ~51% instan |
Uniswap nggak bisa bikin range yang nyebrang harga cuma dengan satu token. Jadi "in-range" artinya bot beliin tokennya duluan (lewat KyberSwap aggregator β rute termurah, bukan di pool fee-tinggi yang lu pilih). Pakai buat token yang pool-nya tebel. Token meragukan β tetep single-side.
π Posisi LP Β· ETH $1844 Β· 09.44.49
π· DATABEAR Β· fee 1.00% Β· #86566
π’ IN RANGE
modal 0.060000Ξ $108.66
nilai 0.073289Ξ $132.74
fee 0.016264Ξ $29.46
umur 36m $48.02/jam
MCAP $3.28M entry $4.20M
range $2.69M β $4.02M
PnL +0.013289Ξ +$24.07 +22.1%
π¦ UNISWAP v4 Β· 2 posisi
...
π§ UNISWAP v2 Β· 1 posisi
...
TOTAL 4 posisi Β· v3 1 Β· v4 2 Β· v2 1
modal 0.128000Ξ $236.03
nilai 0.141813Ξ $261.50
fee 0.017640Ξ $32.53
PnL +0.013813Ξ +$25.47
$/jam itu angka paling berguna di sini. Umur doang nggak nolong. Yang lu butuh tau: posisi ini masih kerja apa udah nganggur?
3h 20m Β· $2.10/jamβ masih produktif, biarin2d 5h Β· $0.04/jamβ udah mati, modal nyangkut percuma β tutup, puter ke pool lain
TOTAL (gabung v3+v4+v2) selalu di baris paling bawah. Tombol π Refresh ambil data fresh; /list biasa dilayanin dari cache 20 detik (biar instan). Tiap token ada tombol Close / π° Claim.
Pencet tombol close β pilih:
- π Swap token β ETH β semuanya balik jadi ETH
- πͺ Simpen token β LP principal balik ke ETH, tokennya lu tahan
Bot otomatis: tarik likuiditas β klaim fee β burn NFT β (swap) β isi gas balik ke 0.015 ETH β kirim kartu profit.
Buat token honeypot yang nggak bisa ditarik (transfer revert), bot force-close: relakan sisi token yang keblokir, selametin ETH-nya.
β οΈ Catatan "Simpen token": auto-swap pas close nyapu seluruh saldo token di dompet, bukan cuma dari posisi itu.
Semua posisi ditutup (v3 + v4 + v2, urut terbaru dulu), tombol Next/Back + πΈ kartu per-posisi. Stats gabungan: win rate, modal, fee LP, realized vs nyangkut.
Ledger direkonstruksi dari event on-chain β posisi lama tetep kebaca walau baru install bot-nya. Pair USDG dihitung LP-vs-HODL (fee + IL, exclude gerakan harga token) biar konsisten dan jujur.
/swap <jumlah> <dari> <ke> β swap token apa aja lewat KyberSwap aggregator (rute terbaik lintas DEX). dari/ke = eth atau CA. Tampil quote + breakdown rute + slippage β tombol β
konfirmasi.
Filter GMGN 24 jam pakai playbook operator: mcap > $500k, vol > $1M, buang flap.fun, util diprioritas, meme dipenalti, cek komunitas + FOMO. Top-10 di-skor LLM. /screen fast = tanpa LLM.
Jalan otomatis tiap 2 menit. Nyari volume 5-menit yang NANJAK, bukan sekadar tinggi. Tiap token diuji honeypot on-chain:
DATABEAR simulasi beli 0.01Ξ β jual balik 0.00980Ξ = 98.0% β
sehat
honeypot simulasi beli 0.01Ξ β REVERT π¨ ditolak
Notifnya bawa CA, link DexScreener, dan tombol π― LP langsung.
Opt-in (default off): /feed on. Dengerin feed sequencer Nitro (wss://feed.mainnet.chain.robinhood.com/feed) β mempool sub-detik, sebelum tx masuk block.
- π Token baru β deteksi pool WETH baru / mint likuiditas pertama, langsung uji honeypot + tombol 1-tap LP.
- π΄ Out-of-range β swap ngenain pool yang lu LP-in β cek tick β alert (opsional auto-close, default off).
β οΈ DNS hijack: kalau jaringan lu hijack DNS domain feed (mis. Telkomsel "Internet Baik"), setRH_FEED_IP=172.66.147.70di.env. Di VPS US nggak perlu. Sequencer di AWS Ohio (us-east-2).
Toggle: /set newtoken 1 Β· /set posmon 1 Β· /set autoclose 0 Β· /set minseed 0.02
Set RH_FAST_SUBMIT=1. Tx dikirim langsung ke sequencer Robinhood (AWS us-east-2 / Ohio), skip hop relay. Baca tetep via RPC utama; sequencer error β auto fallback (tx nggak ilang). Paling ngefek di VPS US. Lokal + DNS hijack β set RH_SEQUENCER_IP=3.136.74.196.
Tiap kandidat (token baru dari feed / spike dari watch) di-skor LLM lewat OpenRouter + di-enrich data GMGN (smart money, holders, rug ratio, tax, konsentrasi top-10). Verdict (π’ APE / π‘ WATCH / π΄ SKIP + skor + alasan) nempel di notif, sebelum lu pencet LP.
# nyalain
RH_OPENROUTER_KEY=... # openrouter.ai/keys
/set radar 1 # di Telegram
GMGN (opsional, enrich): install gmgn-cli + config di mesin yang jalanin bot (key GMGN ke-bind ke keypair lokal β lihat .env.example Β§9). GMGN support chain robinhood. Nggak dikonfig β radar tetep jalan pakai LLM + data on-chain aja (degrade mulus).
Semua best-effort: fast-submit / radar / GMGN / Kyber mati sendiri kalau env/tool-nya nggak ada β bot inti tetep jalan.
| Command | Fungsi |
|---|---|
paste 0x⦠|
Buka posisi LP (v2/v3/v4, auto detect pool) |
/list |
Posisi terbuka (v3+v4+v2) + PnL + TOTAL + tombol close |
/ledger |
Riwayat posisi ditutup (realized vs nyangkut) + kartu per-posisi |
/pnl |
PnL seumur hidup level dompet |
/card |
Kartu profit portfolio (PNG shareable) |
/swap |
Swap token via KyberSwap aggregator (rute terbaik) |
/screen |
Screening GMGN 24h (mcap>500k, vol>1M, no flap, util>meme) Β· /screen fast |
/watch |
Status scanner + volume tertinggi saat ini |
/feed |
Monitor sequencer real-time Β· /feed on/off |
/scan |
Cek volume sekarang juga (manual) |
/auto |
Auto-LP (radar β buka posisi otomatis) |
/v4 |
Cek pool Uniswap v4 sebuah token CA |
/closeall |
Tutup SEMUA posisi |
/sell |
Jual semua token nyangkut β ETH |
/wallet |
Saldo hot wallet |
/settings Β· /set <key> <angka> |
Lihat / ubah setting |
Setting yang bisa diubah:
LP : /set width 50 lebar range (%)
/set slippage 5 toleransi slippage (%)
/set gastarget 0.015 gas native yang dijaga tiap close
Scanner: /set vol5m 500000 volume 5m minimal (USD)
/set rise 1.4 harus naik berapa kali lipat
/set liq 50000 likuiditas pool minimal
/set tax 6 tolak token dengan tax > sekian %
/set cooldown 60 jeda notif per token (menit)
/set interval 120 scan tiap berapa detik
Feed : /set newtoken 1 Β· /set posmon 1 Β· /set autoclose 0 Β· /set minseed 0.02
Radar : /set radar 1 Β· /set gmgn 1
npm install -g pm2
pm2 start npm --name robinhood-lp -- start # npm start udah baca .env sendiri
pm2 save
pm2 startup # ikutin instruksi yang keluar β auto-start abis rebootCek: pm2 logs robinhood-lp
Kartu profit butuh font:
sudo apt install -y fonts-dejavu-core fonts-dejavu-extra(canvas render blank text tanpa ini).
β οΈ Jangan jalanin di 2 tempat sekaligus. Dua proses polling token Telegram yang sama β rebutan (409 Conflict). v2 udah ada single-instance lock (data/bot.lock). Kalau share wallet sama bot lain β jangan jalan bareng (nonce tabrakan).
src/
βββ index.ts entrypoint β validasi secret, lock, graceful shutdown
βββ config.ts load + validasi config (zod) + secret dari .env
βββ types.ts tipe domain bersama
βββ chain/ semua urusan blockchain
β βββ client.ts provider (LP + watch), wallet, gas, fast-submit routing
β βββ kyber.ts KyberSwap aggregator (quote + build, 4 security gate)
β βββ positions.ts v3 open / list / close (Uniswap SDK math)
β βββ pools.ts findPools, poolState, range math (SDK)
β βββ swaps.ts quote + swap v3 (slippage floor)
β βββ ledger.ts ledger permanen + rebuild on-chain
β βββ analytics.ts PnL seumur hidup
β βββ tokens.ts metadata token (cached) + SDK Token
β βββ price.ts ETH/USD multi-source
β βββ blockscout.ts helper REST Blockscout + mapLimit
β βββ v2/ Uniswap v2 β pair.ts Β· mint.ts (zap) Β· list.ts Β· close.ts
β βββ v4/ Uniswap v4 β discover Β· mint Β· list Β· close Β· backfill (archive PnL)
βββ telegram/
β βββ tg.ts transport + AUTH boundary (owner-only)
β βββ bot.ts long-poll loop + routing + setMyCommands
β βββ handlers.ts semua command/tombol (+ cache /list)
β βββ menu.ts reply keyboard persisten
β βββ card.ts kartu profit PNG (@napi-rs/canvas, STRIX style)
β βββ notify.ts notif spike / token baru / out-of-range
β βββ watchLoop.ts timer scanner
β βββ feedLoop.ts lifecycle feed monitor
β βββ format.ts escape, padding, emoji per-token
βββ feed/ monitor sequencer real-time (Nitro)
β βββ decode Β· listener (WS + IP-pin) Β· swapdecode Β· lpdecode Β· monitor
βββ radar/ konfirmasi kandidat (LLM + GMGN)
β βββ openrouter.ts Β· gmgn.ts Β· screen.ts (/screen thesis) Β· radar.ts
βββ watch/scanner.ts scan volume + uji honeypot on-chain
βββ util/ log, atomic file write + lock, formatter
| File lain | Isinya apa |
|---|---|
config.json |
Setting (di-validasi zod pas start) |
.env |
Kunci-kunci. Rahasia. (gitignored) |
assets/card-bg.jpg |
Background kartu profit (opsional) |
data/ |
State runtime β positions.json, v4-positions.json, lp-ledger.json, v2-skip.json, bot.lock. Jangan dihapus β catatan PnL lu di situ. (gitignored) |
Ditulis atomik (temp + rename), jadi crash di tengah nulis nggak bikin ledger korup.
Ini bot buat degen, bukan investasi. LP di token meme = lu jadi pembeli otomatis pas harganya turun. Itu bukan bug, itu emang cara kerja LP.
Tes honeypot nangkep honeypot & tax β BUKAN rug. Dev yang tarik likuiditas besok tetep lolos tes hari ini. Nggak ada tes yang bisa liat masa depan.
Single-side ETH itu rem alami lu. Mode in-range ngelepas rem itu. Pilih sadar.
Pakai burner wallet. Private key-nya duduk di .env dalam bentuk teks biasa. Jangan taruh duit yang lu nggak siap ilang.
Set RH_TG_CHAT. Itu gerbang owner β cuma chat lu yang boleh nyuruh bot. Bot megang private key; jangan biarin siapa pun bisa /closeall atau mint pakai duit lu.
MIT. Pakai risiko sendiri.


