Xerolite
Trading Bridge from TradingView to Interactive Brokers.
Xerolite automates execution of your trading ideas: it connects TradingView alerts to your Interactive Brokers account so orders are sent in real time with no manual steps. You design the logic and alerts in TradingView; Xerolite handles the bridge to IB (TWS or IB Gateway) and execution.
This skill lets your OpenClaw agent call the Xerolite REST API to place orders, search contracts, and fetch portfolio — so you can trade, look up symbols, or inspect positions from natural language or automation without leaving your workflow.
Package Structure
skills/xerolite/
├── SKILL.md # This file
├── scripts/
│ ├── xerolite.mjs # CLI (order place, contract search, portfolio get)
└── references/
└── API.md # REST API guide
Capabilities
- Place orders via Xerolite REST API.
- Search contracts via Xerolite REST API.
- Fetch portfolio (positions) via Xerolite agentic API.
Commands
Use these commands from the skill directory (or with {baseDir} in other skills).
Default flag values (optional; omit to use): --currency USD, --asset-class STOCK, --exch SMART.
Place order
Required: --action, --qty, --symbol. Optional: --currency, --asset-class, --exch, --api-key.
# Minimal (defaults: USD, STOCK, SMART)
node {baseDir}/scripts/xerolite.mjs order place --symbol AAPL --action BUY --qty 10
# Full
node {baseDir}/scripts/xerolite.mjs order place \
--symbol AAPL \
--currency USD \
--asset-class STOCK \
--exch SMART \
--action BUY \
--qty 10 \
--api-key "$XEROLITE_AGENTIC_API_KEY"
Request sent to POST /api/agentic/order/place-order with header:
X-Agentic-Api-Key: <your-api-key>
JSON body:
{
"name": "Agent",
"action": "BUY",
"qty": "10",
"symbol": "AAPL",
"currency": "USD",
"asset_class": "STOCK",
"exch": "SMART"
}
Search contract
Required: --symbol. Optional: --currency, --asset-class, --exch, --api-key.
# Minimal (defaults: USD, STOCK, SMART)
node {baseDir}/scripts/xerolite.mjs contract search --symbol AAPL
# Full
node {baseDir}/scripts/xerolite.mjs contract search \
--symbol AAPL \
--currency USD \
--asset-class STOCK \
--exch SMART \
--api-key "$XEROLITE_AGENTIC_API_KEY"
Request sent to POST /api/agentic/contract/search with header:
X-Agentic-Api-Key: <your-api-key>
JSON body:
{
"brokerName": "IBKR",
"symbol": "AAPL",
"currency": "USD",
"xeroAssetClass": "STOCK"
}
Get portfolio
Optional: --api-key. No symbol or other flags.
node {baseDir}/scripts/xerolite.mjs portfolio get
node {baseDir}/scripts/xerolite.mjs portfolio get --api-key "$XEROLITE_AGENTIC_API_KEY"
Request sent to POST /api/agentic/portfolio with header:
X-Agentic-Api-Key: <your-api-key>
Body: {} (empty object). Response: JSON array of position rows from the broker connection.
REST API
For the order, contract search, and portfolio endpoints used by this skill, see references/API.md.
Requirements
- Node.js 18+ (for built-in
fetch) - CLI: Optional
XEROLITE_API_URL— base URL for Xerolite API. If not set, defaults tohttp://localhost. - Auth required: Set
XEROLITE_AGENTIC_API_KEY(or pass--api-key) forX-Agentic-Api-Keyheader.