mcpField
S
SunPump Meme Token Toolkit

SunPump Meme Token Toolkit

github.com/bofai其他16366 次安装6 天前更新
代码仓库

关于 SunPump Meme Token Toolkit

SunPump Meme Token Toolkit 是通过 sun-cli 查询和交易 TRON meme 代币的技能,覆盖代币发行、联合曲线与 SunSwap 交易、钱包持仓、交易记录和代币数据;交易需配置钱包。

主要功能

  1. 01无需钱包即可发行代币
  2. 02通过联合曲线交易发行前代币
  3. 03通过 SunSwap 交易已发行代币
  4. 04查看钱包持仓和交易记录
  5. 05查询代币详情、排名及持有人
  6. 06使用 dry-run 预览写入操作

适用场景

  1. 01在 SunPump 上发行代币
  2. 02交易前检查代币状态并选择交易路径
  3. 03查看钱包持仓和 SunPump 交易
  4. 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 代币启动平台。它涵盖终端用户需要的八种核心操作:

  1. 创建(发行)新的 Meme 代币(sun sunpump launch)——由服务器端创建,无需钱包
  2. 通过 SunSwap 交易已上线的代币(sun swap)
  3. 在 SunPump 联合曲线上交易上线前的代币(sun sunpump buy / sun sunpump sell)
  4. 查看钱包的持仓(sun sunpump portfolio)
  5. 查看钱包的交易历史(sun sunpump tx user)
  6. 查询代币信息(sun sunpump token get)
  7. 查看代币排名(sun sunpump token ranking)
  8. 列出代币的主要持有者(sun sunpump token holders)

上线前与上线后的判断——选择正确的交易命令:

代币状态tokenLaunchedInstantswapPoolAddress使用以下命令交易
上线前(联合曲线)nullnullsun sunpump buy / sun sunpump sell
上线后(已迁移至 DEX)非 null非 nullsun 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 预览无需钱包凭据。

  1. 安装此技能(安装一次,即可由 Claude Code / Cursor / Codex 使用):

    npx skills add BofAI/skills
    
  2. 验证 sun-cli:

    sun --version
    

    所需版本必须为 1.2.2;该版本包含 sunpump launch、联合曲线交易 以及无需钱包的 --dry-run 预览。如果缺少该版本或安装了其他版本,请在更改全局软件包前 先征得批准:

    npm install -g @sun-protocol/[email protected]
    
  3. 配置钱包(写入命令所必需——sun swap、sun sunpump buy、sun sunpump sell):

    export TRON_PRIVATE_KEY="your_private_key_here"
    

    其他钱包来源:TRON_MNEMONIC 或 AGENT_WALLET_PASSWORD。

  4. 可选环境变量:

    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将输出限制为指定的逗号分隔字段
--networkSunPump 必须使用 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 交易?
0NOT_EXIST否(SunPump 未识别此代币)
1TRADING是
2READY_TO_LAUNCH是(绑定曲线已满,即将迁移)
3LAUNCHED否 — 请使用 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 模式下,则返回原始代币对象。

