perp-cli 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +243 -0
- package/README.ko.md +243 -0
- package/README.md +129 -535
- package/README.zh.md +243 -0
- package/dist/api/public/lighter.d.ts +5 -0
- package/dist/api/public/lighter.js +5 -0
- package/dist/api/public/pacifica.js +2 -2
- package/dist/arb/sizing.js +4 -2
- package/dist/arb/state.d.ts +6 -0
- package/dist/balance-by-address.d.ts +39 -0
- package/dist/balance-by-address.js +44 -0
- package/dist/bot/quote-rules.js +1 -1
- package/dist/bot/strategies/funding-arb-strategy.js +10 -3
- package/dist/bot/strategies/funding-arb-utils.d.ts +14 -2
- package/dist/bot/strategies/funding-arb-utils.js +48 -15
- package/dist/bot/strategies/spot-perp-arb-strategy.d.ts +1 -1
- package/dist/bot/strategies/spot-perp-arb-strategy.js +4 -2
- package/dist/bot/strategies/spot-perp-executor.js +2 -2
- package/dist/cli-program.js +1 -1
- package/dist/commands/account.js +168 -24
- package/dist/commands/arb/index.js +19 -77
- package/dist/commands/arb-auto.d.ts +24 -0
- package/dist/commands/arb-auto.js +155 -81
- package/dist/commands/arb.d.ts +8 -0
- package/dist/commands/arb.js +49 -23
- package/dist/commands/backtest.js +23 -21
- package/dist/commands/market.d.ts +48 -0
- package/dist/commands/market.js +241 -78
- package/dist/commands/options.d.ts +5 -0
- package/dist/commands/options.js +20 -3
- package/dist/commands/pacifica-earn.js +8 -21
- package/dist/commands/portfolio.d.ts +16 -0
- package/dist/commands/portfolio.js +51 -8
- package/dist/commands/trade.js +4 -4
- package/dist/cross-chain-margin.d.ts +3 -1
- package/dist/cross-chain-margin.js +4 -2
- package/dist/dashboard/server.js +2 -2
- package/dist/dashboard/ui.js +9 -6
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +10 -0
- package/dist/exchanges/address.d.ts +8 -0
- package/dist/exchanges/address.js +47 -0
- package/dist/exchanges/arcus/adapter.d.ts +10 -6
- package/dist/exchanges/arcus/adapter.js +33 -6
- package/dist/exchanges/arcus/public.js +3 -2
- package/dist/exchanges/aster.d.ts +27 -7
- package/dist/exchanges/aster.js +124 -42
- package/dist/exchanges/canonical-symbols.d.ts +7 -0
- package/dist/exchanges/canonical-symbols.js +20 -0
- package/dist/exchanges/capabilities.d.ts +2 -0
- package/dist/exchanges/capabilities.js +2 -1
- package/dist/exchanges/derive/options.d.ts +5 -0
- package/dist/exchanges/derive/options.js +20 -1
- package/dist/exchanges/extended/adapter.d.ts +16 -2
- package/dist/exchanges/extended/adapter.js +96 -34
- package/dist/exchanges/extended/public.d.ts +3 -0
- package/dist/exchanges/extended/public.js +9 -2
- package/dist/exchanges/grvt/adapter.d.ts +16 -2
- package/dist/exchanges/grvt/adapter.js +98 -21
- package/dist/exchanges/hyperliquid-outcome.d.ts +2 -0
- package/dist/exchanges/hyperliquid-outcome.js +29 -1
- package/dist/exchanges/hyperliquid-spot.d.ts +8 -0
- package/dist/exchanges/hyperliquid-spot.js +20 -12
- package/dist/exchanges/hyperliquid.d.ts +180 -13
- package/dist/exchanges/hyperliquid.js +487 -185
- package/dist/exchanges/interface.d.ts +64 -8
- package/dist/exchanges/interface.js +31 -0
- package/dist/exchanges/lighter-public.d.ts +66 -11
- package/dist/exchanges/lighter-public.js +249 -81
- package/dist/exchanges/lighter-spot.d.ts +7 -1
- package/dist/exchanges/lighter-spot.js +99 -90
- package/dist/exchanges/lighter.d.ts +70 -11
- package/dist/exchanges/lighter.js +285 -92
- package/dist/exchanges/ondo/adapter.d.ts +34 -8
- package/dist/exchanges/ondo/adapter.js +73 -16
- package/dist/exchanges/ondo/public.d.ts +27 -2
- package/dist/exchanges/ondo/public.js +63 -31
- package/dist/exchanges/outcome-interface.d.ts +4 -0
- package/dist/exchanges/pacifica-spot.d.ts +6 -0
- package/dist/exchanges/pacifica-spot.js +23 -15
- package/dist/exchanges/pacifica-vaults.d.ts +9 -0
- package/dist/exchanges/pacifica-vaults.js +14 -1
- package/dist/exchanges/pacifica.d.ts +77 -6
- package/dist/exchanges/pacifica.js +321 -130
- package/dist/exchanges/public-balances.d.ts +25 -0
- package/dist/exchanges/public-balances.js +158 -0
- package/dist/exchanges/public-positions.d.ts +43 -0
- package/dist/exchanges/public-positions.js +154 -0
- package/dist/exchanges/qfex/adapter.d.ts +52 -9
- package/dist/exchanges/qfex/adapter.js +74 -9
- package/dist/exchanges/qfex/public.d.ts +62 -9
- package/dist/exchanges/qfex/public.js +128 -22
- package/dist/exchanges/qfex/ws-transport.d.ts +1 -1
- package/dist/exchanges/risex/adapter.d.ts +19 -7
- package/dist/exchanges/risex/adapter.js +58 -12
- package/dist/exchanges/spot-factory.js +1 -1
- package/dist/exchanges/txflow/adapter.d.ts +14 -7
- package/dist/exchanges/txflow/adapter.js +51 -19
- package/dist/exchanges/txflow/client.js +3 -1
- package/dist/exchanges/txflow/public.d.ts +12 -1
- package/dist/exchanges/txflow/public.js +82 -11
- package/dist/exchanges/unknown-symbol.d.ts +6 -1
- package/dist/exchanges/unknown-symbol.js +7 -2
- package/dist/exchanges/variational/adapter.d.ts +2 -6
- package/dist/exchanges/venue-types.d.ts +46 -3
- package/dist/exchanges/venue-types.js +80 -9
- package/dist/exchanges/venue.d.ts +99 -3
- package/dist/exchanges/venue.js +72 -0
- package/dist/exchanges/venues/hyperliquid.js +9 -0
- package/dist/exchanges/venues/lighter-rh.js +13 -3
- package/dist/exchanges/venues/lighter.js +13 -3
- package/dist/exchanges/venues/pacifica.js +9 -0
- package/dist/exchanges/venues/risex.js +15 -0
- package/dist/funding/legacy-public.d.ts +5 -3
- package/dist/funding/legacy-public.js +33 -37
- package/dist/funding/rates.d.ts +54 -5
- package/dist/funding/rates.js +49 -13
- package/dist/liquidity.d.ts +3 -1
- package/dist/liquidity.js +8 -4
- package/dist/mcp-pacifica-earn.js +11 -5
- package/dist/mcp-server.js +104 -15
- package/dist/pacifica/client.d.ts +2 -1
- package/dist/pacifica/client.js +11 -0
- package/dist/positions-by-address.d.ts +34 -0
- package/dist/positions-by-address.js +46 -0
- package/dist/strategies/funding-arb.js +35 -62
- package/dist/utils.d.ts +11 -1
- package/dist/venue-health.js +1 -1
- package/dist/ws/arcus-market.d.ts +9 -0
- package/dist/ws/arcus-market.js +9 -0
- package/dist/ws/aster-market.d.ts +33 -0
- package/dist/ws/aster-market.js +30 -0
- package/dist/ws/index.d.ts +30 -9
- package/dist/ws/index.js +180 -15
- package/dist/ws/lighter-market.d.ts +14 -0
- package/dist/ws/lighter-market.js +13 -0
- package/dist/ws/node.d.ts +30 -9
- package/dist/ws/node.js +204 -16
- package/dist/ws/unclassified.d.ts +16 -0
- package/dist/ws/unclassified.js +43 -0
- package/package.json +15 -2
- package/skills/perp-cli/SKILL.md +97 -33
- package/skills/perp-cli/package.json +15 -2
- package/skills/perp-cli/references/agent-operations.md +15 -12
- package/skills/perp-cli/references/commands.md +67 -12
- package/skills/perp-cli/references/strategies.md +38 -3
- package/skills/perp-cli/references/ws-library.md +55 -24
- package/skills/perp-cli/scripts/arb-monitor.sh +13 -10
- package/skills/perp-cli/scripts/funding-analysis.sh +57 -29
- package/skills/perp-cli/scripts/preflight.sh +27 -19
- package/skills/perp-cli/scripts/spot-perp-scan.sh +58 -38
- package/skills/perp-cli/scripts/validate-arb.sh +56 -39
- package/dist/cli-spec.d.ts +0 -46
- package/dist/cli-spec.js +0 -81
package/README.ja.md
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
[English](README.md) | [한국어](README.ko.md) | [中文](README.zh.md) | **日本語**
|
|
2
|
+
|
|
3
|
+
> 正式版は英語の [README.md](README.md) です。この翻訳は英語版の更新に遅れている場合があります。
|
|
4
|
+
|
|
5
|
+
# perp-cli
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/perp-cli)
|
|
8
|
+
[](https://www.npmjs.com/package/perp-cli)
|
|
9
|
+
[](https://github.com/hypurrquant/perp-cli/blob/main/LICENSE)
|
|
10
|
+
|
|
11
|
+
多数の DEX の無期限先物を 1 つの CLI で — ターミナルから取引、ファンディングの比較、資金移動、ボットの実行ができ、AI エージェントにもそのまま渡せます(JSON 出力、MCP サーバー、エージェントスキル)。
|
|
12
|
+
|
|
13
|
+
- **8 つの取引所で取引可能:** Hyperliquid(HIP-3 dex を含む)、Pacifica、Lighter、Lighter RH、Aster、Ondo Perps、Arcus、QFEX(ブリッジと perp-perp アービトラージは当初の 4 取引所が対象: Pacifica、Hyperliquid、Lighter、Aster)
|
|
14
|
+
- **マーケットデータのみ:** RISEx、GRVT、Extended、Variational、TxFlow(非公式 API)— さらに Derive のオプションデータ
|
|
15
|
+
|
|
16
|
+
## インストール
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g perp-cli
|
|
20
|
+
perp --version
|
|
21
|
+
|
|
22
|
+
# Or without a global install
|
|
23
|
+
npx -y perp-cli --json portfolio
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
このパッケージには 3 つの実行ファイルが含まれています: `perp`(CLI 本体)、`perp-mcp`([MCP サーバー](docs/mcp.md)、stdio)、`perp-guardrail`([署名ガードレール](docs/guardrail.md))。
|
|
27
|
+
|
|
28
|
+
## クイックスタート
|
|
29
|
+
|
|
30
|
+
**1. まずは見てみる — キー不要。**
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
perp -e hl market list # markets, prices, funding
|
|
34
|
+
perp -e hl market book BTC # order book
|
|
35
|
+
perp arb scan --rates # funding rates across venues
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**2. ウォレットを追加する。** セットアップウィザードが暗号化された [OWS](https://github.com/open-wallet-standard) vault ウォレットを作成またはインポートし、取引所を選択してエージェントキーを登録します(署名のたびに確認を求め、資金を移動することはありません):
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
perp setup
|
|
42
|
+
perp wallet show
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
キーは非表示プロンプトまたは stdin から読み込まれます — argv や `~/.perp/.env` から読むことはありません。1 つの EVM キーで Hyperliquid、Lighter、Aster をカバーできます。その他の方法(1 行でのキーインポート、スクリプトによるセットアップ、取引所の Web サイトで作成したキー)については [docs/setup.md](docs/setup.md) を参照してください。
|
|
46
|
+
|
|
47
|
+
**3. アカウントを確認して取引する。** どのコマンドにも `-n testnet` を付ければ testnet を使用できます。
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
perp --json portfolio # balances + positions + risk on every venue
|
|
51
|
+
perp --json --dry-run -e hl trade market BTC buy 0.001 # validate only, nothing is sent
|
|
52
|
+
perp --json -e hl trade market BTC buy 0.001 # market order (bounded by the slippage setting)
|
|
53
|
+
perp --json -e hl trade close BTC
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## AI Agent Skill
|
|
57
|
+
|
|
58
|
+
Claude Code、Cursor、Codex、Gemini CLI などのエージェント CLI にそのまま導入できるスキルです。非対話型のコマンドガイド、運用プレイブック、戦略フレームワーク、再利用可能なシェルスクリプト(事前チェック、アービトラージ監視、バリデーション)を同梱しており、エージェントが適切な確認ポイントで停止し、対話型ウィザードで止まってしまうことがありません。
|
|
59
|
+
|
|
60
|
+
### インストール
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Claude Code — slash command
|
|
64
|
+
/install-skill hypurrquant/perp-cli
|
|
65
|
+
|
|
66
|
+
# Cursor / Codex / generic agent CLIs — via npx
|
|
67
|
+
npx skills add hypurrquant/perp-cli
|
|
68
|
+
|
|
69
|
+
# Manual install (any agent that reads a Skills directory)
|
|
70
|
+
git clone https://github.com/hypurrquant/perp-cli.git
|
|
71
|
+
cp -R perp-cli/skills/perp-cli ~/.claude/skills/ # or your CLI's skills dir
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
スキルは npm パッケージ内(`perp-cli/skills/perp-cli`)に同梱されているため、グローバルインストールでもローカルで利用できます:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm install -g perp-cli@latest
|
|
78
|
+
ls "$(npm root -g)/perp-cli/skills/perp-cli"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### スキルの内容
|
|
82
|
+
|
|
83
|
+
| ファイル | 用途 |
|
|
84
|
+
|------|---------|
|
|
85
|
+
| `SKILL.md` | トップレベルのエージェントガイド — ルール、ワークフロー、例 |
|
|
86
|
+
| `references/commands.md` | 非対話型コマンドの完全なリファレンス(全グループ) |
|
|
87
|
+
| `references/agent-operations.md` | セットアップフロー、冪等性、エラー処理、よくある間違い |
|
|
88
|
+
| `references/strategies.md` | ファンディング・アービトラージの意思決定フレームワーク + リスク管理 |
|
|
89
|
+
| `scripts/preflight.sh` | インストール + ウォレット + 接続性 + リスクの準備状況チェック |
|
|
90
|
+
| `scripts/arb-monitor.sh` | オープン中のアービトラージポジションのライブ監視 |
|
|
91
|
+
| `scripts/spot-perp-scan.sh` | 残高を考慮した現物 + 無期限先物の機会スキャン |
|
|
92
|
+
| `scripts/funding-analysis.sh` | 取引所横断のファンディング概要 / シンボルごとの詳細 |
|
|
93
|
+
| `scripts/validate-arb.sh` | 執行前バリデーション(価格 / 残高 / リスク / dry-run) |
|
|
94
|
+
|
|
95
|
+
エージェントガイドの全文は [`skills/perp-cli/SKILL.md`](skills/perp-cli/SKILL.md) を参照してください。
|
|
96
|
+
|
|
97
|
+
## 機能
|
|
98
|
+
|
|
99
|
+
- **ファンディングレート・アービトラージ** — perp-perp と spot-perp のスキャン、1 コマンドでの両建てエントリーと決済
|
|
100
|
+
- **ポートフォリオ** — 1 回の呼び出しで全取引所の残高、ポジション、リスクを取得
|
|
101
|
+
- **資金管理** — 入金、出金、送金、マルチプロバイダーブリッジ(CCTP / Relay / deBridge)、取引所間リバランス
|
|
102
|
+
- **ボット** — TWAP、グリッド、DCA、トレーリングストップなど、バックグラウンドジョブ管理付き
|
|
103
|
+
- **エージェントファースト** — `--json`、`--fields`、`--ndjson`、`--dry-run`、ランタイムスキーマのイントロスペクション
|
|
104
|
+
- **安全性** — 取引前バリデーション、すべての成行注文へのスリッページ上限、client-id による重複排除、レスポンスのサニタイズ
|
|
105
|
+
|
|
106
|
+
## 取引所
|
|
107
|
+
|
|
108
|
+
| 取引所 | `-e` | 取引 | チェーン / 担保 |
|
|
109
|
+
|---|---|---|---|
|
|
110
|
+
| Hyperliquid | `hyperliquid` (`hl`) | ✅ | HyperEVM、USDC。`--dex` で HIP-3 dex |
|
|
111
|
+
| Pacifica | `pacifica` (`pac`) | ✅ | Solana、USDC |
|
|
112
|
+
| Lighter | `lighter` (`lt`) | ✅ | Ethereum L2、USDC |
|
|
113
|
+
| Lighter RH | `lighter-rh` (`lrh`) | ✅ | Robinhood chain、USDG |
|
|
114
|
+
| Aster | `aster` (`ast`) | ✅ | BNB Chain、USDT / USDC |
|
|
115
|
+
| Ondo Perps | `ondo` | ✅ | オフチェーン、USDC |
|
|
116
|
+
| Arcus | `arcus` | ✅(アクセスホワイトリスト) | Robinhood chain、USDG |
|
|
117
|
+
| QFEX | `qfex` (`qf`) | ✅(手動取引のみ) | カストディアル。株式、指数、コモディティ |
|
|
118
|
+
| RISEx | `risex` | 読み取り専用 | RISE chain、USDC |
|
|
119
|
+
| GRVT | `grvt` | マーケットデータのみ | USDT |
|
|
120
|
+
| Extended | `extended` (`ext`) | マーケットデータのみ | Starknet。暗号資産 + 株式 / FX |
|
|
121
|
+
| Variational | `variational` (`var`) | マーケットデータのみ | RFQ 取引所 |
|
|
122
|
+
| TxFlow | `txflow` (`txf`) | マーケットデータのみ | **非公式** API |
|
|
123
|
+
| Derive | `derive` | オプションデータのみ | — |
|
|
124
|
+
|
|
125
|
+
- **[サポートマトリクスと取引所ごとの注意点](docs/venues.md)** — ファンディング、WebSocket、入金 / 出金、アドレス指定の照会、制限地域
|
|
126
|
+
- **[メインネット検証](docs/verification.md)** — どの機能を実資金で実行したか
|
|
127
|
+
- **[取引の詳細](docs/trading.md)** — Time in force、TP/SL、ストップ、スリッページ、現物取引、ビルダー手数料
|
|
128
|
+
|
|
129
|
+
## 主要コマンド
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Market data
|
|
133
|
+
perp --json -e <EX> market list | book <SYM> | funding <SYM> | kline <SYM> 1h
|
|
134
|
+
|
|
135
|
+
# Trading
|
|
136
|
+
perp --json -e <EX> trade buy <SYM> <SIZE> --tp <PX> --sl <PX> # entry protected by TP/SL
|
|
137
|
+
perp --json -e <EX> trade limit <SYM> buy <PX> <SIZE>
|
|
138
|
+
perp --json -e <EX> trade close <SYM> # or: flatten (every position)
|
|
139
|
+
|
|
140
|
+
# Account
|
|
141
|
+
perp --json portfolio
|
|
142
|
+
perp --json -e <EX> account positions
|
|
143
|
+
perp --json account balance --address <ADDR> # any account, keyless
|
|
144
|
+
|
|
145
|
+
# Funding arb
|
|
146
|
+
perp --json arb scan --min 5
|
|
147
|
+
perp --json arb exec <SYM> <longEx> <shortEx> <USD>
|
|
148
|
+
|
|
149
|
+
# Funds
|
|
150
|
+
perp --json funds deposit hyperliquid 100
|
|
151
|
+
perp --json funds bridge send --from solana --to arbitrum --amount 100
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
全グループを含む完全な一覧: **[docs/commands.md](docs/commands.md)**。グローバルフラグ: `--json`、`--fields <f>`、`--ndjson`、`--dry-run`、`-n testnet`、`-e <venue>`、`--dex <name>`(HIP-3)、`-w, --wallet <name>`。
|
|
155
|
+
|
|
156
|
+
## コマンドグループ
|
|
157
|
+
|
|
158
|
+
| グループ | 説明 |
|
|
159
|
+
|-------|-------------|
|
|
160
|
+
| `market` | 価格、板、ファンディング、ローソク足、HIP-3 dex |
|
|
161
|
+
| `account` | 残高、ポジション、注文、証拠金 |
|
|
162
|
+
| `trade` | 成行 / 指値 / ストップ注文、決済、スケール、分割執行 |
|
|
163
|
+
| `outcome` | Hyperliquid Outcome(HIP-4)— バイナリ / レンジ契約。アウトカムごとのクオート(outcomeMeta `quoteToken`、現在は USDC)、レバレッジなし |
|
|
164
|
+
| `options` | オプションのマーケットデータ、読み取り専用(Derive: `-e derive options underlyings / expiries / chain / quote`) |
|
|
165
|
+
| `print` | Pacifica Print — サイクルごとにプレミアムを得るストライク注文: games、quote、positions、history、events、deposit / cancel(`--dry-run`) |
|
|
166
|
+
| `vault` | Pacifica vaults(API: lakes)— list、info、positions、deposit(マスターウォレットのみ)/ withdraw(`--dry-run`) |
|
|
167
|
+
| `arb` | ファンディングレート・アービトラージ — scan、exec、close、monitor(perp-perp および spot-perp) |
|
|
168
|
+
| `strategy` | 19 種のボットアルゴリズム(grid、dca、twap、APEX、REFLECT、プリセット)+ ネスト可能なスクリプトプラン |
|
|
169
|
+
| `funds` | 入金、出金、送金、クロスチェーンブリッジ(マルチプロバイダー)、取引所間リバランス |
|
|
170
|
+
| `risk` | リスク上限、清算までの距離、ガードレール |
|
|
171
|
+
| `wallet` | マルチウォレット管理、エージェントウォレット(`wallet agent ...`)、ビルダー手数料(`wallet builder ...`、デフォルトでオフ)、証拠金モード / サブアカウント / API キー(`wallet manage ...`)、オンチェーン残高 |
|
|
172
|
+
| `history` | 執行ログ、損益、パフォーマンスの内訳 |
|
|
173
|
+
| `portfolio` | 取引所横断の統合ビュー(旧 `account balance` / `status` / `dashboard` を置き換え。`account balance --address` は任意のアカウントの残高をキー不要で取得) |
|
|
174
|
+
| `health` | アダプターのヘルスチェック: 全取引所の REST エンドポイントに ping(接続性 + レイテンシ) |
|
|
175
|
+
| `settings` | CLI 設定(リファラル、デフォルト値、手数料、ビルダー手数料、deBridge アフィリエイト) |
|
|
176
|
+
| `backtest` | 戦略のバックテスト |
|
|
177
|
+
| `background` | バックグラウンドプロセスのスーパーバイザー(戦略、アラートなどの tmux セッション) |
|
|
178
|
+
| `alerts` | バックグラウンドデーモン付きのファンディングレートアラート(Telegram / Discord) |
|
|
179
|
+
| `setup` | セットアップウィザード: OWS ウォレット、取引所、エージェントウォレット、スリッページ、デフォルト取引所(エイリアス: `init`。スクリプト用に `--non-interactive`) |
|
|
180
|
+
|
|
181
|
+
## エージェントファースト CLI 設計
|
|
182
|
+
|
|
183
|
+
[エージェントファースト CLI の原則](https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/)に従って構築されています:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Every command returns structured JSON envelope
|
|
187
|
+
perp --json portfolio
|
|
188
|
+
# → { "ok": true, "data": {...}, "meta": { "timestamp": "..." } }
|
|
189
|
+
|
|
190
|
+
# Filter output to specific fields (saves tokens)
|
|
191
|
+
perp --json --fields totalEquity,risk portfolio
|
|
192
|
+
|
|
193
|
+
# Stream large lists as NDJSON (one JSON per line)
|
|
194
|
+
perp --json --ndjson -e hl market list
|
|
195
|
+
|
|
196
|
+
# Pre-validate before executing
|
|
197
|
+
perp --json -e hl trade check BTC buy 0.01
|
|
198
|
+
perp --json --dry-run -e hl trade market BTC buy 0.01
|
|
199
|
+
|
|
200
|
+
# Idempotent orders with client ID (Hyperliquid: a 128-bit cloid, 0x + 32 hex; --auto-id generates one)
|
|
201
|
+
perp --json -e hl trade market BTC buy 0.01 --client-id 0x1234567890abcdef1234567890abcdef
|
|
202
|
+
perp --json -e hl trade status c:0x1234567890abcdef1234567890abcdef
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
すべてのレスポンスは自動的にサニタイズされます(制御文字の除去、プロンプトインジェクションパターンのブロック)。
|
|
206
|
+
エラーには `retryable` フラグが含まれます — `true` の場合にのみリトライしてください。
|
|
207
|
+
|
|
208
|
+
## MCP サーバー
|
|
209
|
+
|
|
210
|
+
[](https://glama.ai/mcp/servers/hypurrquant/perp-cli)
|
|
211
|
+
|
|
212
|
+
`perp-mcp` は Claude Desktop、Cursor などの MCP クライアントに 31 のツールを提供します。マーケットデータにはキー不要です。アカウントと取引のツールを使う場合は、先に `perp setup` を実行してください(サーバーは同じウォレットを読み取ります)。MCP の設定に秘密鍵を記載しないでください。
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"mcpServers": {
|
|
217
|
+
"perp-cli": {
|
|
218
|
+
"command": "npx",
|
|
219
|
+
"args": ["-y", "-p", "perp-cli", "perp-mcp"]
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
testnet、全ツール一覧、リソース、プロンプト: **[docs/mcp.md](docs/mcp.md)**。
|
|
226
|
+
|
|
227
|
+
## ドキュメント
|
|
228
|
+
|
|
229
|
+
| ドキュメント | 内容 |
|
|
230
|
+
|---|---|
|
|
231
|
+
| [セットアップ](docs/setup.md) | ウォレット、エージェントキー、取引所の Web サイトで作成したキー、シークレットの保存場所 |
|
|
232
|
+
| [取引所](docs/venues.md) | サポートマトリクス、取引所 id、QFEX / RISEx / GRVT / Extended / Variational / TxFlow / Derive の詳細 |
|
|
233
|
+
| [取引](docs/trading.md) | Time in force、TP/SL、ストップ、注文の変更、スリッページ、現物取引、ビルダー手数料 |
|
|
234
|
+
| [コマンド](docs/commands.md) | 全コマンドグループと例、Telegram アラート |
|
|
235
|
+
| [メインネット検証](docs/verification.md) | 取引所ごとに実資金で実行した内容 |
|
|
236
|
+
| [MCP サーバー](docs/mcp.md) | 設定、testnet、ツール、リソース、プロンプト |
|
|
237
|
+
| [署名ガードレール](docs/guardrail.md) | `perp-guardrail`、エージェントキー用の OWS ポリシー実行ファイル |
|
|
238
|
+
| [テスト](docs/TESTING.md) | テストスイートと取引所チェックリスト |
|
|
239
|
+
| [CHANGELOG](CHANGELOG.md) | リリースノート |
|
|
240
|
+
|
|
241
|
+
## ライセンス
|
|
242
|
+
|
|
243
|
+
MIT
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
[English](README.md) | **한국어** | [中文](README.zh.md) | [日本語](README.ja.md)
|
|
2
|
+
|
|
3
|
+
> 정본은 영문 [README](README.md)이며, 이 번역본은 영문판보다 업데이트가 늦을 수 있습니다.
|
|
4
|
+
|
|
5
|
+
# perp-cli
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/perp-cli)
|
|
8
|
+
[](https://www.npmjs.com/package/perp-cli)
|
|
9
|
+
[](https://github.com/hypurrquant/perp-cli/blob/main/LICENSE)
|
|
10
|
+
|
|
11
|
+
여러 DEX의 무기한 선물(perpetual futures)을 하나로 다루는 CLI — 터미널에서 거래하고, 펀딩비를 비교하고, 자금을 옮기고, 봇을 실행하거나, AI 에이전트에게 맡길 수 있습니다(JSON 출력, MCP 서버, 에이전트 스킬).
|
|
12
|
+
|
|
13
|
+
- **8개 거래소에서 거래:** Hyperliquid (HIP-3 dex 포함), Pacifica, Lighter, Lighter RH, Aster, Ondo Perps, Arcus, QFEX (브리지와 perp-perp 차익거래는 기존 4곳 지원: Pacifica, Hyperliquid, Lighter, Aster)
|
|
14
|
+
- **마켓 데이터 전용:** RISEx, GRVT, Extended, Variational, TxFlow (비공식 API) — 그리고 Derive 옵션 데이터
|
|
15
|
+
|
|
16
|
+
## 설치
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g perp-cli
|
|
20
|
+
perp --version
|
|
21
|
+
|
|
22
|
+
# Or without a global install
|
|
23
|
+
npx -y perp-cli --json portfolio
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
이 패키지에는 실행 파일이 세 개 포함되어 있습니다: `perp` (CLI 본체), `perp-mcp` ([MCP 서버](docs/mcp.md), stdio), `perp-guardrail` ([서명 가드레일](docs/guardrail.md)).
|
|
27
|
+
|
|
28
|
+
## 빠른 시작
|
|
29
|
+
|
|
30
|
+
**1. 둘러보기 — 키 불필요.**
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
perp -e hl market list # markets, prices, funding
|
|
34
|
+
perp -e hl market book BTC # order book
|
|
35
|
+
perp arb scan --rates # funding rates across venues
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**2. 지갑 추가.** 설정 마법사가 암호화된 [OWS](https://github.com/open-wallet-standard) vault 지갑을 생성하거나 가져오고, 거래소를 선택하고, 에이전트 키를 등록합니다(서명할 때마다 먼저 확인하며 자금은 절대 옮기지 않습니다):
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
perp setup
|
|
42
|
+
perp wallet show
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
키는 숨김 프롬프트나 stdin으로 읽습니다 — argv나 `~/.perp/.env`에서는 절대 읽지 않습니다. EVM 키 하나로 Hyperliquid, Lighter, Aster를 모두 사용할 수 있습니다. 다른 방법(한 줄 키 가져오기, 스크립트용 설정, 거래소 웹사이트에서 만든 키)은 [docs/setup.md](docs/setup.md)를 참고하세요.
|
|
46
|
+
|
|
47
|
+
**3. 계정 확인 후 거래.** 테스트넷을 사용하려면 아무 커맨드에나 `-n testnet`을 붙이세요.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
perp --json portfolio # balances + positions + risk on every venue
|
|
51
|
+
perp --json --dry-run -e hl trade market BTC buy 0.001 # validate only, nothing is sent
|
|
52
|
+
perp --json -e hl trade market BTC buy 0.001 # market order (bounded by the slippage setting)
|
|
53
|
+
perp --json -e hl trade close BTC
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## AI Agent Skill
|
|
57
|
+
|
|
58
|
+
Claude Code, Cursor, Codex, Gemini CLI 등 에이전트 CLI에 바로 넣어 쓸 수 있는 스킬입니다. 비대화형 커맨드 가이드, 운영 플레이북, 전략 프레임워크, 재사용 가능한 셸 스크립트(사전 점검, 차익거래 모니터, 검증)가 포함되어 있어, 에이전트가 적절한 확인 지점에서 멈추고 대화형 마법사에서 막히는 일이 없습니다.
|
|
59
|
+
|
|
60
|
+
### 설치
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Claude Code — slash command
|
|
64
|
+
/install-skill hypurrquant/perp-cli
|
|
65
|
+
|
|
66
|
+
# Cursor / Codex / generic agent CLIs — via npx
|
|
67
|
+
npx skills add hypurrquant/perp-cli
|
|
68
|
+
|
|
69
|
+
# Manual install (any agent that reads a Skills directory)
|
|
70
|
+
git clone https://github.com/hypurrquant/perp-cli.git
|
|
71
|
+
cp -R perp-cli/skills/perp-cli ~/.claude/skills/ # or your CLI's skills dir
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
스킬은 npm 패키지 안(`perp-cli/skills/perp-cli`)에 포함되어 있으므로, 전역 설치만 해도 로컬에서 사용할 수 있습니다:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm install -g perp-cli@latest
|
|
78
|
+
ls "$(npm root -g)/perp-cli/skills/perp-cli"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 스킬 구성
|
|
82
|
+
|
|
83
|
+
| 파일 | 용도 |
|
|
84
|
+
|------|---------|
|
|
85
|
+
| `SKILL.md` | 최상위 에이전트 가이드 — 규칙, 워크플로, 예시 |
|
|
86
|
+
| `references/commands.md` | 비대화형 커맨드 전체 레퍼런스 (모든 그룹) |
|
|
87
|
+
| `references/agent-operations.md` | 설정 흐름, 멱등성, 오류 처리, 흔한 실수 |
|
|
88
|
+
| `references/strategies.md` | 펀딩비 차익거래 의사결정 프레임워크 + 리스크 관리 |
|
|
89
|
+
| `scripts/preflight.sh` | 설치 + 지갑 + 연결 + 리스크 준비 상태 점검 |
|
|
90
|
+
| `scripts/arb-monitor.sh` | 진행 중인 차익거래 포지션 실시간 모니터 |
|
|
91
|
+
| `scripts/spot-perp-scan.sh` | 잔고 정보를 반영한 spot+perp 기회 스캔 |
|
|
92
|
+
| `scripts/funding-analysis.sh` | 거래소 간 펀딩비 개요 / 심볼별 상세 분석 |
|
|
93
|
+
| `scripts/validate-arb.sh` | 실행 전 검증 (가격 / 잔고 / 리스크 / dry-run) |
|
|
94
|
+
|
|
95
|
+
전체 에이전트 가이드는 [`skills/perp-cli/SKILL.md`](skills/perp-cli/SKILL.md)를 참고하세요.
|
|
96
|
+
|
|
97
|
+
## 주요 기능
|
|
98
|
+
|
|
99
|
+
- **펀딩비 차익거래** — perp-perp 및 spot-perp 스캔, 커맨드 한 번으로 양방향 레그 진입과 청산
|
|
100
|
+
- **포트폴리오** — 한 번의 호출로 모든 거래소의 잔고, 포지션, 리스크 반환
|
|
101
|
+
- **자금 관리** — 입금, 출금, 이체, 멀티 프로바이더 브리지(CCTP / Relay / deBridge), 거래소 간 리밸런싱
|
|
102
|
+
- **봇** — TWAP, 그리드, DCA, 트레일링 스톱 등, 백그라운드 작업 관리 포함
|
|
103
|
+
- **에이전트 우선 설계** — `--json`, `--fields`, `--ndjson`, `--dry-run`, 런타임 스키마 인트로스펙션
|
|
104
|
+
- **안전성** — 주문 전 검증, 모든 시장가 주문의 슬리피지 한도, client-id 기반 중복 방지, 응답 새니타이징
|
|
105
|
+
|
|
106
|
+
## 거래소
|
|
107
|
+
|
|
108
|
+
| 거래소 | `-e` | 거래 | 체인 / 담보 |
|
|
109
|
+
|---|---|---|---|
|
|
110
|
+
| Hyperliquid | `hyperliquid` (`hl`) | ✅ | HyperEVM, USDC; `--dex`로 HIP-3 dex 사용 |
|
|
111
|
+
| Pacifica | `pacifica` (`pac`) | ✅ | Solana, USDC |
|
|
112
|
+
| Lighter | `lighter` (`lt`) | ✅ | Ethereum L2, USDC |
|
|
113
|
+
| Lighter RH | `lighter-rh` (`lrh`) | ✅ | Robinhood chain, USDG |
|
|
114
|
+
| Aster | `aster` (`ast`) | ✅ | BNB Chain, USDT / USDC |
|
|
115
|
+
| Ondo Perps | `ondo` | ✅ | 오프체인, USDC |
|
|
116
|
+
| Arcus | `arcus` | ✅ (접근 화이트리스트) | Robinhood chain, USDG |
|
|
117
|
+
| QFEX | `qfex` (`qf`) | ✅ (수동 거래만 가능) | 수탁형; 주식, 지수, 원자재 |
|
|
118
|
+
| RISEx | `risex` | 읽기 전용 | RISE chain, USDC |
|
|
119
|
+
| GRVT | `grvt` | 마켓 데이터 전용 | USDT |
|
|
120
|
+
| Extended | `extended` (`ext`) | 마켓 데이터 전용 | Starknet; 크립토 + 주식 / FX |
|
|
121
|
+
| Variational | `variational` (`var`) | 마켓 데이터 전용 | RFQ 거래소 |
|
|
122
|
+
| TxFlow | `txflow` (`txf`) | 마켓 데이터 전용 | **비공식** API |
|
|
123
|
+
| Derive | `derive` | 옵션 데이터 전용 | — |
|
|
124
|
+
|
|
125
|
+
- **[지원 현황표 및 거래소별 참고 사항](docs/venues.md)** — 펀딩비, WebSocket, 입금 / 출금, 주소 기반 조회, 이용 제한 지역
|
|
126
|
+
- **[메인넷 검증](docs/verification.md)** — 실제 자금으로 실행해 본 기능
|
|
127
|
+
- **[거래 상세](docs/trading.md)** — time in force, TP/SL, 스톱, 슬리피지, 현물 거래, 빌더 수수료
|
|
128
|
+
|
|
129
|
+
## 자주 쓰는 커맨드
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Market data
|
|
133
|
+
perp --json -e <EX> market list | book <SYM> | funding <SYM> | kline <SYM> 1h
|
|
134
|
+
|
|
135
|
+
# Trading
|
|
136
|
+
perp --json -e <EX> trade buy <SYM> <SIZE> --tp <PX> --sl <PX> # entry protected by TP/SL
|
|
137
|
+
perp --json -e <EX> trade limit <SYM> buy <PX> <SIZE>
|
|
138
|
+
perp --json -e <EX> trade close <SYM> # or: flatten (every position)
|
|
139
|
+
|
|
140
|
+
# Account
|
|
141
|
+
perp --json portfolio
|
|
142
|
+
perp --json -e <EX> account positions
|
|
143
|
+
perp --json account balance --address <ADDR> # any account, keyless
|
|
144
|
+
|
|
145
|
+
# Funding arb
|
|
146
|
+
perp --json arb scan --min 5
|
|
147
|
+
perp --json arb exec <SYM> <longEx> <shortEx> <USD>
|
|
148
|
+
|
|
149
|
+
# Funds
|
|
150
|
+
perp --json funds deposit hyperliquid 100
|
|
151
|
+
perp --json funds bridge send --from solana --to arbitrum --amount 100
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
모든 그룹을 포함한 전체 목록: **[docs/commands.md](docs/commands.md)**. 전역 플래그: `--json`, `--fields <f>`, `--ndjson`, `--dry-run`, `-n testnet`, `-e <venue>`, `--dex <name>` (HIP-3), `-w, --wallet <name>`.
|
|
155
|
+
|
|
156
|
+
## 커맨드 그룹
|
|
157
|
+
|
|
158
|
+
| 그룹 | 설명 |
|
|
159
|
+
|-------|-------------|
|
|
160
|
+
| `market` | 가격, 오더북, 펀딩비, 캔들(kline), HIP-3 dex |
|
|
161
|
+
| `account` | 잔고, 포지션, 주문, 마진 |
|
|
162
|
+
| `trade` | 시장가/지정가/스톱 주문, 청산, 분할 진입·익절(scale), 분할 실행 |
|
|
163
|
+
| `outcome` | Hyperliquid Outcome (HIP-4) — 바이너리/범위 계약, outcome별 호가 자산(outcomeMeta `quoteToken`, 현재는 USDC), 레버리지 없음 |
|
|
164
|
+
| `options` | 옵션 마켓 데이터, 읽기 전용 (Derive: `-e derive options underlyings / expiries / chain / quote`) |
|
|
165
|
+
| `print` | Pacifica Print — 사이클마다 프리미엄을 받는 행사가 주문: games, quote, positions, history, events, deposit / cancel (`--dry-run`) |
|
|
166
|
+
| `vault` | Pacifica vault (API: lakes) — list, info, positions, deposit (마스터 지갑 전용) / withdraw (`--dry-run`) |
|
|
167
|
+
| `arb` | 펀딩비 차익거래 — 스캔, 실행, 청산, 모니터링 (perp-perp 및 spot-perp) |
|
|
168
|
+
| `strategy` | 19개 봇 알고리즘 (grid, dca, twap, APEX, REFLECT, 프리셋) + 중첩 스크립트 플랜 |
|
|
169
|
+
| `funds` | 입금, 출금, 이체, 크로스체인 브리지 (멀티 프로바이더), 거래소 간 리밸런싱 |
|
|
170
|
+
| `risk` | 리스크 한도, 청산까지의 거리, 가드레일 |
|
|
171
|
+
| `wallet` | 멀티 지갑 관리, 에이전트 지갑 (`wallet agent ...`), 빌더 수수료 (`wallet builder ...`, 기본값 꺼짐), 마진 모드 / 서브 계정 / API 키 (`wallet manage ...`), 온체인 잔고 |
|
|
172
|
+
| `history` | 실행 로그, 손익(PnL), 성과 분석 |
|
|
173
|
+
| `portfolio` | 거래소 통합 개요 (기존 `account balance` / `status` / `dashboard`를 대체; `account balance --address`는 키 없이 임의 계정의 잔고를 조회) |
|
|
174
|
+
| `health` | 어댑터 상태 점검: 모든 거래소의 REST 엔드포인트에 ping (연결 상태 + 지연 시간) |
|
|
175
|
+
| `settings` | CLI 설정 (레퍼럴, 기본값, 수수료, 빌더 수수료, deBridge 제휴) |
|
|
176
|
+
| `backtest` | 전략 백테스트 |
|
|
177
|
+
| `background` | 백그라운드 프로세스 관리자 (전략, 알림 등을 위한 tmux 세션) |
|
|
178
|
+
| `alerts` | 백그라운드 데몬 기반 펀딩비 알림 (Telegram / Discord) |
|
|
179
|
+
| `setup` | 설정 마법사: OWS 지갑, 거래소, 에이전트 지갑, 슬리피지, 기본 거래소 (별칭: `init`; 스크립트용 `--non-interactive`) |
|
|
180
|
+
|
|
181
|
+
## 에이전트 우선 CLI 설계
|
|
182
|
+
|
|
183
|
+
[에이전트 우선 CLI 원칙](https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/)에 따라 만들었습니다:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Every command returns structured JSON envelope
|
|
187
|
+
perp --json portfolio
|
|
188
|
+
# → { "ok": true, "data": {...}, "meta": { "timestamp": "..." } }
|
|
189
|
+
|
|
190
|
+
# Filter output to specific fields (saves tokens)
|
|
191
|
+
perp --json --fields totalEquity,risk portfolio
|
|
192
|
+
|
|
193
|
+
# Stream large lists as NDJSON (one JSON per line)
|
|
194
|
+
perp --json --ndjson -e hl market list
|
|
195
|
+
|
|
196
|
+
# Pre-validate before executing
|
|
197
|
+
perp --json -e hl trade check BTC buy 0.01
|
|
198
|
+
perp --json --dry-run -e hl trade market BTC buy 0.01
|
|
199
|
+
|
|
200
|
+
# Idempotent orders with client ID (Hyperliquid: a 128-bit cloid, 0x + 32 hex; --auto-id generates one)
|
|
201
|
+
perp --json -e hl trade market BTC buy 0.01 --client-id 0x1234567890abcdef1234567890abcdef
|
|
202
|
+
perp --json -e hl trade status c:0x1234567890abcdef1234567890abcdef
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
모든 응답은 자동으로 새니타이징됩니다(제어 문자 제거, 프롬프트 인젝션 패턴 차단).
|
|
206
|
+
오류에는 `retryable` 플래그가 포함됩니다 — `true`일 때만 재시도하세요.
|
|
207
|
+
|
|
208
|
+
## MCP 서버
|
|
209
|
+
|
|
210
|
+
[](https://glama.ai/mcp/servers/hypurrquant/perp-cli)
|
|
211
|
+
|
|
212
|
+
`perp-mcp`는 Claude Desktop, Cursor 등 MCP 클라이언트에 도구 31개를 제공합니다. 마켓 데이터에는 키가 필요 없으며, 계정 및 거래 도구를 쓰려면 먼저 `perp setup`을 실행하세요(서버는 같은 지갑을 읽습니다). MCP 설정에는 절대 개인 키를 넣지 마세요.
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"mcpServers": {
|
|
217
|
+
"perp-cli": {
|
|
218
|
+
"command": "npx",
|
|
219
|
+
"args": ["-y", "-p", "perp-cli", "perp-mcp"]
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
테스트넷, 전체 도구 목록, 리소스, 프롬프트: **[docs/mcp.md](docs/mcp.md)**.
|
|
226
|
+
|
|
227
|
+
## 문서
|
|
228
|
+
|
|
229
|
+
| 문서 | 내용 |
|
|
230
|
+
|---|---|
|
|
231
|
+
| [설정](docs/setup.md) | 지갑, 에이전트 키, 거래소 웹사이트에서 만든 키, 시크릿 저장 위치 |
|
|
232
|
+
| [거래소](docs/venues.md) | 지원 현황표, 거래소 id, QFEX / RISEx / GRVT / Extended / Variational / TxFlow / Derive 상세 |
|
|
233
|
+
| [거래](docs/trading.md) | time in force, TP/SL, 스톱, 주문 수정, 슬리피지, 현물 거래, 빌더 수수료 |
|
|
234
|
+
| [커맨드](docs/commands.md) | 모든 커맨드 그룹과 예시, Telegram 알림 |
|
|
235
|
+
| [메인넷 검증](docs/verification.md) | 거래소별로 실제 자금으로 실행해 본 항목 |
|
|
236
|
+
| [MCP 서버](docs/mcp.md) | 설정, 테스트넷, 도구, 리소스, 프롬프트 |
|
|
237
|
+
| [서명 가드레일](docs/guardrail.md) | `perp-guardrail`, 에이전트 키용 OWS 정책 실행 파일 |
|
|
238
|
+
| [테스트](docs/TESTING.md) | 테스트 스위트와 거래소 체크리스트 |
|
|
239
|
+
| [CHANGELOG](CHANGELOG.md) | 릴리스 노트 |
|
|
240
|
+
|
|
241
|
+
## 라이선스
|
|
242
|
+
|
|
243
|
+
MIT
|