Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Interactive Brokers (IBKR) trading automation via Client Portal API. Use when setting up IBKR account access, authenticating sessions, checking portfolio/positions, or building trading bots. Handles IBeam automated login with IBKR Key 2FA.
Interactive Brokers (IBKR) trading automation via Client Portal API. Use when setting up IBKR account access, authenticating sessions, checking portfolio/positions, or building trading bots. Handles IBeam automated login with IBKR Key 2FA.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Automate trading with Interactive Brokers using the Client Portal Gateway API.
This skill enables: Automated IBKR authentication via IBeam + IBKR Key Portfolio and position monitoring Order placement and management Building custom trading strategies
IBKR account (live or paper) IBKR Key app installed on phone (for 2FA) Linux server with Java 11+ and Chrome/Chromium
# Java (for Client Portal Gateway) sudo apt-get install -y openjdk-17-jre-headless # Chrome + ChromeDriver (for IBeam) sudo apt-get install -y chromium-browser chromium-chromedriver # Virtual display (headless auth) sudo apt-get install -y xvfb # Python venv python3 -m venv ~/trading/venv source ~/trading/venv/bin/activate pip install ibeam requests
cd ~/trading wget https://download2.interactivebrokers.com/portal/clientportal.gw.zip unzip clientportal.gw.zip -d clientportal
Create ~/trading/.env: IBEAM_ACCOUNT=your_username IBEAM_PASSWORD='your_password' IBEAM_GATEWAY_DIR=/path/to/trading/clientportal IBEAM_CHROME_DRIVER_PATH=/usr/bin/chromedriver IBEAM_TWO_FA_SELECT_TARGET="IB Key"
# 1. Start Client Portal Gateway cd ~/trading/clientportal && bash bin/run.sh root/conf.yaml & # 2. Wait for startup (~20 sec) sleep 20 # 3. Run IBeam authentication cd ~/trading source venv/bin/activate source .env export DISPLAY=:99 Xvfb :99 -screen 0 1024x768x24 & python -m ibeam --authenticate Important: User must approve IBKR Key notification on phone within ~2 minutes!
curl -sk https://localhost:5000/v1/api/iserver/auth/status Authenticated response includes "authenticated": true.
# List accounts curl -sk https://localhost:5000/v1/api/portfolio/accounts # Account summary curl -sk "https://localhost:5000/v1/api/portfolio/{accountId}/summary"
# Current positions curl -sk "https://localhost:5000/v1/api/portfolio/{accountId}/positions/0"
# Search for symbol curl -sk "https://localhost:5000/v1/api/iserver/secdef/search?symbol=AAPL" # Get quote (after searching) curl -sk "https://localhost:5000/v1/api/iserver/marketdata/snapshot?conids=265598&fields=31,84,86"
curl -sk -X POST "https://localhost:5000/v1/api/iserver/account/{accountId}/orders" \ -H "Content-Type: application/json" \ -d '{ "orders": [{ "conid": 265598, "orderType": "MKT", "side": "BUY", "quantity": 1, "tif": "DAY" }] }'
Sessions expire after ~24 hours. Options: Keepalive cron - Ping /v1/api/tickle every 5 min Auto re-auth - Run IBeam when session expires (requires phone approval)
import requests import urllib3 urllib3.disable_warnings() def keepalive(): try: r = requests.post("https://localhost:5000/v1/api/tickle", verify=False, timeout=10) status = requests.get("https://localhost:5000/v1/api/iserver/auth/status", verify=False, timeout=10) return status.json().get("authenticated", False) except: return False
IssueSolutionGateway not respondingCheck if Java process is running: ps aux | grep GatewayStartLogin timeoutUser didn't approve IBKR Key in time - retry authConnection refusedGateway not started - run bin/run.sh root/conf.yamlChrome errorsEnsure Xvfb is running: Xvfb :99 & and export DISPLAY=:99
See references/api-endpoints.md for complete API documentation. See scripts/ for ready-to-use automation scripts.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.