IBKR + OpenClaw Integration
name: ibkr-openclaw
by amuletxheart · published 2026-04-01
$ claw add gh:amuletxheart/amuletxheart-ibkr-openclaw---
name: ibkr-openclaw
description: Connect OpenClaw to Interactive Brokers via IB Gateway Docker. Live portfolio data, real-time quotes, historical K-lines, technical analysis, and Telegram alerts — all read-only safe. Use when users ask about IBKR integration, portfolio monitoring, stock analysis, or automated trading alerts.
---
# IBKR + OpenClaw Integration
Connect OpenClaw to your Interactive Brokers account for live portfolio monitoring, real-time quotes, technical analysis, and automated Telegram alerts.
Features
Prerequisites
Setup Guide
Step 1: Install Docker
curl -fsSL https://get.docker.com | sh
docker --version
docker compose versionStep 2: Clone IB Gateway Docker
The IB Gateway runs in a Docker container based on [gnzsnz/ib-gateway-docker](https://github.com/gnzsnz/ib-gateway-docker).
cd ~/.openclaw/workspace
git clone https://github.com/gnzsnz/ib-gateway-docker.git
cd ib-gateway-dockerStep 3: Configure Environment
Create a `.env` file in the `ib-gateway-docker` directory:
# IBKR Account
TWS_USERID=your_username
TWS_PASSWORD=your_password
# Trading mode: live or paper
TRADING_MODE=live
# Read-only API (recommended for monitoring)
READ_ONLY_API=yes
# API settings
TWS_ACCEPT_INCOMING=auto
TWS_MASTER_CLIENT_ID=1
# 2FA device name (find in IBKR web portal → Settings → Security)
TWOFA_DEVICE=IB Key
# 2FA timeout
TWOFA_TIMEOUT_ACTION=exit
# Timezone
TIME_ZONE=Asia/Singapore
TZ=Asia/Singapore
# VNC password (optional, for remote desktop)
VNC_SERVER_PASSWORD=your_password
# Auto restart (daily maintenance)
AUTO_RESTART_TIME=23:45
# Save settings between restarts
SAVE_TWS_SETTINGS=yes**Important:** Find your `TWOFA_DEVICE` name in your IBKR web portal under:
Settings → Security → Second Factor Authentication → Devices
Step 4: Start the Container
docker compose up -dCheck logs:
docker logs algo-trader-ib-gateway-1 --tail 20Step 5: Approve 2FA
The Gateway will prompt for 2FA. Approve the notification on your **IBKR Mobile app**.
Once connected, the API is available on:
Step 6: Install Python Dependencies
pip install ib_async pandasStep 7: Test the Connection
python3 ~/.openclaw/workspace/skills/ibkr-openclaw/scripts/ibkr_client.py summary --port 4001Expected output:
Account: ['DU1234567']
----------------------------------------
BuyingPower.............. 500,000.00
NetLiquidation........... 125,000.00
TotalCashValue........... 25,000.00
StockMarketValue......... 100,000.00
FuturesPNL............... -500.00
UnrealizedPnL............ 3,200.00CLI Usage
ibkr_client.py — Account, Positions & Quotes
# Account summary
python3 scripts/ibkr_client.py summary --port 4001
# All positions
python3 scripts/ibkr_client.py positions --port 4001
# Quick NAV
python3 scripts/ibkr_client.py nav --port 4001
# Quote a stock
python3 scripts/ibkr_client.py quote 2800 --exchange SEHK --currency HKD --port 4001Getting Historical Data (Python)
from ib_async import IB, Stock
ib = IB()
ib.connect('127.0.0.1', 4001, clientId=1, readonly=True)
contract = Stock('2800', 'SEHK', 'HKD', primaryExchange='SEHK')
qualified = ib.qualifyContracts(contract)
bars = ib.reqHistoricalData(
qualified[0], '', '6 M', '1 day', 'TRADES', True, 1
)
for bar in bars[-5:]:
print(f"{bar.date} O:{bar.open} H:{bar.high} L:{bar.low} C:{bar.close} V:{bar.volume}")
ib.disconnect()API Port Reference
| Port | Mode | Description |
|---|---|---|
| 4001 | Paper | Paper trading API |
| 4002 | Live | Live trading API |
| 5900 | VNC | Remote desktop (if VNC enabled) |
Troubleshooting
2FA not arriving
Connection timeout
Read-only errors
Container won't start
Security Notes
Architecture
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ OpenClaw │────►│ ibkr_client.py │────►│ IB Gateway │
│ Agent │ │ (ib_async) │ │ (Docker) │
└─────────────┘ └──────────────────┘ └──────┬──────┘
│
┌──────▼──────┐
│ IBKR Servers│
│ (live data) │
└─────────────┘Credits
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...