Help us improve
Share bugs, ideas, or general feedback.
From vulcan
Categorizes Vulcan errors by type (validation, auth, tx_failed, network) and provides step-by-step recovery procedures for failed transactions and network issues.
npx claudepluginhub ellipsis-labs/vulcan-cliHow this skill is triggered — by the user, by Claude, or both
Slash command
/vulcan:vulcan-error-recoveryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill for:
Loads the runtime contract pointer, safety rules, focused-skill router, and preflight gate for the Vulcan CLI/MCP, Phoenix DEX, and Solana perpetuals trading. Must load on first topic appearance and session restart to avoid wrong commands and unsafe trades.
Resolves Bankr API errors including 401 authentication, invalid API keys, job failures, and rate limits with setup instructions, troubleshooting checklists, and resolution tables.
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:
{
"ok": false,
"error": {
"category": "validation",
"code": "UNKNOWN_MARKET",
"message": "Market not found",
"retryable": false
}
}
| Category | Exit | Retryable | Action |
|---|---|---|---|
validation | 1 | No | Fix the input. Common: UNKNOWN_MARKET, MISSING_ARG, INVALID_INTERVAL |
auth | 2 | No | Check wallet exists and password is correct. Run vulcan wallet list |
config | 3 | No | Run vulcan setup to recreate config |
api | 4 | No | Phoenix API issue. Check vulcan status for connectivity |
network | 5 | Yes | Transient. Retry with exponential backoff (1s, 2s, 4s) |
rate_limit | 6 | Yes | Wait 5s and retry. Reduce request frequency |
tx_failed | 7 | No | Critical: verify state before retrying. See below |
io | 8 | Yes | File permission issue. Check ~/.vulcan/ permissions |
dangerous_gate | 9 | No | Add acknowledged: true to the tool call |
internal | 10 | No | Bug in vulcan. Report it |
On-chain transactions can fail in complex ways. Never blind-retry.
Check position state first:
vulcan_position_list → {}
vulcan_margin_status → {}
Common causes:
vulcan_wallet_balance.Recovery pattern:
1. vulcan_position_list → {} # did the original tx partially succeed?
2. vulcan_margin_status → {} # is collateral state as expected?
3. vulcan_wallet_balance → {} # enough SOL for fees?
4. vulcan_market_ticker → { symbol } # has price moved significantly?
5. Re-attempt the operation if state is clean
1. Wait 1 second
2. Retry the same call
3. If still failing, wait 2 seconds and retry
4. After 3 failures, check connectivity: vulcan_status → {}
5. Report to user if API is down
| Code | Fix |
|---|---|
UNKNOWN_MARKET | Run vulcan_market_list to see available symbols |
MISSING_ARG | Check tool schema for required fields |
NO_POSITION | No open position. Check vulcan_position_list |
ISOLATED_ONLY_MARKET | Re-run with isolated: true, collateral: <amount> |
NO_DEFAULT_WALLET | Run vulcan wallet set-default <name> |
DECRYPT_FAILED | Wrong password. Check VULCAN_WALLET_PASSWORD |
NO_TRADER_ACCOUNT | Register with vulcan_account_register |
BUILD_TPSL_FAILED | TP/SL only works when opening/extending a position. Same-call TP/SL is supported on market orders and cross-margin limit orders; use post-hoc TP/SL tools for isolated limit orders. |