Vulcan — Phoenix Perps CLI/MCP for Solana

VerifiedCaution

Safety-first skill for Vulcan, the CLI/MCP for Phoenix perpetuals trading on Solana. Enforces a mandatory load order and binding non-negotiable rules before any answer or transaction.

Sby Skills Guide Bot
Data & AIAdvanced
10/20/2026
Claude CodeCursorCodex
#solana#perpetuals#mcp-server#trading#cli

Recommended for

Automated summary

Entry-point skill for the Vulcan agent that enforces a load order, eight binding safety rules and a router to focused skills before any answer about Phoenix perpetuals on Solana.

Strengths

  • Clearly separates paper/dry-run modes from live modes and forbids wallet-bound calls (margin_status, position_list, wallet_list) in wallet-less modes.
  • Requires explicit approval (`acknowledged: true` via MCP or `--yes` via CLI) before any dangerous command that can submit an irreversible transaction.
  • Prohibits asking for, displaying, logging or exporting private keys, keypair bytes, auth tokens and unredacted wallet passwords.
  • Routes to focused skills (execution, risk management, error recovery) rather than cramming everything into one file.

Limitations

  • The file is cut off mid-sentence in the final safety rule, so that rule is incomplete as shipped.
  • Most operational content (runtime contract, error codes, command surface) lives in external resources (`vulcan://context`, sibling skills) that must already be available; otherwise the skill tells the agent to stop.
  • The imperative tone and the requirement to re-load on every session add context overhead, and no concrete command examples are given here.
When to use it

Load it as soon as a request touches Vulcan, the Phoenix CLI/MCP, or opening and automating perpetual positions on Solana.

When not to use it

Do not use it for general Solana or spot DeFi questions, or for coding tasks unrelated to Vulcan trading.

Security analysis

Caution
Quality score75/100

This is a documentation/router skill, not an executor: it contains no shell pipelines, network calls, obfuscation, or secret exfiltration, and it actively forbids reading MCP/config files to extract wallet passwords, forbids logging keys/tokens, and gates dangerous operations behind explicit approval plus a preflight READY check. The residual risk is that following it leads an agent to operate powerful, irreversible financial tooling, so it warrants 'caution' rather than 'safe', but the guardrails are well-designed and no malicious behavior is present.

Findings
  • •The skill drives commands that can submit irreversible Solana transactions with real funds; risk is financial rather than exfiltration/destruction, and it is mitigated by explicit approval gates (`acknowledged: true` / `--yes`), a mandatory READY preflight, and paper/dry-run-first defaults.
  • •Instruction-pressure pattern: the frontmatter description and body use insistent MUST/"MANDATORY FIRST STEP" framing to force the agent to load the skill before answering. This is self-promotional routing pressure, not a role-change or jailbreak attempt, but reviewers should note it.
  • •No obfuscation, no curl|sh, no base64 payloads, no secret exfiltration. Rule 7 explicitly forbids reading MCP config files to harvest `VULCAN_WALLET_PASSWORD`, and Rule 8 forbids the agent from running private-key export on the user's behalf — both are strong defensive controls.
  • •Skill routes agents toward a live financial CLI (Phoenix Perpetuals on Solana) whose commands can submit irreversible on-chain transactions; it requires the external `vulcan` binary and companion skills, so risk depends on those being trustworthy.
  • •Explicitly surfaces a private-key export command (`vulcan wallet export <name> --private-key --yes`) as a remediation path; it instructs that only the user should run it locally, never the agent — responsible handling, but the capability is high-stakes.
  • •Uses strong 'MANDATORY FIRST STEP' / 'do not answer from memory' framing to force resource loading before any reply — a legitimate safety pattern here, but it is persuasion-style directive language that agents should treat as data, not overriding instructions.
How this analysis is made

Examples

