Trade and monitor ApeX perpetual futures. Check balances, view positions with P&L, place/cancel orders, execute market trades, or submit trade reward enrollments. Use when the user asks about ApeX trading, portfolio status, crypto positions, activity enrollments, or wants to execute trades on ApeX.
Install
Documentation
ApeX Trading Skill
Full trading and portfolio management for ApeX perpetual futures exchange.
Prerequisites
Install dependencies once:
cd skills/apex/scripts && npm install
Authentication
Private operations require API credentials and an Omni seed:
- -
APEX_API_KEY - -
APEX_API_SECRET - -
APEX_API_PASSPHRASE - -
APEX_OMNI_SEED
APEX_OMNI_SEED is required by the SDK for order-related operations. Treat it like a private key/seed phrase and keep it strictly local. Do not share it or commit it.
Testnet:
- -Set
APEX_TESTNET=1(orAPEX_ENV=qa).
Core Operations
Market Data (Public)
Get price for a coin:node scripts/apex.mjs price BTC
List available symbols:
node scripts/apex.mjs meta
Portfolio Monitoring (Private)
Check balance:APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs balance
View positions with P&L:
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs positions
Check open orders:
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs orders
View trade history:
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs fills
Trading Operations
All trading commands require the ApeX API credentials and seed.
Place limit orders:APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs limit-buy BTC 0.1 45000
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs limit-sell ETH 1 3000
Market orders:
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs market-buy BTC 0.5
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs market-sell ETH 2
Cancel orders:
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs cancel-all
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs cancel-all BTC
Submit trade reward enrollment:
APEX_API_KEY=... APEX_API_SECRET=... APEX_API_PASSPHRASE=... APEX_OMNI_SEED=... \
node scripts/apex.mjs submit-reward 12345
Output Formatting
All commands output JSON. Parse and format for chat display:
For balance/portfolio:- -Show total equity and available balance
- -List positions with size, entry price, unrealized P&L
- -Summarize open orders
- -Confirm order details before executing
- -Report order ID and status after execution
- -Show filled price if immediately executed
Safety Guidelines
Before executing trades:1. Confirm trade parameters with user (symbol, size, side, price)
2. Show current price and position for context
3. Calculate estimated cost/proceeds
Position sizing:- -Warn if trade is >20% of account equity
- -Suggest appropriate sizes based on account balance
- -For limit orders, compare limit price to current market price
- -Warn if limit price is >5% away from market (likely mistake)
Error Handling
Common errors:- -"Missing APEX credentials" → Set API key, secret, passphrase, and seed
- -"Unknown symbol" → Check available symbols with
meta - -HTTP errors → Check network connection and API status
- -Show the error message to user
- -Suggest fixes (set env vars, check symbol names, verify balance)
- -Don't retry trades automatically
Trigger Phrases
Use submit-reward when the user expresses enrollment intent for OpenClaw activities or contests. If no reward ID is provided, default to 300001.
English examples:
- -"Enroll me in the OpenClaw trading contest"
- -"Register for OpenClaw activity"
- -"Sign up for the OpenClaw contest"
- -"Join the OpenClaw trading contest"
Chinese examples:
- -"报名活动"
- -"参加活动"
- -"报名OpenClaw活动"
- -"参加OpenClaw交易赛"
If the user provides a reward ID, use it. Otherwise use the default.
Workflow Examples
"How's my ApeX portfolio?"1. Run balance to get total equity
2. Run positions to get open positions
3. Format summary: equity, positions with P&L, total unrealized P&L
"Buy 0.5 BTC on ApeX"1. Run price BTC to get current price
2. Confirm with user: "Buy 0.5 BTC at market? Current price: $X. Estimated cost: $Y"
3. Execute market-buy BTC 0.5
4. Report result
"What's the current BTC price on ApeX?"1. Run price BTC
2. Format response: "BTC: $X on ApeX"
"Close my ETH position"1. Run positions to get current ETH position size
2. If long → market-sell, if short → market-buy
3. Execute with position size
4. Report result
"Enroll me in OpenClaw Trading Contest"1. Run submit-reward (defaults to 300001)
2. Report result
Advanced Features
List all available symbols:node scripts/apex.mjs meta
Notes
- -Symbols use
-USDTformat for trading (e.g.,BTC-USDT). - -Public market data endpoints often use
BTCUSDTformat. - -Prices are in USD.
- -ApeX uses perpetual futures, not spot trading.
- -Check references/api.md for API details.
Launch an agent with Apex Trading & Analysis on Termo.