Help us improve
Share bugs, ideas, or general feedback.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vulcan:vulcan-risk-managementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill for:
Places and cancels perpetual futures orders on Phoenix DEX with pre-trade checks, TP/SL attachments, and paper/live mode support.
Manages Kraken futures trading risks: checks/sets leverage, monitors funding rates/margin/positions/liquidation via kraken CLI commands.
Executes spot and perpetual futures trades on Hyperliquid with market (IOC) and limit (GTC) orders, sets leverage, manages positions/balances/orders, deposits USDC from Arbitrum.
Share bugs, ideas, or general feedback.
Use this skill for:
Applies to live modes only (confirm-each / auto-execute). In paper and dry-run, these tools require a wallet you do not have and provide no signal — substitute the paper-state equivalents below. See Mode-Branched Preflight.
Before every live trade, call these tools:
1. vulcan_margin_status → {} # risk_state, collateral, PnL
2. vulcan_position_list → {} # existing positions
3. vulcan_trade_orders → { symbol } # resting orders consuming margin
4. vulcan_market_orderbook → { symbol } # slippage check for market orders
For paper / dry-run, the equivalent risk check is:
1. vulcan_paper_status → {} # equity, exposure_ratio, simulated PnL
2. vulcan_paper_positions → {} # existing simulated positions
3. vulcan_paper_orders → {} # resting paper orders
4. vulcan_market_orderbook → { symbol } # slippage check (same as live)
The mental model is the same — collateral coverage, existing exposure, resting orders, liquidity — but every input comes from the local paper state file rather than on-chain account data. If vulcan_paper_status returns PAPER_NOT_INITIALIZED, propose vulcan paper init --balance <N> rather than directing the user to wallet setup.
| State | Meaning | Action |
|---|---|---|
Healthy | Sufficient collateral | Safe to trade |
HighRisk | Margin getting thin | Warn user before any new trades |
Liquidatable | At risk of liquidation | Do NOT open new positions. Suggest reducing exposure or adding collateral |
Markets have tiered leverage limits. Larger positions get lower max leverage.
vulcan_margin_leverage_tiers → { symbol: "SOL" }
The first tier gives max leverage for typical small trades. Always check it before proposing a live notional.
For live strategies, calculate the maximum smooth live notional before asking for launch approval:
max_tier_leverage = first_applicable_leverage_tier.max_leverage
max_notional = deposited_collateral * max_tier_leverage
smooth_notional = max_notional * 0.97 # leave fee/spread/headroom
requested_leverage = requested_notional / deposited_collateral
If the requested notional is above smooth_notional, do not attempt the over-cap live launch and do not frame it as a scary collateral mismatch. Present the largest smooth live amount first, then ask the user to approve that adjusted amount or deposit more collateral. Once the user approves the adjusted amount, execute it without re-litigating the original request.
vulcan_market_ticker → { symbol: "SOL" } # check funding_rate field
When the user doesn't specify exact size:
vulcan_market_info for lot size conversion.When the user specifies a size but collateral is thin, recommend lower live notionals instead of only offering paper/dry-run/cancel. Use market leverage tiers first, then optional lower-risk examples:
collateral * market_max_leverage * 0.97collateral * 5collateral * 7.5collateral * min(10, market_max_leverage) * 0.97Example: with $9.23 deposited collateral and a 10x first-tier cap, max notional is about $92.30; a smooth launch target is about $89.50. If the user requested $100, suggest a live $89-$90 TWAP before paper/dry-run/deposit options.
Alert the user when:
Do not warn solely because notional / collateral is greater than 1x or because the trade uses a large share of available collateral. On perps, this is expected. If risk state is Healthy, the request is comfortably inside the market leverage tier, and estimated liquidation distance is not close, present leverage/exposure as neutral context instead of a caution. Example: a 4x SOL position on a 15x tier should not be called risky just because it is 4x.
For market orders, check the orderbook:
vulcan_market_orderbook → { symbol: "SOL", depth: 10 }
If order size is large relative to available liquidity at the best levels, warn about potential slippage.