mcpField
G
gate-exchange-staking

gate-exchange-staking

github.com/gate其他48153 次安装18 周前更新
代码仓库

关于 gate-exchange-staking

gate-exchange-staking 是通过 gate-cli 查询和管理 Gate 交易所质押产品的技能,面向需要查看仓位、奖励、产品和订单的用户。它也支持在确认产品和参数后提交质押或赎回操作。

主要功能

  1. 01查询质押仓位与可赎回数量
  2. 02查看奖励记录和质押产品
  3. 03查询质押及赎回订单
  4. 04通过 gate-cli 提交质押或赎回

适用场景

  1. 01检查当前质押资产和可赎回数量
  2. 02查看奖励收入或历史订单
  3. 03选择产品并发起质押或赎回

MCP 相关

技能通过 gate-cli 执行只读查询和质押操作;输入将这些命令列为 MCP 工具,但未描述 MCP 服务端实现。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gate/gate-skills --skill gate-exchange-staking

安装后在 Claude Code 中输入/gate-exchange-staking确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
README.md
setup.sh
references/
gate-cli.md
mcp.md
scenarios.md
staking-assets.md
staking-coins.md
staking-list.md
staking-swap.md

详细介绍

解析 gate-cli(二进制路径)

按以下顺序解析 gate-cli:(1) command -v gate-cli 和 gate-cli --version 均成功;(2) 如果 ${HOME}/.local/bin/gate-cli 可执行,则使用该路径;(3) 如果 ${HOME}/.openclaw/skills/bin/gate-cli 可执行,则使用该路径。规范规则:exchange-runtime-rules.md §4(或 gate-runtime-rules.md §4)。

Gate Staking Query Suite

通用规则

⚠️ 停止 — 继续操作前,你必须阅读并严格遵守共享运行时规则。 在阅读完所有规则之前,请勿选择或调用任何工具。这些规则具有最高优先级。 → 阅读 gate-runtime-rules.md

  • 仅使用此技能中明确列出的 gate-cli 命令。 对于这些工作流,不得运行此处未记录的命令,即使其他接口提供了这些命令也不例外。

技能依赖项

使用的 gate-cli 命令

查询操作(只读)

  • gate-cli cex earn staking assets
  • gate-cli cex earn staking awards
  • gate-cli cex earn staking find
  • gate-cli cex earn staking orders

执行操作(写入)

  • gate-cli cex earn staking swap
身份验证
  • 交互式文件配置: 如果主机上未同时设置 GATE_API_KEY 和 GATE_API_SECRET,请运行 gate-cli config init,按照向导完成 API 密钥、密钥、配置文件和默认值的设置(参见 gate-cli)。
  • 环境变量 / 标志: 如果凭据已提供,则不需要运行 gate-cli config init — 例如,主机上已设置 GATE_API_KEY 和 GATE_API_SECRET,或在支持的情况下使用 --api-key / --api-secret — 绝不要要求用户在聊天中粘贴密钥。
  • 权限: Earn:Write
  • 门户: 在聊天之外创建或轮换密钥:https://www.gate.com/myaccount/profile/api-key/manage
安装检查
  • 必需项: gate-cli(如果缺失,请在此技能目录中运行 sh ./setup.sh;可选 GATE_CLI_SETUP_MODE=release)。
  • 如果按名称调用 gate-cli,请将 $HOME/.openclaw/skills/bin 添加到 PATH(或添加 setup.sh 安装该程序的目录)。
  • 凭据: 如果主机上同时设置了非空的 GATE_API_KEY 和 GATE_API_SECRET,则不要要求运行 gate-cli config init — 这对 gate-cli 来说是等效的有效配置。如果两者均未设置或为空,则提醒操作员运行 gate-cli config init,或在技能库中对应的技能里配置 GATE_API_KEY / GATE_API_SECRET(绝不要要求用户在聊天中粘贴密钥)。
  • 健全性检查: 在进行经过身份验证的调用之前,请勿继续操作;先确认 CLI 行为符合预期(例如运行 gate-cli --version,或运行此技能中的只读 gate-cli cex ... 命令),并确认凭据已解析,然后再执行变更操作。

执行模式

阅读并严格遵守 references/gate-cli.md,然后执行此技能的质押工作流。

  • SKILL.md 保留质押意图路由和场景边界。
  • references/gate-cli.md 是关于查询 / 操作分离、确认关卡和结果验证的权威 gate-cli 执行规范。

模块概览

