关于 SunPump Meme Token Toolkit
SunPump Meme Token Toolkit 是通过 sun-cli 查询和交易 TRON meme 代币的技能,覆盖代币发行、联合曲线与 SunSwap 交易、钱包持仓、交易记录和代币数据;交易需配置钱包。
主要功能
- 01无需钱包即可发行代币
- 02通过联合曲线交易发行前代币
- 03通过 SunSwap 交易已发行代币
- 04查看钱包持仓和交易记录
- 05查询代币详情、排名及持有人
- 06使用 dry-run 预览写入操作
适用场景
- 01在 SunPump 上发行代币
- 02交易前检查代币状态并选择交易路径
- 03查看钱包持仓和 SunPump 交易
- 04检查代币元数据和持有人排名
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bofai/ skills --skill sunpump-meme-token-toolkit安装后在 Claude Code 中输入/sunpump-meme-token-toolkit确认已加载。
附带文件README.mdRELEASE_NOTES.md
详细介绍
SunPump Meme Token Skill
快速开始
此技能支持 AI Agent 通过 sun-cli 与 SunPump 交互。SunPump 是 TRON 区块链上的 Meme 代币启动平台。它涵盖终端用户需要的八种核心操作:
- 创建(发行)新的 Meme 代币(
sun sunpump launch)——由服务器端创建,无需钱包 - 通过 SunSwap 交易已上线的代币(
sun swap) - 在 SunPump 联合曲线上交易上线前的代币(
sun sunpump buy/sun sunpump sell) - 查看钱包的持仓(
sun sunpump portfolio) - 查看钱包的交易历史(
sun sunpump tx user) - 查询代币信息(
sun sunpump token get) - 查看代币排名(
sun sunpump token ranking) - 列出代币的主要持有者(
sun sunpump token holders)
上线前与上线后的判断——选择正确的交易命令:
| 代币状态 | tokenLaunchedInstant | swapPoolAddress | 使用以下命令交易 |
|---|---|---|---|
| 上线前(联合曲线) | null | null | sun sunpump buy / sun sunpump sell |
| 上线后(已迁移至 DEX) | 非 null | 非 null | sun swap |
请务必先调用 sun sunpump state <addr> 或 sun sunpump token get <addr>,确定应使用哪种方式。
前提条件
仅交易需要钱包: 在本地配置受支持的 sun-cli 钱包来源, 然后在交易前通过
sun wallet address验证公开地址。已弃用的钱包 和引导技能不是前提条件;wallet-cli 账户不会自动提供给 sun-cli 使用。 切勿在聊天中索取或展示机密信息。 所有只读 SunPump 查询(持仓、交易历史、代币信息、排名、持有者)均无需钱包。 创建代币(sun sunpump launch)由服务器端处理,也无需钱包。 在@sun-protocol/[email protected]上运行--dry-run预览无需钱包凭据。
-
安装此技能(安装一次,即可由 Claude Code / Cursor / Codex 使用):
npx skills add BofAI/skills -
验证 sun-cli:
sun --version所需版本必须为
1.2.2;该版本包含sunpump launch、联合曲线交易 以及无需钱包的--dry-run预览。如果缺少该版本或安装了其他版本,请在更改全局软件包前 先征得批准:npm install -g @sun-protocol/[email protected] -
配置钱包(写入命令所必需——
sun swap、sun sunpump buy、sun sunpump sell):export TRON_PRIVATE_KEY="your_private_key_here"其他钱包来源:
TRON_MNEMONIC或AGENT_WALLET_PASSWORD。 -
可选环境变量:
export TRON_NETWORK=mainnet # SunPump is mainnet only export TRONGRID_API_KEY=your_key export SUNPUMP_API_BASE_URL=... # override the API host if needed
AI Agent 标志
通过 AI Agent 调用 sun 时,请始终使用以下标志:
| 标志 | 用途 |
|---|---|
--json | 将机器可读的 JSON 输出到 stdout |
--yes | 跳过交互式确认提示(仅写入命令) |
--dry-run | 模拟写入操作,不发送交易 |
--fields | 将输出限制为指定的逗号分隔字段 |
--network | SunPump 必须使用 mainnet——任何其他值都会被快速拒绝 |
标准 Agent 调用模式(只读):
sun --json sunpump token get TXYZ...
写入操作(兑换),显式跳过确认:
sun --json --yes swap TRX TXYZ... 100000000
警告:SunPump 仅支持主网。 端点:
https://api-v2.sunpump.meme/pump-api。对于任何其他--network值 (包括nile和shasta),CLI 都会抛出SunPump is only available on mainnet (got "...")。 请省略--network或传入--network mainnet。
命令参考
1. 上线后交易——sun swap
SunPump 代币迁移至 SunSwap 后(tokenLaunchedInstant 非 null,且已设置 swapPoolAddress),可通过 SunSwap Universal Router 进行交易。与任何 TRC20 交易对一样,使用 sun swap 和 sun swap:quote 命令。
参数: tokenIn 和 tokenOut 接受代币符号(TRX、USDT)或 TRC20 合约地址。amountIn 的单位为 sun(最小单位——对于 TRX,1 TRX = 1_000_000)。--slippage 为小数(默认值 0.005 = 0.5%)。
步骤 A——获取报价(只读,无需钱包)
sun --json swap:quote TRX TXYZ1234567890abcdefghijklmnopqrstuv 100000000
向用户显示:amountOut、价格影响和路由。
步骤 B — 买入(TRX → Meme 代币)
sun --json --yes swap TRX TXYZ1234567890abcdefghijklmnopqrstuv 100000000 --slippage 0.01
步骤 C — 卖出(Meme 代币 → TRX)
sun --json --yes swap TXYZ1234567890abcdefghijklmnopqrstuv TRX 1000000000000000000 --slippage 0.01
注意: Meme 代币的小数位数各不相同。计算
amountIn前,请通过sun sunpump token get <address>获取代币的decimals。
大额交易先进行试运行
sun --json --yes --dry-run swap TRX TXYZ... 1000000000
警告:
--dry-run仅预览交易结构。 它不会检查余额、验证流动性池是否存在,也不会拒绝相同代币之间的兑换。 请参阅 Agent 预验证清单。
尚未上线的代币(仍在绑定曲线上,尚未上线 SunSwap)
tokenLaunchedInstant 为 null 的代币仍在 SunPump 绑定曲线上,无法通过 sun swap 进行交易。请改用 第 2 节中的上线前交易命令。低流动性的 Meme 池通常需要更高的滑点(1–5%)。
2. 上线前交易 — sun sunpump buy / sun sunpump sell
对于仍在 SunPump 绑定曲线上的代币(tokenLaunchedInstant == null,或链上状态为 TRADING/READY_TO_LAUNCH),可直接通过 SunPump 路由合约进行交易。这些命令会在首次卖出时自动处理 TRC20 授权,并接受人类可读的小数输入(CLI 会在调用合约前将 TRX 乘以 1e6、代币乘以 10^decimals 进行换算)。
步骤 A — 确认代币仍在绑定曲线上
sun --json sunpump state TXYZ1234567890abcdefghijklmnopqrstuv
返回 {state, info: {tokenAddress, launched, price, trxReserve, tokenReserve}},其中 state 为以下值之一:
| 值 | 标签 | 是否可通过 sun sunpump buy/sell 交易? |
|---|---|---|
0 | NOT_EXIST | 否(SunPump 未识别此代币) |
1 | TRADING | 是 |
2 | READY_TO_LAUNCH | 是(绑定曲线已满,即将迁移) |
3 | LAUNCHED | 否 — 请使用 sun swap |
重要:
sun-kit的 TypeScript 枚举仅列出 0–2,但已完全上线的代币在链上合约中返回 3。CLI 会将 3 映射为LAUNCHED;请相信打印出的标签,而不是原始数字。
步骤 B — 获取报价(只读,无需钱包)
sun --json sunpump quote-buy TXYZ... --trx 10
sun --json sunpump quote-sell TXYZ... --amount 1000
买入会以基础单位返回 {tokenAmount, fee}。卖出会以 Sun 返回 {trxAmount, fee}。这两种报价都不检查链上状态 — 报价成功并不意味着交易一定成功。请务必先检查 state。
步骤 C — 买入(TRX → Meme 代币)
sun --json --yes sunpump buy TXYZ... --trx 10
sun --json --yes sunpump buy TXYZ... --trx 10 --slippage 0.1 # 10% slippage
sun --json --yes sunpump buy TXYZ... --trx 10 --min-out 27955000000000000000000 # exact floor in raw units
| 标志 | 说明 |
|---|---|
--trx <amount> | 要花费的 TRX,小数(例如 10 或 1.5)— CLI 会在内部换算为 Sun |
--slippage <n> | 滑点容差,小数形式(默认值 0.05 = 5%;Meme 代币价格波动较大) |
--min-out <raw> | 最少获得的代币数量,以原始基础单位表示;优先于滑点设置 |
返回:{txResult, tokenAddress, trxSpent, expectedTokens, minTokenOut, tronscanUrl}。
步骤 D — 卖出(Meme 代币 → TRX)
sun --json --yes sunpump sell TXYZ... --amount 1000
sun --json --yes sunpump sell TXYZ... --amount 1000 --decimals 6 # non-18-decimal token
sun --json --yes sunpump sell TXYZ... --amount 1000 --slippage 0.1
| 标志 | 说明 |
|---|---|
--amount <amount> | 要卖出的代币数量,小数(例如 1000 或 12.5) |
--decimals <n> | 代币小数位数(默认值 18;不确定时请通过 sun sunpump token get 获取) |
--slippage <n> | 滑点容差,小数形式(默认值 0.05 = 5%) |
--min-out <raw> | 最少获得的 TRX 数量,以 Sun 表示;优先于滑点设置 |
返回:{txResult, tokenAddress, tokensSold, expectedTrx, minTrxOut, tronscanUrl}。
首次卖出:如果授权额度不足,SDK 会在实际卖出交易前自动发送 TRC20 approve(SunPump, 2^256-1)。tronscanUrl 仅返回最终卖出交易的哈希。
执行前进行试运行
sun --json --yes --dry-run sunpump buy TXYZ... --trx 10
sun --json --yes --dry-run sunpump sell TXYZ... --amount 1000
打印已解析的参数(TRX/Sun 换算、计算得出的 minOut、滑点、网络),但不会广播交易。可用于向用户准确展示即将发送的内容。
网络
SunPump 仅支持主网。如果 --network 的值不是主网,CLI 会拒绝并显示
SunPump is only available on mainnet (got "...")。路由合约:
TTfvyrAz86hbZk5iDpKD78pqLGgi8C7AAw。
3. 用户持仓检查 — sun sunpump portfolio
列出钱包持有的所有由 SunPump 跟踪的代币,包括以 TRX 计价的价值和投资组合占比。
sun --json sunpump portfolio TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW
选项:
| 标志 | 描述 |
|---|---|
--include-zero | 包含余额为零的代币 |
--min-trx <amount> | 要纳入的最低 TRX 等值 |
--page <n> / --size <n> | 分页 |
--sort <field> | 排序字段(例如 valueInTrx,desc) |
常见用法
列出价值至少为 100 TRX 的前 20 个持仓:
sun --json sunpump portfolio TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --min-trx 100 --size 20 --sort valueInTrx,desc
默认表格列:Symbol | Address | Balance | Price (TRX) | Value (TRX) | Percent。
4. 交易历史 — sun sunpump tx user
列出钱包的 SunPump 兑换活动。每行代表在 SunPump 联合曲线或其 SunSwap 池上的一次买入或卖出。
sun --json sunpump tx user TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --size 20
筛选选项:
| 标志 | 描述 |
|---|---|
--swap-type <BUY|SELL> | 方向筛选 |
--pool <address> | 指定兑换池 |
--tx-hash <hash> | 查询单笔交易 |
--block <n> | 按区块编号筛选 |
--start-time <epoch> / --end-time <epoch> | 时间范围(epoch 秒) |
--page <n> / --size <n> | 分页 |
--sort <field> | 排序字段(例如 txDateTime,desc) |
常见用法
仅查看最近 20 笔买入:
sun --json sunpump tx user TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --swap-type BUY --size 20
查看某个钱包在指定时间段内的交易:
sun --json sunpump tx user TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --start-time 1747699200 --end-time 1747785600 --size 50
NOTE:
--start-time/--end-time使用 epoch 秒,不是毫秒。使用date -j -f "%Y-%m-%d" "2026-05-20" +%s(macOS)或date -d "2026-05-20" +%s(Linux)转换 ISO 日期。
默认表格列:Time | Type | From → To | Volume | TxHash。
5. 代币信息 — sun sunpump token get
根据合约地址获取 SunPump 代币的完整元数据。返回价格、市值、24 小时交易量、持有者数量、总供应量、所有者、兑换池地址、社交链接和上线状态。
sun --json sunpump token get TXYZ1234567890abcdefghijklmnopqrstuv
在易读模式下(不使用 --json),CLI 会输出带标签的详细信息视图;在 JSON 模式下,则返回原始代币对象。
需要查看的字段
| 字段 | 含义 |
|---|---|
contractAddress | Meme 代币的 TRC20 地址 |
symbol、name、description | 显示元数据 |
priceInTrx、priceInUsd | 当前价格 |
marketCap、volume24Hr | 市场指标(USD) |
priceChange24Hr | 24 小时价格变化(小数,例如 0.18 = +18%) |
holders、totalSupply | 分布统计数据 |
tokenCreatedInstant | 联合曲线创建时间 |
tokenLaunchedInstant | SunSwap 上线时间(尚未上线时为 null) |
swapPoolAddress | 用于交易的池(上线前为 null) |
pumpPercentage | 联合曲线完成百分比(仅上线前) |
ownerAddress | 创建者的钱包 |
websiteUrl、twitterUrl、telegramUrl、listOn | 社交链接和 CEX 上架信息 |
限制输出,以适用于上下文较短的响应
sun --json --fields symbol,priceInUsd,marketCap,volume24Hr,priceChange24Hr sunpump token get TXYZ...
6. 排名 — sun sunpump token ranking
按指定指标获取排名靠前的 SunPump 代币。必须指定 --type。
sun --json sunpump token ranking --type MARKET_CAP --size 10
有效的 --type 值(区分大小写):
| 值 | 含义 |
|---|---|
MARKET_CAP | 按市值排列的最大代币 |
VOLUME_24H | 24 小时交易量最高的代币 |
PRICE_CHANGE_24H | 24 小时涨幅最高的代币 |
**IMPORTANT:**API 不接受其他类型值。调用前务必验证
--type。
选项:
| 标志 | 描述 |
|---|---|
--size <n> | 条目数量(默认值取决于服务端,通常最多为 50) |
常见用法
按市值列出前 10 个:
sun --json sunpump token ranking --type MARKET_CAP --size 10
按 24 小时交易量列出前 10 个:
sun --json sunpump token ranking --type VOLUME_24H --size 10
列出 24 小时涨幅最高的前 10 个:
sun --json sunpump token ranking --type PRICE_CHANGE_24H --size 10
默认表格列:Symbol | Name | Address | Price | MCap | Volume24h。
7. 持仓排名 — sun sunpump token holders
列出持有指定 SunPump 代币的顶级钱包,并显示余额和占比。
sun --json sunpump token holders TXYZ1234567890abcdefghijklmnopqrstuv --size 20
选项:
| 标志 | 说明 |
|---|---|
--include-zero | 包含余额为零的钱包 |
--page <n> / --size <n> | 分页 |
--sort <field> | 排序字段(默认按余额降序) |
默认表格列:Holder | Type | Balance | Percent。
注意: 持仓端点的
percent字段已经是百分比值(例如,38.51= 38.51%),而代币列表端点返回的是小数(例如,0.3851= 38.51%)。CLI 会自动检测其格式,但如果你读取原始 JSON,请先查看数值大小再进行解读。
如果 holders 结果看起来不完整,也可以调用 sunpump token get <address>,并读取 holders 字段获取总数。
8. 创建代币 — sun sunpump launch
通过 Agent 端点(POST /ai/agentTokenLaunch)在 SunPump 上创建新的 meme 代币。创建操作在服务端执行:平台会为创建交易签名并广播,因此无需钱包。新代币会从绑定曲线开始(状态为 1 TRADING),并可立即通过 sun sunpump buy 买入。
sun --json --yes sunpump launch \
--name "My Meme" \
--symbol MEME \
--description "The dankest meme on TRON" \
--image ./logo.png \
--twitter-url https://x.com/mymeme \
--telegram-url https://t.me/mymeme \
--website-url https://mymeme.example
| 标志 | 必填 | 说明 |
|---|---|---|
--name <name> | ✓ | 代币名称 |
--symbol <symbol> | ✓ | 代币符号(代码) |
--description <text> | ✓ | 代币描述 |
--image <path> | 强烈建议 | Logo 图片文件 — 在本地读取并以 base64 形式发送 |
--image-base64 <data> | Logo 的原始 base64 字符串(不带 data-URI 前缀;优先于 --image) | |
--twitter-url <url> | Twitter/X URL | |
--telegram-url <url> | Telegram URL | |
--website-url <url> | 网站 URL | |
--tweet-username <name> | 与此次发布关联的推文用户名 |
返回完整的代币对象,包括 contractAddress、createTxHash 和 logoUrl。
警告:请提供 Logo。 已发现不带
--image/--image-base64发布可能会失败,并返回含义不明的服务器错误Invoke third part error。请务必附上 Logo 图片;如果遇到此错误,请使用--image <path>重试。
注意:
--json模式下的时间戳问题。 与 GET 端点(使用 epoch 秒)不同,发布端点会将tokenCreatedInstant/tokenLaunchedInstant/firstReachHillInstant序列化为 epoch 毫秒 ÷ 1e6(例如,1780476.327)。CLI 仅在人类可读视图中对这些值进行标准化;在--json模式下,你会获得原始值。乘以 1000 即可得到 epoch 秒。
警告:仅限主网。 与每个
sunpump子命令一样,launch仅限主网。sunpump命令组会运行一个preAction守卫;对于任何非主网的--network,都会抛出SunPump is only available on mainnet (got "...")— 在执行操作之前,因此即使使用--dry-run也会触发。请移除--network,或传入--network mainnet。
先试运行
sun --json --yes --dry-run sunpump launch --name "My Meme" --symbol MEME --description "..." --image ./logo.png
打印解析后的参数(包括图片大小),但不调用 API — 可用此功能向用户准确展示将要创建的内容。主网守卫仍然适用(--dry-run --network nile 会在预览前报错)。
创建后验证
sun --json sunpump token get <contractAddress> # metadata is live
sun --json sunpump state <contractAddress> # expect state 1 (TRADING)
Agent 预验证清单
执行任何写入操作(sun swap、sun sunpump buy、sun sunpump sell、sun sunpump launch)之前,AI Agent 必须执行以下检查:
步骤 0 — 决定使用哪种交易路径
sun --json sunpump state <memeTokenAddress>
state == 0(NOT_EXIST)→ 中止:SunPump 中不存在此代币state == 1(TRADING)或2(READY_TO_LAUNCH)→ 使用sun sunpump buy/sellstate == 3(LAUNCHED)→ 使用sun swap
sun sunpump buy / sun sunpump sell 之前(发射前路径)
-
检查 TRX 余额是否足以支付
--trx并预留 Gas 费用(建议至少预留 1 TRX):sun --json wallet balances -
卖出时,确认代币余额 ≥
--amount。SunPump 投资组合 API 可能尚未包含该代币;请直接查询 TRC20 余额:sun --json contract read <tokenAddress> balanceOf --args "[\"<walletAddress>\"]" -
传入卖出的
--amount前,先确定代币精度。默认精度为 18,但可能有所不同:sun --json sunpump token get <memeTokenAddress> # read decimals sun --json --yes sunpump sell <token> --amount 1000 --decimals <n> -
验证滑点是否在 0.005–0.10(0.5%–10%)范围内。默认值为 5%,适用于 Meme 代币;超出此范围时,未经用户确认不得继续。
-
--network必须为mainnet。 CLI 遇到任何其他值都会立即报错。
sun swap 之前(发射后路径)
-
检查余额是否充足:
sun --json wallet balances将代币余额与
amountIn比较。余额不足时中止。 -
确认代币已发射:
sun --json sunpump token get <memeTokenAddress>tokenLaunchedInstant必须非 null,且必须设置swapPoolAddress。如果尚未发射,则改用sun sunpump buy/sell路径。 -
确认 tokenIn ≠ tokenOut。
--dry-run不会拒绝同代币兑换。 -
验证滑点是否合理。 Meme 代币通常需要 1–5% 的滑点;超出 0.001(0.1%)–0.10(10%)范围时,标记以供审核。
-
验证
--network。对于一般 TRC20 交易对,sun swap接受mainnet/nile/shasta,但经 SunPump 迁移的代币仍仅支持主网——在非主网上报价前,请检查迁移目标。
sun sunpump launch 之前(代币创建)
-
向用户确认全部三个必填字段:
--name、--symbol、--description。绝不要编造或自动填入这些信息——它们是永久的链上元数据。 -
必须提供 Logo 图片。 不提供图片进行发射通常会因
Invoke third part error而失败。继续操作前,请向用户索取图片文件路径(或 base64 数据);确认文件存在且图片大小合理(建议使用 < 1 MB 的 PNG/JPG)。 -
检查是否已有相同 symbol 的代币,避免产生容易混淆的重复项:
sun --json sunpump token search <symbol>如果存在相似项,请展示给用户并确认其意图。
-
先进行试运行,并在实际调用前向用户展示确切的请求内容:
sun --json --yes --dry-run sunpump launch --name "..." --symbol ... --description "..." --image ./logo.png -
--network必须为mainnet。 SunPump 仅支持在主网上发射;即使使用--dry-run,sunpump组的preAction守卫也会对任何其他值报错。请移除--network或传入--network mainnet。 -
获得用户明确确认后,仅发射一次。 代币创建不可逆——如果发射可能已成功,绝不要重试;请先使用
sun sunpump token search <symbol>验证。
只读调用前
- 验证
token ranking的--type是否为MARKET_CAP、VOLUME_24H或PRICE_CHANGE_24H。 - 将用户提供的日期转换为 Unix 时间戳秒(而非毫秒),再传入
tx user --start-time / --end-time。 - 确认地址是 TRON base58 格式(
T...,共 34 个字符)。无效地址会返回空结果或不透明的 API 错误。
推荐工作流
模式 1 — 购买 Meme 代币(自动选择发射前/后路径)
步骤 1 — 确定交易路径:
sun --json sunpump state TXYZ...
同时获取元数据以供向用户展示预览:
sun --json sunpump token get TXYZ...
向用户展示:价格、24 小时涨跌幅、市值、持有者,以及适用时的前 5 大持有者集中度警告。
模式 1a — 通过 sun swap 在发射后买入
sun --json swap:quote TRX TXYZ... 100000000 # quote (no wallet)
sun --json wallet balances # check funds
sun --json --yes swap TRX TXYZ... 100000000 --slippage 0.01
模式 1b — 通过 sun sunpump buy 在发射前买入
sun --json sunpump quote-buy TXYZ... --trx 10 # quote (no wallet)
sun --json wallet balances # check funds
sun --json --yes sunpump buy TXYZ... --trx 10 # default 5% slippage
输入使用十进制数:--trx 10 表示 10 TRX,而不是 10 Sun。默认滑点为 0.05(5%)——Meme 代币的 bonding 曲线交易变化很快。使用 --slippage 0.005 调低滑点,或使用 --min-out <raw> 将最低值锁定为基本单位。
模式 2 — 卖出仓位(自动路由至上线前/上线后)
步骤 1 — 列出用户的仓位:
sun --json sunpump portfolio TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --min-trx 1 --size 50
步骤 2 — 用户选择代币。确定路径:
sun --json sunpump state TXYZ...
sun --json sunpump token get TXYZ... # also read `decimals` for sell amount scaling
模式 2a — 上线后通过 sun swap 卖出
sun --json swap:quote TXYZ... TRX <amountInSmallestUnits>
sun --json --yes swap TXYZ... TRX <amount> --slippage 0.02
模式 2b — 上线前通过 sun sunpump sell 卖出
sun --json sunpump quote-sell TXYZ... --amount 1000 --decimals 18
sun --json --yes sunpump sell TXYZ... --amount 1000 --decimals 18
首次卖出某个代币时会自动触发 TRC20 approve 交易 — 仅返回最终卖出交易哈希。
模式 3 — 发现与研究
当前涨幅最高的代币:
sun --json sunpump token ranking --type PRICE_CHANGE_24H --size 10
检查其中一个:
sun --json sunpump token get TXYZ...
检查持有者集中度:
sun --json sunpump token holders TXYZ... --size 20
少数钱包合计持有 >50% 是危险信号 — 应向用户指出这一点。
模式 4 — 审查钱包
当前持仓:
sun --json sunpump portfolio T... --min-trx 1 --sort valueInTrx,desc --size 50
近期交易:
sun --json sunpump tx user T... --size 20 --sort txDateTime,desc
仅筛选买入交易:
sun --json sunpump tx user T... --swap-type BUY --size 20
模式 5 — 发布新代币
**步骤 1 — 收集并向用户确认元数据:**名称、符号、描述、徽标图片、可选的社交链接。
步骤 2 — 检查符号是否冲突:
sun --json sunpump token search MEME
步骤 3 — 试运行并向用户展示载荷:
sun --json --yes --dry-run sunpump launch --name "My Meme" --symbol MEME --description "..." --image ./logo.png
步骤 4 — 用户确认 → 发布(仅一次):
sun --json --yes sunpump launch --name "My Meme" --symbol MEME --description "..." --image ./logo.png \
--twitter-url https://x.com/mymeme --telegram-url https://t.me/mymeme --website-url https://mymeme.example
步骤 5 — 验证并交付:
sun --json sunpump token get <contractAddress>
sun --json sunpump state <contractAddress> # expect 1 (TRADING)
向用户展示:合约地址、创建交易哈希(createTxHash)、徽标 URL,以及 Tronscan 链接(https://tronscan.org/#/transaction/<createTxHash>)。代币现已上线于联合曲线,并可通过 模式 1b 买入。
安全规则
关键:绝不显示私钥
**禁止:**私钥、助记词、助记短语、包含机密的环境变量值、Agent 钱包密码。
**允许:**公开钱包地址、交易哈希、代币余额、价格。
关键:交易前始终先预览
AI Agent 绝不能在未先向用户展示预览的情况下执行 sun swap 或 sun sunpump buy/sell。正确顺序(两种路径均适用):
sun --json sunpump state <address>— 确定交易路径(上线前/上线后)sun --json sunpump token get <address>— 展示元数据、持有者集中度、精度- 报价 —
sun --json swap:quote ...或sun --json sunpump quote-buy/sell ...— 展示预期输出、费用、价格影响 sun --json wallet balances— 确认资金充足- 请用户确认
- 使用
--yes执行:sun --json --yes swap ...或sun --json --yes sunpump buy/sell ...
**警告:**首次调用时不要传入
--yes。仅在用户查看预览并确认后才使用--yes。
关键:发布代币前始终先预览
sun sunpump launch 会创建永久的链上代币。正确顺序:
- 向用户收集
--name/--symbol/--description/ 徽标 — 绝不自行编造 sun --json sunpump token search <symbol>— 指出符号冲突sun --json --yes --dry-run sunpump launch ...— 向用户展示准确载荷- 请用户确认
- 使用
--yes执行一次
关键:防止重复交易
- 一条用户命令 = 一笔交易
- 成功完成交换或发布后,将其标记为已完成
- 绝不静默重试成功的交易
- 对于
launch:如果调用出现不明确的错误(超时、模糊的服务器错误),重试前先检查sun sunpump token search <symbol>— 代币可能已经存在
关键:强调持有者集中度
Meme 代币容易遭遇跑路骗局。向用户提供代币信息时,也要一并说明持有者集中度。如果前 5 大持有者合计持有 >40% 的供应量,应明确提醒用户。
用户沟通协议
交换前:
Token: PEPE (TXYZ...)
Price: $0.000123 • 24h: +18.4% • MCap: $2.4M • Holders: 1,420
Top 5 hold: 31.2%
Quote: 100 TRX → 812,344 PEPE
Route: TRX → WTRX → PEPE
Price Impact: 0.42%
Slippage tolerance: 1%
Proceed with buy?
成功后:
Swap completed.
Transaction: abc123...
Explorer: https://tronscan.org/#/transaction/abc123...
Bought: 100 TRX → 812,344 PEPE
发布代币前:
About to create a new SunPump token (irreversible):
Name: My Meme
Symbol: MEME
Description: The dankest meme on TRON
Logo: ./logo.png (24,310 bytes)
Socials: x.com/mymeme • t.me/mymeme • mymeme.example
No similarly-named token found on SunPump.
Proceed with launch?
成功发布后:
Token created.
Contract: TXYZ...
Create Tx: abc123...
Explorer: https://tronscan.org/#/transaction/abc123...
Logo: https://.../logo.png
State: TRADING (bonding curve) — buyable via `sun sunpump buy`
已知限制
| 问题 | 受影响的命令 | 行为 | Agent 的解决方法 |
|---|---|---|---|
--dry-run 不会检查余额 | swap | 即使余额不足,也会返回预览 | 先检查 wallet balances |
| 不会拒绝相同代币的兑换 | swap | 在 dry-run 中接受 TRX→TRX | 调用前确认 tokenIn ≠ tokenOut |
| 尚未上线的代币不在 SunSwap 上 | 使用 SunPump 代币执行 swap | 交易池不存在;链上兑换会失败 | 改用 sun sunpump buy/sell——通过 sunpump state 确认 |
sunpump quote-buy/sell 会忽略状态 | sunpump quote-* | 即使代币处于 LAUNCHED 状态也会返回价格(quote-sell 可能回滚) | 报价前务必调用 sunpump state |
| sun-kit 将状态 2 与 3 的枚举标签弄反 | sunpump.buyToken/sellToken 内部检查 | TS 枚举中 LAUNCHED=2,但合约对已上线代币返回 3 | CLI 会重新标注:以打印的 LAUNCHED (3) 标签为准,而非原始整数 |
| 首次卖出需要 TRC20 approve | sunpump sell | 会执行 2 笔链上交易(approve + sell),但只返回 sell 交易哈希 | 这是预期行为;后续卖出会使用缓存的 MaxUint256 授权额度 |
| SunPump 仅支持主网 | 所有 sunpump 子命令 | 在任何其他 --network 上,CLI 都会抛出 SunPump is only available on mainnet | 删除 --network,或传入 --network mainnet;nile/shasta API 主机无法从公网访问 |
用于排名的 --type 无效 | token ranking | API 会返回不明显的错误 | 只能传入 MARKET_CAP、VOLUME_24H 或 PRICE_CHANGE_24H |
--start-time / --end-time 的单位是秒,而非毫秒 | tx user、tx token | 毫秒值会导致结果为空 | 使用 Unix 时间戳秒数 |
percent 字段的数值大小因端点而异 | token holders 与 token list | holders 端点返回 38.51,list 端点返回 0.3851 | CLI 会进行标准化,但读取原始 JSON 时请检查数值大小 |
| 不带徽标启动会以不明确的方式失败 | sunpump launch | 启动时未附带图片,服务器会返回 Invoke third part error | 务必传入 --image <path>(或 --image-base64) |
启动时的 *Instant 字段使用非标准单位 | sunpump launch(--json 模式) | tokenCreatedInstant 等字段返回的值是 Unix 毫秒时间戳 ÷ 1e6(例如 1780476.327),而非 Unix 秒数 | 乘以 1000 转换为 Unix 秒数;CLI 仅在人类可读模式下进行标准化 |
故障排除
"sun: command not found"
npm install -g @sun-protocol/[email protected]
SunPump 查询结果为空
- 确认地址是有效的 TRON Base58 地址(
T...,34 个字符) - 不带筛选条件运行相同命令,找出哪个选项排除了所有结果
- 对于
tx user的时间范围,确认时间戳使用 Unix 秒数
SunPump 代币兑换失败
- 先运行
sun sunpump state <address>。如果状态为1(TRADING)或2(READY_TO_LAUNCH),请使用sun sunpump buy/sell,而非sun swap。 - 如果状态为
3(LAUNCHED),但swap仍然失败,请尝试增大--slippage(meme 交易池通常需要 1–5%)。 - 确保钱包中有 ≥ 100 TRX 用于支付 Gas。
sun sunpump buy/sell 因 SUNPUMP_LAUNCHED 而失败
该代币已迁移至 SunSwap。请改用 sun swap。
sun sunpump sell 的 quote-sell 回滚
该代币处于状态 3(LAUNCHED)。代币迁移后,联合曲线合约会拒绝卖出。请改用 sun swap。
sun sunpump launch 因 Invoke third part error 而失败
启动时很可能未附带徽标图片。请使用 --image <path>(或 --image-base64 <data>)重试。如果仍然失败,请确认图片是有效的 PNG/JPG,并尝试使用较小的文件。
sun sunpump launch 超时或返回含糊的错误
代币可能仍已在服务器端创建。重试前,请检查:
sun --json sunpump token search <symbol>
如果代币已存在,则视为启动成功——不要再次启动。
"Wallet not configured"(仅写入命令)
设置 TRON_PRIVATE_KEY、TRON_MNEMONIC 或 AGENT_WALLET_PASSWORD 其中之一。只读 sunpump 命令、sunpump launch 和 --dry-run 预览都不需要钱包。
网络错误/超时
- 检查网络连接
- 使用主网时,设置
TRONGRID_API_KEY - SunPump 仅支持主网——测试网 API 主机仅供内部使用,无法从公网访问
- Skill 版本:2.0.0
- 运行时依赖:
@sun-protocol/[email protected]最后更新:2026-07-09 维护者:Bank of AI 团队