Skill: xero-flex/xerolite (version 0.1.4)

--- name: xerolite description: "Integrate OpenClaw with Xerolite - IBKR. Use when: querying Xerolite API, placing orders, searching contracts, fetching portfolio." metadata: {"openclaw":{"requires":{"bins":["node"],"env":["XEROLITE_AGENTIC_API_KEY"]},"primaryEnv":"XEROLITE_AGENTIC_API_KEY"}} --- # Xerolite **Trading Bridge from TradingView to Interactive Brokers.** [Xerolite](https://www.xeroflex.com/xerolite/) automates execution of your trading ideas: it connects [TradingView](https://www.tradingview.com/) alerts to your [Interactive Brokers](https://www.interactivebrokers.com/) 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`. ```bash # 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: ```text X-Agentic-[REDACTED_SECRET] ``` JSON body: ```json { "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`. ```bash # 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: ```text X-Agentic-[REDACTED_SECRET] ``` JSON body: ```json { "brokerName": "IBKR", "symbol": "AAPL", "currency": "USD", "xeroAssetClass": "STOCK" } ``` ### Get portfolio Optional: `--api-key`. No symbol or other flags. ```bash 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: ```text X-Agentic-[REDACTED_SECRET] ``` 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](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 to `http://localhost`. - **Auth required**: Set `XEROLITE_AGENTIC_API_KEY` (or pass `--api-key`) for `X-Agentic-Api-Key` header.


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)