模块描述触发关键词
持仓查询质押持仓、余额、可用与锁定资产position、balance、staked、staking assets、holdings、redeemable
奖励查询奖励历史、昨日及每月收益reward、earning、profit、income、yesterday earnings、monthly earnings
产品发现可用的质押产品、APY 和最低金额products、available、APY、stakeable coins、high yield、flexible
订单历史查询质押/赎回订单列表和分页history、orders、transactions、staking records、redemption records
质押 / 赎回通过兑换执行质押或赎回(需要 pid)stake、redeem、unstake、stake 100 USDT、redeem my ETH、swap staking

铸造:视为立即质押。转到相同的质押工作流:读取 references/staking-swap.md,解析产品(pid)和金额,然后调用 gate-cli cex earn staking swap,并设置 side=0。对于 GUSD 产品,必须让用户选择 USDT 或 USDC,并传入 coin。

取消赎回(不支持):当用户想要取消或撤销赎回(例如取消已提交的赎回订单)时,不要调用任何工具。用英文回复,说明不支持此操作。

领域知识

产品类型
productType标签描述
0凭证可灵活质押并即时赎回(redeemPeriod = 0)
1锁定期固定期限质押,具有明确的锁定期(redeemPeriod > 0)
2美国国债由美国国债支持的产品(例如 GUSD)。用户质押加密货币,并获得源自美国国债利率的收益。通常具有固定或半固定 APR,风险较低。
可赎回金额计算

持仓的可赎回金额并非 mortgage_amount − freeze_amount。正确公式为:

redeemable = mortgage_amount × exchangeRate

其中,exchangeRate 来自针对相同 pid 和匹配的 currency 执行的 gate-cli cex earn staking find。某些产品的 exchangeRate = 1(例如 USDT 灵活质押),而其他产品的汇率会变化(例如流动性质押代币)。

动态汇率(exchangeRate ≠ 1)

当产品的汇率不等于 1 时,该产品属于动态汇率产品。在质押/赎回的响应数据中(兑换结果或订单列表):amount = 质押/赎回的基础币数量;exchangeAmount(或 exchange_amount)= 收到的报价币/奖励币数量。

显示规则(仅限英文):

  • 质押:显示 exchangeAmount(用户收到的金额)。
  • 赎回:显示 amount(用户收到的金额)。 当 exchangeRate = 1 时,可以省略任一字段,也可以将其显示为相同的值;优先只显示单个金额。
奖励分发
  • reward_delay_days = -1 表示奖励在赎回时发放,而不是定期发放。
  • interest_delay_days 表示质押后开始累计奖励的延迟时间(通常为 1 天 / T+1)。
  • 多币种奖励:单个持仓可以产生多种币的奖励(例如,在 Compound V3 中质押 USDT,可获得 USDT + COMP)。
GUSD / 多币种产品(USDT 或 USDC)

当质押、赎回或铸造 GUSD(或 currency 或 mortgage_coin 为 "USDT,USDC" 的任何产品)时:

  • **必须让用户选择币种。**仅支持 USDT 和 USDC。
  • 提示示例:“This product accepts USDT or USDC. Which do you want to use: USDT or USDC?”
  • 将用户的选择作为 coin 参数传入兑换(或铸造)工具。用户从两种币中选定一种之前,不要调用工具。
持仓:status 字段

查看质押持仓(持仓/余额/资产查询)时,忽略且不要显示 status 字段。所有面向用户的持仓输出中都应省略该字段。

结果中的时间戳

请勿在任何结果中显示或格式化与时间戳相关的字段。 从面向用户的输出中省略所有时间戳字段(例如 createStamp、redeem_stamp、updateStamp、should_bonus_stamp)。请勿将时间戳转换为日期、时间或相对时间(例如,不要显示“YYYY-MM-DD”“HH:mm”或“2 hours ago”)。如果某个字段完全基于时间戳,请勿显示。

数字格式
类别精度尾随零示例
常规金额(mortgage_amount、freeze_amount、income_total、fee 等)8 位小数去除1.23 而非 1.23000000;100 而非 100.00000000
利率字段(estimateApr、APY、APR、exchangeRate)2 位小数保留5.20% 而非 5.2%;8.00% 而非 8%

路由规则