需要查看的字段
字段含义
contractAddressMeme 代币的 TRC20 地址
symbol、name、description显示元数据
priceInTrx、priceInUsd当前价格
marketCap、volume24Hr市场指标(USD)
priceChange24Hr24 小时价格变化(小数,例如 0.18 = +18%)
holders、totalSupply分布统计数据
tokenCreatedInstant联合曲线创建时间
tokenLaunchedInstantSunSwap 上线时间(尚未上线时为 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_24H24 小时交易量最高的代币
PRICE_CHANGE_24H24 小时涨幅最高的代币

**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/sell
  • state == 3(LAUNCHED)→ 使用 sun swap
sun sunpump buy / sun sunpump sell 之前(发射前路径)
  1. 检查 TRX 余额是否足以支付 --trx 并预留 Gas 费用(建议至少预留 1 TRX):

    sun --json wallet balances
    
  2. 卖出时,确认代币余额 ≥ --amount。SunPump 投资组合 API 可能尚未包含该代币;请直接查询 TRC20 余额:

    sun --json contract read <tokenAddress> balanceOf --args "[\"<walletAddress>\"]"
    
  3. 传入卖出的 --amount 前,先确定代币精度。默认精度为 18,但可能有所不同:

    sun --json sunpump token get <memeTokenAddress>  # read decimals
    sun --json --yes sunpump sell <token> --amount 1000 --decimals <n>
    
  4. 验证滑点是否在 0.005–0.10(0.5%–10%)范围内。默认值为 5%,适用于 Meme 代币;超出此范围时,未经用户确认不得继续。

  5. --network 必须为 mainnet。 CLI 遇到任何其他值都会立即报错。

sun swap 之前(发射后路径)
  1. 检查余额是否充足:

    sun --json wallet balances
    

    将代币余额与 amountIn 比较。余额不足时中止。

  2. 确认代币已发射:

    sun --json sunpump token get <memeTokenAddress>
    

    tokenLaunchedInstant 必须非 null,且必须设置 swapPoolAddress。如果尚未发射,则改用 sun sunpump buy / sell 路径。

  3. 确认 tokenIn ≠ tokenOut。 --dry-run 不会拒绝同代币兑换。

  4. 验证滑点是否合理。 Meme 代币通常需要 1–5% 的滑点;超出 0.001(0.1%)–0.10(10%)范围时,标记以供审核。

  5. 验证 --network。对于一般 TRC20 交易对,sun swap 接受 mainnet / nile / shasta,但经 SunPump 迁移的代币仍仅支持主网——在非主网上报价前,请检查迁移目标。

sun sunpump launch 之前(代币创建)
  1. 向用户确认全部三个必填字段:--name、--symbol、--description。绝不要编造或自动填入这些信息——它们是永久的链上元数据。

  2. 必须提供 Logo 图片。 不提供图片进行发射通常会因 Invoke third part error 而失败。继续操作前,请向用户索取图片文件路径(或 base64 数据);确认文件存在且图片大小合理(建议使用 < 1 MB 的 PNG/JPG)。

  3. 检查是否已有相同 symbol 的代币,避免产生容易混淆的重复项:

    sun --json sunpump token search <symbol>
    

    如果存在相似项,请展示给用户并确认其意图。

  4. 先进行试运行,并在实际调用前向用户展示确切的请求内容:

    sun --json --yes --dry-run sunpump launch --name "..." --symbol ... --description "..." --image ./logo.png
    
  5. --network 必须为 mainnet。 SunPump 仅支持在主网上发射;即使使用 --dry-run,sunpump 组的 preAction 守卫也会对任何其他值报错。请移除 --network 或传入 --network mainnet。

  6. 获得用户明确确认后,仅发射一次。 代币创建不可逆——如果发射可能已成功,绝不要重试;请先使用 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...
  • state == 3(LAUNCHED)→ 按照模式 1a操作
  • state == 1 或 2(仍处于 bonding 状态)→ 按照模式 1b操作
  • state == 0(NOT_EXIST)→ 中止

同时获取元数据以供向用户展示预览:

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。正确顺序(两种路径均适用):

  1. sun --json sunpump state <address> — 确定交易路径(上线前/上线后)
  2. sun --json sunpump token get <address> — 展示元数据、持有者集中度、精度
  3. 报价 — sun --json swap:quote ... 或 sun --json sunpump quote-buy/sell ... — 展示预期输出、费用、价格影响
  4. sun --json wallet balances — 确认资金充足
  5. 请用户确认
  6. 使用 --yes 执行:sun --json --yes swap ... 或 sun --json --yes sunpump buy/sell ...

**警告:**首次调用时不要传入 --yes。仅在用户查看预览并确认后才使用 --yes。

关键:发布代币前始终先预览

sun sunpump launch 会创建永久的链上代币。正确顺序:

  1. 向用户收集 --name / --symbol / --description / 徽标 — 绝不自行编造
  2. sun --json sunpump token search <symbol> — 指出符号冲突
  3. sun --json --yes --dry-run sunpump launch ... — 向用户展示准确载荷
  4. 请用户确认
  5. 使用 --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,但合约对已上线代币返回 3CLI 会重新标注:以打印的 LAUNCHED (3) 标签为准,而非原始整数
首次卖出需要 TRC20 approvesunpump sell会执行 2 笔链上交易(approve + sell),但只返回 sell 交易哈希这是预期行为;后续卖出会使用缓存的 MaxUint256 授权额度
SunPump 仅支持主网所有 sunpump 子命令在任何其他 --network 上,CLI 都会抛出 SunPump is only available on mainnet删除 --network,或传入 --network mainnet;nile/shasta API 主机无法从公网访问
用于排名的 --type 无效token rankingAPI 会返回不明显的错误只能传入 MARKET_CAP、VOLUME_24H 或 PRICE_CHANGE_24H
--start-time / --end-time 的单位是秒,而非毫秒tx user、tx token毫秒值会导致结果为空使用 Unix 时间戳秒数
percent 字段的数值大小因端点而异token holders 与 token listholders 端点返回 38.51,list 端点返回 0.3851CLI 会进行标准化,但读取原始 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 团队

评论

支持 Markdown