Choose execution mode first
I want to open a 5x long on SOL-PERP with Vulcan. Ask me which execution mode to use, then run the matching preflight before touching any wallet.
Paper-trade a strategy
Set up an automated Vulcan trading workflow in paper mode on Phoenix perps and show me the paper status, paper positions and paper fills it produces.
Check live exposure
Using Vulcan in confirm-each mode, show my current Phoenix perp positions and margin status before I place another order.

name: vulcan version: 2.0.0 description: "MUST be loaded before producing any answer about Vulcan, Phoenix DEX, Phoenix perpetuals, Solana perps, the vulcan CLI/MCP, or agent-based trading workflows. Single entry-point: contains the runtime contract pointer, the non-negotiable safety rules, the focused-skill router, and the live-launch preflight gate. Answers given without loading this skill have produced wrong commands, wrong wallet selection, and unsafe live trades. Load on the FIRST turn the topic appears in a conversation and re-load on any session restart." metadata: openclaw: category: "finance" requires: bins: ["vulcan"]

Vulcan

MANDATORY FIRST STEP. Before composing any reply, running any tool, or guessing any command for Vulcan / Phoenix DEX / Phoenix perpetuals / Solana perps / agent-based trading, you MUST complete the Load Order below. This applies on every fresh conversation, every session restart, and every time the topic re-surfaces — never assume prior context carries. Skipping these steps has repeatedly produced wrong CLI flags, wrong default wallet selection, and unsafe live-mode launches. If a tool in the load order is unavailable, stop and tell the user; do not improvise.

Vulcan is an AI-native CLI and MCP server for Phoenix Perpetuals on Solana. It is live financial software: dangerous commands can submit irreversible Solana transactions.

Load Order (Mandatory, In This Order)

  1. Runtime contract — load vulcan://context (MCP) or run vulcan agent-context (CLI). Contains the safety rules, error codes, and command surface every reply must respect.
  2. Non-negotiable rules — read the Non-Negotiable Rules section below. Eight numbered rules, all binding.
  3. Skill index — load vulcan://skills/index or skills/INDEX.md to see all focused skills and pick the right one.
  4. Focused skill(s) — load the skill that matches the user's intent (see routing below). Load multiple if the task spans concerns (e.g. opening a position = trade-execution + risk-management + error-recovery).

Do not answer Vulcan questions from memory; the surface changes and prior-conversation knowledge goes stale.

Non-Negotiable Rules

These rules are binding for every Vulcan interaction. They apply equally to MCP and CLI invocations.

  1. Prefer MCP tools when available; use CLI fallback as vulcan <command> [args...] -o json.
  2. Dangerous tools require explicit approval: acknowledged: true through MCP or --yes through CLI.
  3. Call vulcan_market_info before using base-lot size; never guess lot sizes.
  4. Pick the execution mode before any wallet-bound call. Ask the user which mode (Paper / Dry-Run / Confirm-Each / Auto-Execute) per vulcan-execution-modes, then branch the preflight. In paper or dry-run, never call vulcan_margin_status, vulcan_position_list, vulcan_trade_orders, vulcan_portfolio_*, vulcan_wallet_list, or vulcan_strategy_preflight — they resolve a wallet that paper/dry-run does not need. Use the paper equivalents (vulcan_paper_status, vulcan_paper_positions, vulcan_paper_orders) instead. See Mode-Branched Preflight.
  5. For live modes only, call vulcan_margin_status before opening positions and vulcan_position_list before trading so you know existing exposure. For paper/dry-run, the equivalents are vulcan_paper_status and vulcan_paper_positions.
  6. Report every execution event and transaction signature immediately — fills, cancels, errors, and full tx signatures (do not abbreviate signatures). In paper, report the paper fill id instead.
  7. Never ask for, display, log, export, or inspect private keys, decrypted keypair bytes, wallet bytes, auth tokens, signed challenge material, or unredacted wallet passwords. This includes reading MCP config files (~/.cursor/mcp.json, ~/.claude/settings*.json, ~/.claude.json, ~/.codex/config.toml, project .mcp.json) to extract VULCAN_WALLET_PASSWORD — those files contain the password in plaintext and reading them counts as inspection. When live signing requires a password and the current session is CLI-mode, either (a) tell the user to restart their agent client so Vulcan runs via MCP and inherits the env from the OS keychain, or (b) tell the user to run the command themselves with VULCAN_WALLET_PASSWORD already in their shell. Run vulcan strategy preflight to see which MCP target has live signing configured.
  8. Do not execute plaintext private-key export. If the user asks to migrate a wallet, explain the risk and provide vulcan wallet export <name> --private-key --yes for the user to run locally — never run it on the user's behalf.