意图示例短语路由至
持仓“显示我的质押持仓”“查看我的质押资产”“我可以赎回什么?”读取 references/staking-assets.md
奖励“质押奖励”“昨日收益”“月度收益”“收益记录”读取 references/staking-list.md(第 2 部分:奖励列表)
产品“可用的质押产品”“可质押的币种”“最佳 APY”“仅限灵活产品”读取 references/staking-coins.md
订单历史“质押历史”“质押记录”“显示赎回记录”“最近活动”读取 references/staking-list.md(第 1 部分:订单列表)
质押 / 赎回“质押 1 BTC”“质押 100 USDT”“赎回我的 ETH”“赎回”“我想质押”“取消质押”“帮我赎回”读取 references/staking-swap.md;使用 gate-cli cex earn staking swap,必须提供 pid,并设置 side=0(质押)或 side=1(赎回);质押前先获取产品列表,如果同一币种对应多个协议,请向用户确认
铸造“铸造”“我想铸造”“Mint”“铸造 GT”“帮我铸造”与质押相同:路由至 references/staking-swap.md 并执行质押(side=0)。铸造 = 立即质押。对于 GUSD,要求用户选择 USDT 或 USDC,并传入 coin。
取消赎回(不支持)“取消赎回”“撤销赎回”“撤回赎回”“取消我的赎回”“撤回赎回请求”不要调用工具。 用英文回复:Cancelling or revoking a redeem is not supported here; please use the Gate website or app if needed. I can help you query positions or order history.
不明确“质押相关帮助”“链上赚币”请先澄清:持仓 / 奖励 / 产品 / 历史记录,然后进行路由

执行

1. 意图和参数
  • 确定模块(持仓 / 奖励 / 产品 / 订单历史 / 质押或赎回),或用户是否打算铸造或取消赎回。
  • 质押 / 赎回意图:如果用户想要执行质押或赎回(例如“质押 1 BTC”“质押 100 USDT”“赎回我的 ETH”),请转到 references/staking-swap.md。遵循兑换工作流:gate-cli cex earn staking swap 必须提供 pid;质押时使用 side=0,赎回时使用 side=1;质押前调用 gate-cli cex earn staking find,如果同一种币有多个协议,请列出并询问用户确认要选择哪个产品(pid),然后再调用兑换工具。
  • 铸造意图:如果用户想要铸造(例如“铸造”“我想铸造”“铸造 GT”“帮我铸造”),请将其视为质押。转到 references/staking-swap.md 并执行质押工作流(side=0)。铸造 = 立即质押;产品选择、金额和 GUSD 币种规则(USDT/USDC)与质押相同。
  • 取消赎回意图:如果用户想要取消或撤销赎回(例如“取消赎回”“撤销我的赎回”“撤销赎回”),不要调用任何 MCP 工具。请用英文回复:“Cancelling or revoking a redeem is not supported here; please use the Gate website or app if needed. I can help you query positions or order history.” 然后停止。
  • 提取:coin、pid、page、amount;对于订单列表,还要提取 type(0=质押,1=赎回);对于兑换,调用 gate-cli cex earn staking swap 前,务必解析或确认 pid。
  • 缺少信息:如果用户只说“我的质押”,但未指定持仓 / 奖励 / 产品 / 历史记录 / 操作,请询问用户想查询哪一项,或默认显示持仓。
2. 工具选择
模块MCP 工具必填项可选参数
持仓gate-cli cex earn staking assets-coin、pid
奖励gate-cli cex earn staking awards-coin、pid、page
产品gate-cli cex earn staking find-cointype
订单历史gate-cli cex earn staking orders-coin、pid、type、page
质押 / 赎回gate-cli cex earn staking swappidamount、side(0=质押,1=赎回)、coin(GUSD)
  • 持仓:显示可赎回金额时,调用 gate-cli cex earn staking find(可选传入 cointype),查找与每项持仓 pid 相同且 currency 匹配的产品;使用该产品的 exchangeRate(或 API 中的 exchangeRateReserve)。可赎回金额 = mortgage_amount × 对应汇率。不要使用 mortgage_amount − freeze_amount。
  • 质押 / 赎回:阅读 references/staking-swap.md。gate-cli cex earn staking swap 必须提供 pid。使用 side:0 = 质押,1 = 赎回。质押前:调用 gate-cli cex earn staking find;如果该币有多个产品(多个 pid),请列出并询问用户确认要选择哪个产品,然后再调用兑换工具。赎回前:如果用户未提供 pid,请使用 gate-cli cex earn staking assets 获取持仓;如果有多个持仓,请询问用户选择 pid。
  • 响应结构:持仓 → 项目数组(pid、mortgage_coin、mortgage_amount、freeze_amount、income_total、yesterday_income / yesterday_income_multi 等)。可赎回金额不是 mortgage_amount − freeze_amount;可赎回金额 = mortgage_amount × 汇率,汇率来自 gate-cli cex earn staking find 中 pid 相同且 currency(coin)匹配的产品。订单列表 → 包含 page、pageSize、pageCount、totalCount、list[] 的对象。奖励列表 → 包含 page、pageSize、pageCount、totalCount、list[](pid、mortgage_coin、reward_coin、interest、bonus_date 等)的对象。产品 → 数组(pid、currency、estimateApr、minStakeAmount、protocolName、redeemPeriod、productType、isDefi、currencyRewards、exchangeRate 等)。
3. 格式化响应
  • 使用所选模块参考文件中的 Response Template 和字段名称。
  • 持仓:显示 mortgage_amount、freeze_amount、redeemable(mortgage_amount × 汇率;使用 gate-cli cex earn staking find 获取相同 pid 且 currency 匹配的汇率)、income_total、yesterday_income;按币种分组或按 pid 展示。计算 redeemable 时不要使用 mortgage_amount − freeze_amount。不要显示或格式化时间戳字段(省略 createStamp、updateStamp)。不要显示 status(展示持仓时忽略 status 字段)。
  • 奖励:显示列表条目中的 reward_coin、interest、bonus_date、pid、mortgage_coin;按 reward_coin 求和;适用时使用 totalCount/page/pageCount。不要显示或格式化时间戳字段(例如省略 should_bonus_stamp)。
  • 产品:显示 protocolName、currency、estimateApr、minStakeAmount、maxStakeAmount、redeemPeriod、productType、isDefi;按 estimateApr 排序或按 cointype 筛选。
  • 订单历史:显示包含 coin、amount、type(0=Stake,1=Redeem)、status、pid、fee 的列表;使用 totalCount、page、pageCount 进行分页。不要显示或格式化时间戳(省略 createStamp、redeem_stamp 等)。对于动态汇率产品(exchangeRate ≠ 1):Stake 显示 exchange_amount,Redeem 显示 amount(参见 Domain Knowledge)。
  • Stake / Redeem:遵循 references/staking-swap.md;在调用 gate-cli cex earn staking swap 前确认 pid(和 amount);以英文显示成功或错误消息。对于动态汇率产品:Stake 确认信息显示 exchangeAmount,Redeem 确认信息显示 amount。

报告模板

每次查询后,输出简短、标准化的结果,并与参考内容保持一致(例如持仓摘要、奖励摘要、产品表格或订单列表)。使用 API 中的确切响应字段(参见 references),确保用户看到正确的字段名称和值。

安全规则

用户确认要求(强制)

未经用户明确确认,绝不可调用 gate-cli cex earn staking swap。 未经用户确认,只允许执行读取/查询操作。

每次执行 stake、redeem 或 mint 前:

  1. 显示 Action Draft,概述:操作类型(stake/redeem/mint)、产品(pid + protocolName)、币种、金额、方向和关键风险提示(例如锁定期、汇率)。
  2. 等待用户明确确认(例如 “Confirm”、“Yes”、“Go ahead”)。
  3. 只有在紧接着的上一条用户消息中收到确认后,才能调用 gate-cli cex earn staking swap。
  4. 如果确认后参数发生变化(金额、pid、币种),原确认即失效,必须重新确认。
  5. 如果确认含糊、已过时或属于不同上下文,切勿执行 — 请求用户重新确认。
Stake、Redeem 和 Mint
  • Stake / Redeem:支持通过 gate-cli cex earn staking swap 执行。遵循 references/staking-swap.md。必须提供 pid;使用 side=0(stake)或 side=1(redeem);stake 前获取产品信息,如果同一币种对应多个协议,调用 swap 前请用户确认要使用哪个产品(pid)。所有回复均使用英文。
  • Mint:支持作为即时 stake 执行。用户要求 mint 时,执行 Stake 工作流:转至 references/staking-swap.md,确定 pid 和金额,并使用 side=0 调用 gate-cli cex earn staking swap。对于 GUSD,要求用户选择 USDT 或 USDC,并传入 coin。
  • 取消 Redeem:不支持。用户要求取消或撤销 redeem(例如取消赎回订单)时,请用英文回复:“Cancelling or revoking a redeem is not supported here; please use the Gate website or app if needed. I can help you query positions or order history.”不要调用任何工具。
错误
场景操作
持仓为空(list 为空或 totalCount 为 0)“您目前没有任何质押持仓。浏览可用产品,开始赚取收益。”建议查看 references/staking-coins.md。
暂无奖励“未找到奖励。奖励通常会在质押 24 小时后开始累积。”可选择显示 gate-cli cex earn staking assets 返回的持仓。
未找到产品 / 无可用额度建议从 gate-cli cex earn staking find 的结果中选择其他产品(例如按 estimateApr 筛选)。
API 错误 / 401“无法获取质押数据,请稍后重试。”或“请登录以查看质押数据。”

评论

支持 Markdown