gmgn-cli 1.0.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.
Files changed (47) hide show
  1. package/.claude-plugin/marketplace.json +45 -0
  2. package/.claude-plugin/plugin.json +13 -0
  3. package/.cursor-plugin/plugin.json +23 -0
  4. package/LICENSE +21 -0
  5. package/Readme.md +236 -0
  6. package/Readme.zh.md +236 -0
  7. package/dist/client/OpenApiClient.d.ts +58 -0
  8. package/dist/client/OpenApiClient.d.ts.map +1 -0
  9. package/dist/client/OpenApiClient.js +174 -0
  10. package/dist/client/OpenApiClient.js.map +1 -0
  11. package/dist/client/signer.d.ts +32 -0
  12. package/dist/client/signer.d.ts.map +1 -0
  13. package/dist/client/signer.js +66 -0
  14. package/dist/client/signer.js.map +1 -0
  15. package/dist/commands/market.d.ts +3 -0
  16. package/dist/commands/market.d.ts.map +1 -0
  17. package/dist/commands/market.js +50 -0
  18. package/dist/commands/market.js.map +1 -0
  19. package/dist/commands/portfolio.d.ts +3 -0
  20. package/dist/commands/portfolio.d.ts.map +1 -0
  21. package/dist/commands/portfolio.js +112 -0
  22. package/dist/commands/portfolio.js.map +1 -0
  23. package/dist/commands/swap.d.ts +3 -0
  24. package/dist/commands/swap.d.ts.map +1 -0
  25. package/dist/commands/swap.js +73 -0
  26. package/dist/commands/swap.js.map +1 -0
  27. package/dist/commands/token.d.ts +3 -0
  28. package/dist/commands/token.d.ts.map +1 -0
  29. package/dist/commands/token.js +62 -0
  30. package/dist/commands/token.js.map +1 -0
  31. package/dist/config.d.ts +7 -0
  32. package/dist/config.d.ts.map +1 -0
  33. package/dist/config.js +36 -0
  34. package/dist/config.js.map +1 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +55 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/output.d.ts +3 -0
  40. package/dist/output.d.ts.map +1 -0
  41. package/dist/output.js +22 -0
  42. package/dist/output.js.map +1 -0
  43. package/package.json +51 -0
  44. package/skills/gmgn-market/SKILL.md +144 -0
  45. package/skills/gmgn-portfolio/SKILL.md +105 -0
  46. package/skills/gmgn-swap/SKILL.md +142 -0
  47. package/skills/gmgn-token/SKILL.md +55 -0
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "gmgn-cli",
4
+ "description": "GMGN OpenAPI skills for AI coding assistants — token info, market data, wallet portfolio, and swap execution across sol / bsc / base / eth / monad",
5
+ "owner": {
6
+ "name": "GMGN"
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "gmgn-cli",
11
+ "source": "./",
12
+ "description": "4 GMGN skills — token info & security, K-line market data, wallet portfolio analysis, and DEX swap execution",
13
+ "version": "1.0.0",
14
+ "author": {
15
+ "name": "GMGN"
16
+ },
17
+ "homepage": "https://gmgn.ai",
18
+ "repository": "https://github.com/gmgn-ai/gmgn-skills",
19
+ "license": "MIT",
20
+ "keywords": [
21
+ "gmgn",
22
+ "crypto",
23
+ "solana",
24
+ "token",
25
+ "defi",
26
+ "swap",
27
+ "portfolio",
28
+ "market",
29
+ "blockchain",
30
+ "skills"
31
+ ],
32
+ "category": "web3",
33
+ "tags": [
34
+ "skills",
35
+ "token",
36
+ "market",
37
+ "portfolio",
38
+ "swap",
39
+ "defi",
40
+ "blockchain"
41
+ ],
42
+ "strict": false
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "gmgn-cli",
3
+ "version": "1.0.0",
4
+ "description": "GMGN OpenAPI skills — token info, market data, wallet portfolio, and swap",
5
+ "author": {
6
+ "name": "GMGN",
7
+ "url": "https://gmgn.ai"
8
+ },
9
+ "repository": "https://github.com/gmgn-ai/gmgn-skills",
10
+ "license": "MIT",
11
+ "keywords": ["gmgn", "crypto", "solana", "token", "defi", "swap"],
12
+ "skills": "./skills/"
13
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "gmgn-cli",
3
+ "description": "GMGN OpenAPI skills — token info, market data, wallet portfolio, and swap execution across sol / bsc / base / eth / monad",
4
+ "version": "1.0.0",
5
+ "author": {
6
+ "name": "GMGN"
7
+ },
8
+ "homepage": "https://gmgn.ai",
9
+ "repository": "https://github.com/gmgn-ai/gmgn-skills",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "gmgn",
13
+ "crypto",
14
+ "solana",
15
+ "token",
16
+ "defi",
17
+ "swap",
18
+ "portfolio",
19
+ "market",
20
+ "blockchain"
21
+ ],
22
+ "skills": ["./skills/"]
23
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 GMGN
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/Readme.md ADDED
@@ -0,0 +1,236 @@
1
+ # gmgn-cli
2
+
3
+ > 中文文档:[Readme.zh.md](Readme.zh.md)
4
+
5
+ GMGN AI skills for on-chain operations — token research, market data, wallet analysis, and swap.
6
+
7
+ ---
8
+
9
+ ## Skills
10
+
11
+ | Skill | Description | Reference |
12
+ |-------|-------------|-----------|
13
+ | [`/gmgn-token`](skills/gmgn-token/SKILL.md) | Token info, security, pool, holders, traders | [SKILL.md](skills/gmgn-token/SKILL.md) |
14
+ | [`/gmgn-market`](skills/gmgn-market/SKILL.md) | K-line market data, trending tokens | [SKILL.md](skills/gmgn-market/SKILL.md) |
15
+ | [`/gmgn-portfolio`](skills/gmgn-portfolio/SKILL.md) | Wallet holdings, activity, stats | [SKILL.md](skills/gmgn-portfolio/SKILL.md) |
16
+ | [`/gmgn-swap`](skills/gmgn-swap/SKILL.md) | Swap submission + order query | [SKILL.md](skills/gmgn-swap/SKILL.md) |
17
+
18
+ ---
19
+
20
+ ## Usage Examples
21
+
22
+ Natural language prompts you can send to any AI assistant with gmgn-cli skills installed:
23
+
24
+ ```
25
+ buy 0.1 SOL of <token_address>
26
+ sell 50% of <token_address> on BSC
27
+ check order status <order_id>
28
+ is <token_address> safe to buy on solana?
29
+ show top holders of <token_address>
30
+ show my wallet holdings on SOL
31
+ query token details for 0x1234...
32
+ show trading stats for wallet <wallet_address> on BSC
33
+ ```
34
+
35
+ ---
36
+
37
+ ## Setup
38
+
39
+ ### 0. Prepare
40
+
41
+ Before applying for an API Key, get two things ready:
42
+
43
+ **Generate an Ed25519 key pair**
44
+
45
+ Download and run the [Binance Asymmetric Key Generator](https://github.com/binance/asymmetric-key-generator/releases). You will need the **public key** when filling out the API Key application, and the **private key** in your `.env` later (for swap / order).
46
+
47
+ **Get your public egress IP** (for the IP whitelist)
48
+
49
+ ```bash
50
+ curl ip.me
51
+ ```
52
+
53
+ Or visit **https://ip.me** in your browser.
54
+
55
+ ### 1. Get an API Key
56
+
57
+ Apply at **https://gmgn.ai/ai** — enter the public key and your IP address from the step above.
58
+
59
+ ### 2. Configure
60
+
61
+ **Option A — Global config (recommended)**
62
+
63
+ Create `~/.config/gmgn/.env` once — works from any directory:
64
+
65
+ ```bash
66
+ mkdir -p ~/.config/gmgn
67
+ cat > ~/.config/gmgn/.env << 'EOF'
68
+ GMGN_API_KEY=your_api_key_here
69
+
70
+ # Required for swap / order (private key from step 0):
71
+ GMGN_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n<base64>\n-----END PRIVATE KEY-----\n"
72
+ EOF
73
+ ```
74
+
75
+ **Option B — Project `.env`**
76
+
77
+ ```bash
78
+ cp .env.example .env
79
+ # Edit .env and fill in your values
80
+ ```
81
+
82
+ Config lookup order: `~/.config/gmgn/.env` → project `.env` (project takes precedence).
83
+
84
+ ### 3. CLI Install
85
+
86
+ ```bash
87
+ npm install -g gmgn-cli
88
+ ```
89
+
90
+ Local development:
91
+
92
+ ```bash
93
+ npm install
94
+ npm run build
95
+ node dist/index.js <command> [options]
96
+ ```
97
+
98
+ ### 4. Connect to Your AI Tool
99
+
100
+ #### Claude Code
101
+
102
+ Skills are automatically discovered when the package is installed as a plugin.
103
+
104
+ #### Cursor
105
+
106
+ Skills are automatically discovered via the `.cursor-plugin/` configuration.
107
+
108
+ 1. Complete steps 1–3 above
109
+ 2. Configure credentials in `~/.config/gmgn/.env`
110
+ 3. Restart Cursor — skills will be available in Agent mode via `/gmgn-*` commands
111
+
112
+ #### Cline
113
+
114
+ 1. Complete steps 1–3 above
115
+ 2. In Cline settings → **Skills directory**: point to the installed package's `skills/` folder:
116
+ ```bash
117
+ echo "$(npm root -g)/gmgn-skills/skills"
118
+ ```
119
+ 3. Configure credentials in `~/.config/gmgn/.env`
120
+ 4. Restart Cline — `/gmgn-token`, `/gmgn-market`, `/gmgn-portfolio`, `/gmgn-swap` will be available
121
+
122
+ #### Codex CLI
123
+
124
+ ```bash
125
+ git clone https://github.com/gmgn-ai/gmgn-skills ~/.codex/gmgn-cli
126
+ mkdir -p ~/.agents/skills
127
+ ln -s ~/.codex/gmgn-cli/skills ~/.agents/skills/gmgn-cli
128
+ ```
129
+
130
+ See [.codex/INSTALL.md](.codex/INSTALL.md) for full instructions.
131
+
132
+ #### OpenCode
133
+
134
+ ```bash
135
+ git clone https://github.com/gmgn-ai/gmgn-skills ~/.opencode/gmgn-cli
136
+ mkdir -p ~/.agents/skills
137
+ ln -s ~/.opencode/gmgn-cli/skills ~/.agents/skills/gmgn-cli
138
+ ```
139
+
140
+ See [.opencode/INSTALL.md](.opencode/INSTALL.md) for full instructions.
141
+
142
+ ---
143
+
144
+ ## Typical Workflows
145
+
146
+ **Research a token:**
147
+ ```
148
+ token info → token security → token pool → token holders
149
+ ```
150
+
151
+ **Analyze a wallet:**
152
+ ```
153
+ portfolio holdings → portfolio stats → portfolio activity
154
+ ```
155
+
156
+ **Execute a trade:**
157
+ ```
158
+ token info (confirm token) → portfolio token-balance (check funds) → swap → order get (poll status)
159
+ ```
160
+
161
+ **Discover trading opportunities via trending:**
162
+ ```
163
+ market trending (top 50, score-ranked) → AI selects top 5 by multi-factor analysis → user reviews → token info / token security → swap
164
+ ```
165
+
166
+ ---
167
+
168
+ ## CLI Reference
169
+
170
+ Full parameter reference: [docs/cli-usage.md](docs/cli-usage.md)
171
+
172
+ ### Token
173
+
174
+ ```bash
175
+ npx gmgn-cli token info --chain sol --address <addr>
176
+ ```
177
+
178
+ ### Market
179
+
180
+ ```bash
181
+ npx gmgn-cli market trending \
182
+ --chain sol \
183
+ --interval 1h \
184
+ --orderby volume --limit 20 \
185
+ --filter not_risk --filter not_honeypot
186
+ ```
187
+
188
+ ### Portfolio
189
+
190
+ ```bash
191
+ npx gmgn-cli portfolio holdings --chain sol --wallet <addr>
192
+ ```
193
+
194
+ ### Swap (requires private key)
195
+
196
+ ```bash
197
+ # Submit swap
198
+ npx gmgn-cli swap \
199
+ --chain sol \
200
+ --from <wallet-address> \
201
+ --input-token <input-token-addr> \
202
+ --output-token <output-token-addr> \
203
+ --amount 1000000 \
204
+ --slippage 0.01
205
+
206
+ # Query order
207
+ npx gmgn-cli order get --chain sol --order-id <order-id>
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Supported Chains
213
+
214
+ | Commands | Chains | Chain Currencies |
215
+ |----------|--------|-----------------|
216
+ | token / market / portfolio | `sol` / `bsc` / `base` | — |
217
+ | swap / order | `sol` / `bsc` / `base` | sol: SOL, USDC · bsc: BNB, USDC · base: ETH, USDC |
218
+
219
+ ---
220
+
221
+ ## Output Format
222
+
223
+ Default: formatted JSON. Use `--raw` for single-line JSON (pipe-friendly):
224
+
225
+ ```bash
226
+ npx gmgn-cli token info --chain sol --address <addr> --raw | jq '.price'
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Security & Disclaimer
232
+
233
+ - Never commit your `.env` file or private key to version control — add them to `.gitignore`
234
+ - Keep your `GMGN_API_KEY` and private key confidential; do not share them in logs, screenshots, or chat messages
235
+ - The private key used for swap/order must correspond to the wallet bound to your API Key
236
+ - **Use of this tool and any financial decisions made based on its output are entirely at your own risk. GMGN is not liable for any trading losses, errors, or unauthorized access resulting from improper credential management.**
package/Readme.zh.md ADDED
@@ -0,0 +1,236 @@
1
+ # gmgn-cli
2
+
3
+ > English: [Readme.md](Readme.md)
4
+
5
+ GMGN 链上操作 AI 技能套件 — Token 研究、行情数据、钱包分析和交易。
6
+
7
+ ---
8
+
9
+ ## 技能
10
+
11
+ | 技能 | 说明 | 参考 |
12
+ |------|------|------|
13
+ | [`/gmgn-token`](skills/gmgn-token/SKILL.md) | Token 信息、安全、池子、持有者、交易者 | [SKILL.md](skills/gmgn-token/SKILL.md) |
14
+ | [`/gmgn-market`](skills/gmgn-market/SKILL.md) | K 线行情数据、热门代币 | [SKILL.md](skills/gmgn-market/SKILL.md) |
15
+ | [`/gmgn-portfolio`](skills/gmgn-portfolio/SKILL.md) | 钱包持仓、活动、统计 | [SKILL.md](skills/gmgn-portfolio/SKILL.md) |
16
+ | [`/gmgn-swap`](skills/gmgn-swap/SKILL.md) | 兑换提交 + 订单查询 | [SKILL.md](skills/gmgn-swap/SKILL.md) |
17
+
18
+ ---
19
+
20
+ ## 用法示例
21
+
22
+ 安装技能后,向 AI 助手直接发送自然语言指令:
23
+
24
+ ```
25
+ buy 0.1 SOL of <token_address>
26
+ sell 50% of <token_address> on BSC
27
+ check order status <order_id>
28
+ is <token_address> safe to buy on solana?
29
+ show top holders of <token_address>
30
+ show my wallet holdings on SOL
31
+ query token details for 0x1234...
32
+ show trading stats for wallet <wallet_address> on BSC
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 安装配置
38
+
39
+ ### 0. 准备工作
40
+
41
+ 申请 API Key 前,需要先准备两件事:
42
+
43
+ **生成 Ed25519 密钥对**
44
+
45
+ 下载并运行 [Binance Asymmetric Key Generator](https://github.com/binance/asymmetric-key-generator/releases)。申请 API Key 时需要填入**公钥**,**私钥**稍后配置到 `.env`(swap / order 接口使用)。
46
+
47
+ **获取本机出口 IP**(用于填写 IP 白名单)
48
+
49
+ ```bash
50
+ curl ip.me
51
+ ```
52
+
53
+ 或在浏览器访问 **https://ip.me**。
54
+
55
+ ### 1. 获取 API Key
56
+
57
+ 申请地址:**https://gmgn.ai/ai** — 填入上一步准备好的公钥和 IP 地址。
58
+
59
+ ### 2. 配置
60
+
61
+ **方式 A — 全局配置(推荐)**
62
+
63
+ 创建 `~/.config/gmgn/.env`,配置一次,所有目录均生效:
64
+
65
+ ```bash
66
+ mkdir -p ~/.config/gmgn
67
+ cat > ~/.config/gmgn/.env << 'EOF'
68
+ GMGN_API_KEY=your_api_key_here
69
+
70
+ # swap / order 接口额外需要(第 0 步生成的私钥):
71
+ GMGN_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n<base64>\n-----END PRIVATE KEY-----\n"
72
+ EOF
73
+ ```
74
+
75
+ **方式 B — 项目 `.env`**
76
+
77
+ ```bash
78
+ cp .env.example .env
79
+ # 编辑 .env,填入实际值
80
+ ```
81
+
82
+ 配置加载顺序:`~/.config/gmgn/.env` → 项目 `.env`(项目级优先)。
83
+
84
+ ### 3. CLI 安装
85
+
86
+ ```bash
87
+ npm install -g gmgn-cli
88
+ ```
89
+
90
+ 本地开发:
91
+
92
+ ```bash
93
+ npm install
94
+ npm run build
95
+ node dist/index.js <command> [options]
96
+ ```
97
+
98
+ ### 4. 接入 AI 工具
99
+
100
+ #### Claude Code
101
+
102
+ 安装包后通过插件机制自动发现技能。
103
+
104
+ #### Cursor
105
+
106
+ 技能通过 `.cursor-plugin/` 配置自动发现。
107
+
108
+ 1. 完成上方步骤 1–3
109
+ 2. 配置凭证:`~/.config/gmgn/.env`
110
+ 3. 重启 Cursor — Agent 模式下可通过 `/gmgn-*` 命令使用技能
111
+
112
+ #### Cline
113
+
114
+ 1. 完成上方步骤 1–3
115
+ 2. 在 Cline 设置 → **Skills directory**:填入已安装包的 `skills/` 目录路径:
116
+ ```bash
117
+ echo "$(npm root -g)/gmgn-skills/skills"
118
+ ```
119
+ 3. 配置凭证:`~/.config/gmgn/.env`
120
+ 4. 重启 Cline — `/gmgn-token`、`/gmgn-market`、`/gmgn-portfolio`、`/gmgn-swap` 即可使用
121
+
122
+ #### Codex CLI
123
+
124
+ ```bash
125
+ git clone https://github.com/gmgn-ai/gmgn-skills ~/.codex/gmgn-cli
126
+ mkdir -p ~/.agents/skills
127
+ ln -s ~/.codex/gmgn-cli/skills ~/.agents/skills/gmgn-cli
128
+ ```
129
+
130
+ 详细说明:[.codex/INSTALL.md](.codex/INSTALL.md)
131
+
132
+ #### OpenCode
133
+
134
+ ```bash
135
+ git clone https://github.com/gmgn-ai/gmgn-skills ~/.opencode/gmgn-cli
136
+ mkdir -p ~/.agents/skills
137
+ ln -s ~/.opencode/gmgn-cli/skills ~/.agents/skills/gmgn-cli
138
+ ```
139
+
140
+ 详细说明:[.opencode/INSTALL.md](.opencode/INSTALL.md)
141
+
142
+ ---
143
+
144
+ ## 典型使用场景
145
+
146
+ **研究 Token:**
147
+ ```
148
+ token info → token security → token pool → token holders
149
+ ```
150
+
151
+ **分析钱包:**
152
+ ```
153
+ portfolio holdings → portfolio stats → portfolio activity
154
+ ```
155
+
156
+ **执行交易:**
157
+ ```
158
+ token info(确认 Token) → portfolio token-balance(检查余额) → swap → order get(轮询状态)
159
+ ```
160
+
161
+ **通过 Trending 发现交易机会:**
162
+ ```
163
+ market trending(取 50 条,按 score 排序) → AI 多维度分析选出 top 5 → 用户确认 → token info / token security → swap
164
+ ```
165
+
166
+ ---
167
+
168
+ ## CLI 参考
169
+
170
+ 完整参数说明:[docs/cli-usage.md](docs/cli-usage.md)
171
+
172
+ ### Token
173
+
174
+ ```bash
175
+ npx gmgn-cli token info --chain sol --address <addr>
176
+ ```
177
+
178
+ ### Market
179
+
180
+ ```bash
181
+ npx gmgn-cli market trending \
182
+ --chain sol \
183
+ --interval 1h \
184
+ --orderby volume --limit 20 \
185
+ --filter not_risk --filter not_honeypot
186
+ ```
187
+
188
+ ### Portfolio
189
+
190
+ ```bash
191
+ npx gmgn-cli portfolio holdings --chain sol --wallet <addr>
192
+ ```
193
+
194
+ ### Swap(需要私钥)
195
+
196
+ ```bash
197
+ # 提交兑换
198
+ npx gmgn-cli swap \
199
+ --chain sol \
200
+ --from <wallet-address> \
201
+ --input-token <input-token-addr> \
202
+ --output-token <output-token-addr> \
203
+ --amount 1000000 \
204
+ --slippage 0.01
205
+
206
+ # 查询订单
207
+ npx gmgn-cli order get --chain sol --order-id <order-id>
208
+ ```
209
+
210
+ ---
211
+
212
+ ## 支持的链
213
+
214
+ | 接口类型 | 支持的链 | 链原生货币 |
215
+ |----------|----------|-----------|
216
+ | token / market / portfolio | `sol` / `bsc` / `base` | — |
217
+ | swap / order | `sol` / `bsc` / `base` | sol: SOL、USDC · bsc: BNB、USDC · base: ETH、USDC |
218
+
219
+ ---
220
+
221
+ ## 输出格式
222
+
223
+ 默认输出格式化 JSON。使用 `--raw` 输出单行 JSON(方便 jq 等工具处理):
224
+
225
+ ```bash
226
+ npx gmgn-cli token info --chain sol --address <addr> --raw | jq '.price'
227
+ ```
228
+
229
+ ---
230
+
231
+ ## 安全与免责
232
+
233
+ - 不要将 `.env` 文件或私钥提交到版本控制系统,请将其加入 `.gitignore`
234
+ - 请妥善保管 `GMGN_API_KEY` 和私钥,不要在日志、截图或聊天中泄露
235
+ - swap/order 使用的私钥必须与绑定该 API Key 的钱包一致
236
+ - **使用本工具及根据其输出做出的任何财务决策,风险由用户自行承担。GMGN 对因凭证管理不当导致的任何交易损失、错误或未授权访问不承担责任。**
@@ -0,0 +1,58 @@
1
+ /**
2
+ * OpenApiClient — GMGN OpenAPI external client
3
+ *
4
+ * Auth modes:
5
+ * Normal (market/token/portfolio): X-APIKEY + timestamp + client_id
6
+ * Critical (swap/order): normal auth + X-Signature (private key signature)
7
+ */
8
+ export interface Config {
9
+ apiKey: string;
10
+ privateKeyPem?: string;
11
+ host: string;
12
+ }
13
+ export interface SwapParams {
14
+ chain: string;
15
+ from_address: string;
16
+ input_token: string;
17
+ output_token: string;
18
+ input_amount: string;
19
+ swap_mode?: string;
20
+ input_amount_bps?: string;
21
+ output_amount?: string;
22
+ slippage?: number;
23
+ auto_slippage?: boolean;
24
+ min_output_amount?: string;
25
+ is_anti_mev?: boolean;
26
+ priority_fee?: string;
27
+ tip_fee?: string;
28
+ auto_tip_fee?: boolean;
29
+ max_auto_fee?: string;
30
+ gas_price?: string;
31
+ max_fee_per_gas?: string;
32
+ max_priority_fee_per_gas?: string;
33
+ }
34
+ export declare class OpenApiClient {
35
+ private readonly apiKey;
36
+ private readonly privateKeyPem;
37
+ private readonly host;
38
+ constructor(config: Config);
39
+ getTokenInfo(chain: string, address: string): Promise<unknown>;
40
+ getTokenSecurity(chain: string, address: string): Promise<unknown>;
41
+ getTokenPoolInfo(chain: string, address: string): Promise<unknown>;
42
+ getTokenTopHolders(chain: string, address: string): Promise<unknown>;
43
+ getTokenTopTraders(chain: string, address: string): Promise<unknown>;
44
+ getTokenKline(chain: string, address: string, resolution: string, from: number, to: number): Promise<unknown>;
45
+ getWalletHoldings(chain: string, walletAddress: string, extra?: Record<string, string | number>): Promise<unknown>;
46
+ getWalletActivity(chain: string, walletAddress: string, extra?: Record<string, string | number | string[]>): Promise<unknown>;
47
+ getWalletStats(chain: string, walletAddresses: string[], period?: string): Promise<unknown>;
48
+ getWalletTokenBalance(chain: string, walletAddress: string, tokenAddress: string): Promise<unknown>;
49
+ getTrendingSwaps(chain: string, interval: string, extra?: Record<string, string | number | string[]>): Promise<unknown>;
50
+ getUserInfo(): Promise<unknown>;
51
+ swap(params: SwapParams): Promise<unknown>;
52
+ queryOrder(orderId: string, chain: string): Promise<unknown>;
53
+ private normalRequest;
54
+ private criticalRequest;
55
+ private doFetch;
56
+ private parseResponse;
57
+ }
58
+ //# sourceMappingURL=OpenApiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiClient.d.ts","sourceRoot":"","sources":["../../src/client/OpenApiClient.ts"],"names":[],"mappings":"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"}