Before Any Live (Non-Paper) Launch

Before any --mode confirm_each or --mode auto_execute strategy/trade launch, you MUST run vulcan strategy preflight (or vulcan_strategy_preflight) and confirm it reports READY. The preflight resolves the active wallet, password source, trader registration, collateral, and lists every blocker with the exact remedy command. Do not attempt live launches until preflight passes.

Route By Intent

  • First interaction, setup, wallet creation, registration, first deposit, or paper-first onboarding: vulcan-onboarding.
  • Five-minute install + first paper trade: vulcan-quickstart.
  • Choosing an execution mode (Observe / Paper / Dry-Run / Confirm-Each / Auto-Execute), how to ask the user which one, and graduating between them: vulcan-execution-modes. Load this before any strategy or trade launch.
  • Market price, funding, orderbook, candles, or pre-trade research: vulcan-market-intel.
  • Technical indicators (RSI, MACD, Bollinger Bands, ATR, ADX, EMA, …) or trigger evaluation: vulcan-technical-analysis.
  • Declarative TA-driven strategy (rule-based open/close/reduce on indicator conditions): vulcan-ta-strategy.
  • Opening, closing, reducing, or otherwise changing exposure: vulcan-trade-execution, vulcan-risk-management, and vulcan-error-recovery.
  • Base-lot sizing: vulcan-lot-size-calculator.
  • TP/SL setup, update, or cancellation: vulcan-tpsl-management.
  • Existing positions: vulcan-position-management.
  • Portfolio, margin state, open orders, funding overview, or session recap: vulcan-portfolio-intel.
  • Deposits, withdrawals, transfers, isolated collateral, or leverage tiers: vulcan-margin-operations.
  • TWAP: vulcan-twap-execution.
  • Grid trading: vulcan-grid-trading.
  • Scale (laddered) limit entries with optional TA-suggested levels and post-fill laddered TP/SL: vulcan-scale-orders.

If Unsure

Start with vulcan-onboarding for new users and vulcan-portfolio-intel for users asking "what is my current state?". Prefer paper trading before live setup unless the user explicitly asks for live funds or live execution.

Source Of Truth

  • Always-needed runtime rules: CONTEXT.md or vulcan://context.
  • Exact tool schemas: agents/tool-catalog.json or vulcan://agents/tool-catalog.
  • Error categories, codes, and recovery hints: agents/error-catalog.json or vulcan://agents/error-catalog.
  • Focused workflows: skills/*/SKILL.md or vulcan://skills/<name>.

If MCP resources are unavailable, run vulcan agent-context and vulcan agent doctor to inspect them locally. Do not improvise from memory — the surface changes between releases.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/download' --output '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md.part' && mv '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md.part' '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md' && test -s '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/vulcan' && cp -R '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7' '.claude/skills/vulcan'

Cursor
test -f '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md' && test -s '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/vulcan' && cp -R '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7' '.cursor/skills/vulcan'

Codex
test -f '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md' && test -s '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/vulcan' && cp -R '.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7' '.agents/skills/vulcan'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7'

openskills read 'vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/vulcan-phoenix-perps-cli-mcp-for-solana-mvda86x7/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills