{"_id":"@2oolkit/pacifica-cli","_rev":"4-7b39d8560b449394d1a723a31c44baa0","name":"@2oolkit/pacifica-cli","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@2oolkit/pacifica-cli","version":"0.1.0","keywords":["pacifica","perpetual-futures","trading","cli","mcp","model-context-protocol","defi","solana","ed25519"],"author":{"name":"haeminmoon"},"license":"MIT","_id":"@2oolkit/pacifica-cli@0.1.0","maintainers":[{"name":"haeminmoon","email":"mym0846@gmail.com"}],"homepage":"https://github.com/haeminmoon/pacifica-cli#readme","bugs":{"url":"https://github.com/haeminmoon/pacifica-cli/issues"},"bin":{"pacifica-cli":"dist/index.js","pacifica-mcp":"dist/mcp.js"},"dist":{"shasum":"a0bb4dfa07aff65bcb385e6919e44dc4c3380324","tarball":"https://registry.npmjs.org/@2oolkit/pacifica-cli/-/pacifica-cli-0.1.0.tgz","fileCount":9,"integrity":"sha512-YEpsA0uaig1ilIXNKEr/Wz4i3P8BRzDLI32Iu4x70zZScNfxN9PvZac+REfYacArQxuSDSl8RWh78FLBLGXf1g==","signatures":[{"sig":"MEUCIQDnkhElMDLMBhlpPvEgPPQcPnVXmMUncKh3efUdajYskgIgSxjjCC5lchwftn3lxu2/A+op4suH+fjU2Kt7mggBnW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100596},"main":"dist/index.js","type":"commonjs","engines":{"node":">=20"},"gitHead":"8ade488701b82db3e0148052e346d1174dfb35ec","scripts":{"dev":"ts-node src/index.ts","lint":"tsc --noEmit","test":"jest","build":"tsup"},"_npmUser":{"name":"haeminmoon","email":"mym0846@gmail.com"},"repository":{"url":"git+https://github.com/haeminmoon/pacifica-cli.git","type":"git"},"_npmVersion":"11.4.2","description":"CLI toolkit for trading perpetual futures on Pacifica exchange","directories":{},"_nodeVersion":"24.4.1","dependencies":{"zod":"^3.24.0","bs58":"^6.0.0","axios":"^1.7.9","dotenv":"^17.3.1","commander":"^13.1.0","tweetnacl":"^1.0.3","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/pacifica-cli_0.1.0_1773574459536_0.38094571725534343","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@2oolkit/pacifica-cli","version":"0.1.1","keywords":["pacifica","perpetual-futures","trading","cli","mcp","model-context-protocol","defi","solana","ed25519"],"author":{"name":"haeminmoon"},"license":"MIT","_id":"@2oolkit/pacifica-cli@0.1.1","maintainers":[{"name":"haeminmoon","email":"mym0846@gmail.com"}],"homepage":"https://github.com/haeminmoon/pacifica-cli#readme","bugs":{"url":"https://github.com/haeminmoon/pacifica-cli/issues"},"bin":{"pacifica-cli":"dist/index.js","pacifica-mcp":"dist/mcp.js"},"dist":{"shasum":"c2388af474d08ee024c6ec036e9dacc9a739eeb9","tarball":"https://registry.npmjs.org/@2oolkit/pacifica-cli/-/pacifica-cli-0.1.1.tgz","fileCount":9,"integrity":"sha512-+8NJHaxUtMH9r8pjoGlMO9bmfbDtG6wbd0hxhEmeJWQElo/sVf3NemtS7bwP+lAzZETcKinTsC5r8i0t/9oYHA==","signatures":[{"sig":"MEYCIQD5dBmxzVMHthNGeKVaYv6+TzFsAm5tQfXZVwvBPR7o9gIhAPUNLShonkV3oln6jEIhJRG/xwYrusThCkg5tAFnly42","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96018},"main":"dist/index.js","type":"commonjs","engines":{"node":">=20"},"gitHead":"6d9aa14d9ea7b0908b188598f65b65af0871947e","scripts":{"dev":"ts-node src/index.ts","lint":"tsc --noEmit","test":"jest","build":"tsup"},"_npmUser":{"name":"haeminmoon","email":"mym0846@gmail.com"},"repository":{"url":"git+https://github.com/haeminmoon/pacifica-cli.git","type":"git"},"_npmVersion":"11.4.2","description":"CLI toolkit for trading perpetual futures on Pacifica exchange","directories":{},"_nodeVersion":"24.4.1","dependencies":{"zod":"^3.24.0","bs58":"^6.0.0","axios":"^1.7.9","dotenv":"^17.3.1","commander":"^13.1.0","tweetnacl":"^1.0.3","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/pacifica-cli_0.1.1_1773628736875_0.2715897668122458","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@2oolkit/pacifica-cli","version":"0.1.2","keywords":["pacifica","perpetual-futures","perps","futures","trading","trading-bot","trading-cli","cli","mcp","mcp-server","model-context-protocol","ai-agent","claude","cursor","windsurf","defi","dex","solana","crypto","forex","commodities","derivatives","exchange","orderbook","leverage","margin-trading","ed25519","openclaw"],"author":{"name":"haeminmoon"},"license":"MIT","_id":"@2oolkit/pacifica-cli@0.1.2","maintainers":[{"name":"haeminmoon","email":"mym0846@gmail.com"}],"homepage":"https://github.com/haeminmoon/pacifica-cli#readme","bugs":{"url":"https://github.com/haeminmoon/pacifica-cli/issues"},"bin":{"pacifica-cli":"dist/index.js","pacifica-mcp":"dist/mcp.js"},"dist":{"shasum":"3b3986e11f99a855cc75ca6d2ec496903b69f906","tarball":"https://registry.npmjs.org/@2oolkit/pacifica-cli/-/pacifica-cli-0.1.2.tgz","fileCount":9,"integrity":"sha512-47k7sYf+5VTy4iUIkCADf8Ioj5SaBox8ge66z1Atlsi6oVofiAASjHVnXPfve5zbyb4R78T/0cVgsNYzfc4WtA==","signatures":[{"sig":"MEUCIQCouPnO79YlRRhOoC3MDvSBUxiOGmsIEesZM87cXpuxEgIgKh29S985NMH7dcBINcYOY3dMdUMO6FCYQwMBdeNGuaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97412},"main":"dist/index.js","type":"commonjs","engines":{"node":">=20"},"gitHead":"88b69bed3c83bac674905081e3d01051da47d19b","scripts":{"dev":"ts-node src/index.ts","lint":"tsc --noEmit","test":"jest","build":"tsup"},"_npmUser":{"name":"haeminmoon","email":"mym0846@gmail.com"},"repository":{"url":"git+https://github.com/haeminmoon/pacifica-cli.git","type":"git"},"_npmVersion":"11.4.2","description":"CLI toolkit & MCP server for trading perpetual futures on Pacifica exchange — crypto, forex, commodities, equities on Solana","directories":{},"_nodeVersion":"24.4.1","dependencies":{"zod":"^3.24.0","bs58":"^6.0.0","axios":"^1.7.9","dotenv":"^17.3.1","commander":"^13.1.0","tweetnacl":"^1.0.3","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/pacifica-cli_0.1.2_1773741604006_0.6551669460751668","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@2oolkit/pacifica-cli","version":"0.1.3","description":"CLI toolkit & MCP server for trading perpetual futures on Pacifica exchange — crypto, forex, commodities, equities on Solana","homepage":"https://github.com/haeminmoon/pacifica-cli#readme","bugs":{"url":"https://github.com/haeminmoon/pacifica-cli/issues"},"repository":{"type":"git","url":"git+https://github.com/haeminmoon/pacifica-cli.git"},"keywords":["pacifica","perpetual-futures","perps","futures","trading","trading-bot","trading-cli","cli","mcp","mcp-server","model-context-protocol","ai-agent","claude","cursor","windsurf","defi","dex","solana","crypto","forex","commodities","derivatives","exchange","orderbook","leverage","margin-trading","ed25519","openclaw"],"license":"MIT","author":{"name":"haeminmoon"},"type":"commonjs","main":"dist/index.js","bin":{"pacifica-cli":"dist/index.js","pacifica-mcp":"dist/mcp.js"},"scripts":{"build":"tsup","dev":"ts-node src/index.ts","lint":"tsc --noEmit","test":"jest"},"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","axios":"^1.7.9","bs58":"^6.0.0","commander":"^13.1.0","dotenv":"^17.3.1","tweetnacl":"^1.0.3","zod":"^4.4.3"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^22.10.0","jest":"^29.7.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsup":"^8.4.0","typescript":"^5.8.3"},"engines":{"node":">=20"},"_id":"@2oolkit/pacifica-cli@0.1.3","_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-kLcODVg4GAGjbo4nf7N1G18xQaiJwoSArXTHjxjqJHyhcih2TSjKJCxJZg4YU3hfVJrkdyMdVxCkJX9GHZ+3ig==","shasum":"92580872a7722ac0a9a7c058a4c7a318b6a1c332","tarball":"https://registry.npmjs.org/@2oolkit/pacifica-cli/-/pacifica-cli-0.1.3.tgz","fileCount":9,"unpackedSize":109100,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC6ex9E1HptHd8MxQ5xFx0C9XtFFtHD50Pb1hidyaGS1wIhAMaqnnzPgb9HFYANGnAmVOaUl9093EGSzFqda7wnHiUi"}]},"_npmUser":{"name":"haeminmoon","email":"mym0846@gmail.com"},"directories":{},"maintainers":[{"name":"haeminmoon","email":"mym0846@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pacifica-cli_0.1.3_1782175022653_0.40832676561318615"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T11:34:19.444Z","modified":"2026-06-23T00:37:02.933Z","0.1.0":"2026-03-15T11:34:19.697Z","0.1.1":"2026-03-16T02:38:57.028Z","0.1.2":"2026-03-17T10:00:04.174Z","0.1.3":"2026-06-23T00:37:02.787Z"},"bugs":{"url":"https://github.com/haeminmoon/pacifica-cli/issues"},"author":{"name":"haeminmoon"},"license":"MIT","homepage":"https://github.com/haeminmoon/pacifica-cli#readme","keywords":["pacifica","perpetual-futures","perps","futures","trading","trading-bot","trading-cli","cli","mcp","mcp-server","model-context-protocol","ai-agent","claude","cursor","windsurf","defi","dex","solana","crypto","forex","commodities","derivatives","exchange","orderbook","leverage","margin-trading","ed25519","openclaw"],"repository":{"type":"git","url":"git+https://github.com/haeminmoon/pacifica-cli.git"},"description":"CLI toolkit & MCP server for trading perpetual futures on Pacifica exchange — crypto, forex, commodities, equities on Solana","maintainers":[{"name":"haeminmoon","email":"mym0846@gmail.com"}],"readme":"# @2oolkit/pacifica-cli\n\nTrade perpetual futures on [Pacifica](https://pacifica.fi) — a decentralized derivatives exchange on Solana — from your terminal or AI agent.\n\n**One package, three interfaces:**\n\n| Interface          | Command                            | Use Case                                   |\n| ------------------ | ---------------------------------- | ------------------------------------------ |\n| **CLI**            | `pacifica-cli`                     | Terminal trading, scripting, automation     |\n| **MCP Server**     | `pacifica-mcp`                     | AI agents (Claude, Cursor, Windsurf, etc.) |\n| **OpenClaw Skill** | [`skill/SKILL.md`](skill/SKILL.md) | AI agent ecosystem (OpenClaw, ClawdBot)    |\n\n25+ perpetual instruments: crypto (BTC, ETH, SOL), forex (EURUSD), commodities (XAU, XAG), equities (NVDA, GOOGL).\n\n## Installation\n\n```bash\nnpm install -g @2oolkit/pacifica-cli\n```\n\nThis installs both `pacifica-cli` (CLI) and `pacifica-mcp` (MCP server).\n\n## Prerequisites\n\n- **Node.js** >= 20\n- A **Solana wallet** with an Ed25519 private key (base58 encoded)\n\n---\n\n## CLI Usage\n\n### Quick Start\n\n```bash\n# 1. Interactive setup (prompts for private key)\npacifica-cli config init\n\n# 2. Check a price (no auth needed)\npacifica-cli market prices --symbol BTC\n\n# 3. Place a market buy\npacifica-cli order market -s BTC -a 0.001 --side bid\n\n# 4. View open positions\npacifica-cli position list\n```\n\n### Configuration\n\n**Interactive setup (recommended):**\n\n```bash\npacifica-cli config init\n```\n\nPrompts for your Ed25519 private key (base58 encoded). Account address is automatically derived.\n\n**Manual setup:**\n\n```bash\npacifica-cli config set privateKey <base58-ed25519-private-key>\n```\n\n**Environment variables (CI/CD, Docker):**\n\n```bash\nexport PACIFICA_WALLET_PRIVATE_KEY=<your-private-key>\nexport PACIFICA_WALLET_ADDRESS=<your-wallet-address>\n```\n\nConfig is stored at `~/.pacifica-cli/config.json` with `0600` permissions.\n\n### Command Reference\n\n#### Market Data (no auth required)\n\n```bash\npacifica-cli market info                      # List all instruments\npacifica-cli market info --symbol ETH         # Filter by symbol\npacifica-cli market prices                    # All symbol prices\npacifica-cli market prices --symbol BTC       # Single symbol\npacifica-cli market orderbook BTC             # Orderbook\npacifica-cli market orderbook BTC --depth 5   # With aggregation\npacifica-cli market trades ETH                # Recent trades\npacifica-cli market candles BTC -i 4h         # Candlestick data (default 200 bars)\npacifica-cli market candles BTC -i 1m -c 4000 # Up to 4000 bars in one request (per-request max)\npacifica-cli market candles BTC -i 1m -c 8000 # >4000 auto-paginates across requests\npacifica-cli market funding SOL -l 50         # Funding rate history\n```\n\n**Candles (`market candles`):** The Pacifica `/kline` API returns at most **4000 bars per\nrequest**. Use `-c, --count <n>` to fetch the N most recent bars (default `200`); when `n` exceeds\n4000 the CLI auto-paginates by windowing the time range backwards, deduping and sorting ascending\nby time, and returns up to `n` bars. Intervals: `1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d`.\nFor an explicit window use `--start <ms>` (and optional `--end <ms>`); a range wider than the\n4000-bar cap is rejected with a clear message — use `--count` to page through more.\n\n#### Orders (auth required)\n\n```bash\n# Market order\npacifica-cli order market -s ETH -a 0.1 --side bid\npacifica-cli order market -s ETH -a 0.1 --side ask --reduce-only\n\n# Limit order\npacifica-cli order limit -s BTC -p 60000 -a 0.01 --side bid\npacifica-cli order limit -s BTC -p 70000 -a 0.01 --side ask --tif IOC\n\n# With take-profit / stop-loss\npacifica-cli order market -s ETH -a 0.1 --side bid --tp 2500 --sl 1800\n\n# Manage\npacifica-cli order list                       # Open orders\npacifica-cli order history -l 50              # Order history\npacifica-cli order cancel -s ETH --order-id 123456\npacifica-cli order cancel-all                 # Cancel all\npacifica-cli order cancel-all -s ETH          # Cancel all for symbol\n```\n\n**Order options:**\n\n| Option              | Required     | Description            | Default |\n| ------------------- | ------------ | ---------------------- | ------- |\n| `-s, --symbol`      | Yes          | Trading symbol         | —       |\n| `-a, --amount`      | Yes          | Order amount           | —       |\n| `--side`            | Yes          | `bid` (buy) or `ask` (sell) | —  |\n| `-p, --price`       | Limit only   | Limit price            | —       |\n| `--tif`             | No           | `GTC`, `IOC`, `ALO`, `TOB` | `GTC` |\n| `--slippage`        | No           | Max slippage percent   | `0.5`   |\n| `--reduce-only`     | No           | Reduce-only order      | `false` |\n| `--tp`              | No           | Take profit stop price | —       |\n| `--sl`              | No           | Stop loss stop price   | —       |\n\n#### Positions, Account & Funding\n\n```bash\npacifica-cli position list                    # All open positions\n\npacifica-cli account info                     # Balances & equity\npacifica-cli account settings                 # Margin & leverage settings\npacifica-cli account leverage -s BTC -l 20    # Set leverage\npacifica-cli account margin-mode -s BTC --mode isolated\npacifica-cli account trades -s ETH -l 20      # Trade history\npacifica-cli account funding-history -l 20    # Funding payments\n```\n\n#### Config\n\n```bash\npacifica-cli config init                      # Interactive setup\npacifica-cli config set <key> <value>         # Set a value\npacifica-cli config get <key>                 # Get a value\npacifica-cli config list                      # Show all (secrets masked)\n```\n\n### Output Formats\n\nAll commands support `-o json` for scripting and piping:\n\n```bash\npacifica-cli market prices -o json\npacifica-cli order list -o json | jq '.[].order_id'\n```\n\n---\n\n## MCP Server\n\nThe MCP (Model Context Protocol) server exposes all Pacifica functionality as tools for AI agents. Works with Claude Code, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.\n\n### Setup for Claude Code\n\n```bash\nclaude mcp add pacifica -- pacifica-mcp\n```\n\n### Setup for Claude Desktop / Cursor / Windsurf\n\nAdd to your MCP config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"pacifica\": {\n      \"command\": \"pacifica-mcp\",\n      \"env\": {\n        \"PACIFICA_WALLET_PRIVATE_KEY\": \"<your-private-key>\"\n      }\n    }\n  }\n}\n```\n\nOr without global install:\n\n```json\n{\n  \"mcpServers\": {\n    \"pacifica\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"@2oolkit/pacifica-cli\", \"pacifica-mcp\"],\n      \"env\": {\n        \"PACIFICA_WALLET_PRIVATE_KEY\": \"<your-private-key>\"\n      }\n    }\n  }\n}\n```\n\nThe `env` field passes your credentials directly to the MCP server — no separate CLI config needed. Alternatively, you can set up credentials via `pacifica-cli config init` and omit the `env` field.\n\n### Available Tools (19)\n\n| Category        | Tools                                                                                            | Auth Required |\n| --------------- | ------------------------------------------------------------------------------------------------ | ------------- |\n| **Market Data** | `get_market_info`, `get_prices`, `get_orderbook`, `get_recent_trades`, `get_candles`, `get_historical_funding` | No  |\n| **Orders**      | `create_market_order`, `create_limit_order`, `cancel_order`, `cancel_all_orders`, `get_open_orders`, `get_order_history` | Yes |\n| **Positions**   | `get_positions`                                                                                  | Yes           |\n| **Account**     | `get_account_info`, `get_account_settings`, `get_trade_history`, `get_funding_history`           | Yes           |\n| **Settings**    | `update_leverage`, `update_margin_mode`                                                          | Yes           |\n\n### MCP Authentication\n\nCredentials can be provided in two ways:\n\n1. **`env` field in MCP config (recommended)** — set `PACIFICA_WALLET_PRIVATE_KEY` directly in your MCP config as shown above\n2. **CLI config** — run `pacifica-cli config init` and the MCP server reads `~/.pacifica-cli/config.json` automatically\n\n---\n\n## OpenClaw Skill\n\nThis package includes an [OpenClaw](https://openclaw.dev) skill definition for AI agent ecosystems. The skill file is located at [`skill/SKILL.md`](skill/SKILL.md) with detailed reference docs in `skill/references/`.\n\nCompatible with OpenClaw, ClawdBot, and other agent skill platforms.\n\n---\n\n## Common Workflows\n\n### Close a Position\n\n```bash\n# Long position → sell reduce-only\npacifica-cli order market -s ETH -a 0.1 --side ask --reduce-only\n\n# Short position → buy reduce-only\npacifica-cli order market -s ETH -a 0.1 --side bid --reduce-only\n```\n\nAlways use `--reduce-only` when closing positions to prevent accidentally opening the opposite direction.\n\n### Bracket Order (Entry + TP/SL)\n\n```bash\npacifica-cli order market -s ETH -a 0.1 --side bid --tp 2500 --sl 1800\n```\n\n### Scale-In (DCA)\n\n```bash\npacifica-cli order limit -s ETH -p 2000 -a 0.1 --side bid\npacifica-cli order limit -s ETH -p 1950 -a 0.1 --side bid\npacifica-cli order limit -s ETH -p 1900 -a 0.1 --side bid\n```\n\n### Portfolio Health Check\n\n```bash\npacifica-cli account info -o json              # Balance & equity\npacifica-cli position list -o json             # Open positions\npacifica-cli order list -o json                # Open orders\n```\n\n## Safety Rules\n\n1. **Use `--reduce-only` for all exit orders** — prevents accidental position flips\n2. **Check instrument specs** before placing orders — `pacifica-cli market info --symbol BTC`\n3. **Check account balance** before large orders — `pacifica-cli account info`\n4. **Start with small sizes** when testing strategies\n5. **Never expose your private key** — it's used locally for signing, never transmitted\n\n## Security\n\n- **Secret input masking** — `config init` hides your private key as you type (displays `*`)\n- **File permissions** — config file is created with `0600` (owner read/write only)\n- **Local signing** — Ed25519 signatures computed locally with `tweetnacl`, only signatures are transmitted\n- **Signature expiry** — each signed request includes a timestamp and expiry window to prevent replay attacks\n## Environment Variables\n\n| Variable                       | Description                            |\n| ------------------------------ | -------------------------------------- |\n| `PACIFICA_WALLET_PRIVATE_KEY`  | Wallet private key (Ed25519, base58)   |\n| `PACIFICA_WALLET_ADDRESS`      | Wallet address / public key (base58)   |\n\n## Resources\n\n- **Pacifica Exchange**: https://pacifica.fi\n- **npm Package**: https://www.npmjs.com/package/@2oolkit/pacifica-cli\n- **GitHub**: https://github.com/haeminmoon/pacifica-cli\n- **Pacifica API Docs**: https://docs.pacifica.fi/api-documentation/api\n\n## License\n\nMIT\n","readmeFilename":"README.md"}