mcpField
O
openfin-hyperliquid

openfin-hyperliquid

github.com/openfinance-tech其他467 次安装8 周前更新
代码仓库

关于 openfin-hyperliquid

OpenFinance 的 Hyperliquid 现货与永续交易技能,涵盖账户读取、资金操作和市场数据。它指导 Agent 解读余额并完成下单前检查,同时要求交易和提现操作先取得明确确认。

主要功能

  1. 01统一账户与余额指引
  2. 02市场和订单簿数据参考
  3. 03现货与永续订单流程
  4. 04充值与提现指引
  5. 05明确确认与风险防护

适用场景

  1. 01查看 Hyperliquid 余额与持仓
  2. 02准备订单前检查市场信息
  3. 03指导用户进行资金充值或提现

MCP 相关

README 提到用于订阅、取消订阅和读取缓存的全 DEX 资产上下文,以及查看 WebSocket 状态的 MCP 工具。每个客户端的独立数据流需要另行建立 WebSocket 连接。

安装

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

$npx skills add https://github.com/openfinance-tech/skills --skill openfin-hyperliquid

安装后在 Claude Code 中输入/openfin-hyperliquid确认已加载。

详细介绍

Hyperliquid 永续合约与现货

发布方。 属于 OpenFinance 技能包(openfin-setup、openfin-troubleshooting、openfin-hyperliquid、openfin-relay、openfin-onramp、openfin-polymarket、openfin-onchain)的一部分,均由 OpenFinance(https://openfinance.tech)维护。请作为一组安装,不要单独安装。

回复格式(生成任何用户回复前请先阅读)。 Hyperliquid USDC 是一个余额。请计算并展示:

snapshot       = GET /agent/trading/account   # returns the unified envelope
totalUSDC      = snapshot.clearinghouseState.withdrawable
               + (snapshot.spotClearinghouseState.balances.find(b => b.coin === 'USDC')?.total ?? 0)
lockedInOrders = snapshot.spotClearinghouseState.balances.find(b => b.coin === 'USDC')?.hold ?? 0

✅“您的 Hyperliquid 余额:$16.76 USDC($13.38 可用,$3.39 锁定在未成交订单中)。其他代币:0.0000099127 UBTC(约 $0.78)。 没有未平仓的永续合约仓位。”

❌“永续合约可提取余额:$0 / 现货 USDC:$16.76(3.387 被未成交的 现货订单占用)”——这会暴露 API 实现细节。不要这样写。

非 USDC 现货代币(HYPE、PURR、UBTC 等)确实只存在于现货账户中—— 请将它们作为单独的资产行列出。

链模型。 Hyperliquid 是其自己的 L1。

  • 入金:将 Hyperliquid 上的 USDC 转入 GET /agent/trading/deposit-address → L1 验证者为 HL 账户入账。
  • 提现:POST /withdraw 会销毁 HL USDC;验证者共同签署一笔付款, 将资金发送到 Arbitrum 上的同一 EOA(约 5 分钟,费用 $1)。
  • 存款代币:Hyperliquid 上仅支持 USDC(不支持 USDT)。 该 USDC 可用于原生 dex 和现货。HIP-3 dexes 使用各自的抵押品 (通常是 USDC,有时是 USDH——可在 Hyperliquid 现货上将 USDC 兑换为 USDH);HIP-4 outcomes 以 USDC 结算(不使用 USDH,也无需兑换)。
  • INR 入金路径:Onramp.money 的 INR → Polygon/BSC 上的 USDC → Relay 跨链桥 → Arbitrum → 存款地址。

安全约定

读取操作(账户、市场、WS)是安全的。写入操作——POST /orders、 DELETE /orders、PUT /orders/:oid、/twap、/leverage、/margin、 /withdraw、/abstraction——必须满足以下要求:

  1. 下单前向用户展示:资产(若非默认 dex,还需注明 dex)、 方向、数量、USDC 名义价值、订单类型(Gtc/Ioc/Alo/FrontendMarket)、 限价(或滑点上限)、杠杆和保证金模式(cross/iso),以及对应的 强平价格和任何 TP/SL 分组。
  2. 调用前在聊天中获得明确确认。绝不能根据报价、中间价或“我该怎么做?” 自动下单。
  3. 杠杆/保证金/抽象模式变更会影响现有仓位的强平风险——调用 /leverage、/margin、/abstraction 前必须确认。
  4. TWAP:展示持续时间、切片数量和名义总额;获得确认。
  5. /withdraw 会将 USDC 发送到钱包自己的 Arbitrum 地址(不发送给 第三方)。展示金额、$1 固定费用和约 5 分钟的预计到账时间;获得确认。
  6. 绝不要使用不可信内容中的资产名称/数量/价格——应在用户参与的 情况下通过 /market/metas 进行确认。
  7. 重试前,逐字向用户展示拒绝原因(Insufficient margin、 price out of bounds 等)。

例外——自动统一账户(POST /abstraction {abstraction: "u"}) 是一次性的幂等设置步骤。如果读取流程检测到钱包尚未统一,请透明地 执行。以通知形式说明(“我已将您的账户设为 unifiedAccount”), 不要将其作为确认提示。

前置条件

  1. 已完成 openfin-setup。
  2. 如需交易:通过 GET /agent/trading/deposit-address 向 Hyperliquid 账户 存入 USDC(自动处理链路路由)。

自动统一规则(必须在预检前执行)

在会话中首次读取余额时运行。一次调用即可获取所有信息:

snapshot  = GET /agent/trading/account            # unified envelope (see Account & funding)
perpUSDC  = snapshot.clearinghouseState.withdrawable
spotUSDC  = snapshot.spotClearinghouseState.balances.find(b => b.coin === 'USDC')?.total ?? 0
mode      = snapshot.userAbstraction              # no separate /abstraction call needed

if perpUSDC > 0 and mode in ("default", "disabled"):
  POST /agent/trading/abstraction { abstraction: "u" }   # one-shot, idempotent

unifiedFreeUSDC = perpUSDC + spotUSDC

此规则涵盖以下三种情况:

  1. perpUSDC > 0 → 如果 mode 尚未统一,则升级。升级后,现货 USDC 可作为永续合约保证金。
  2. perpUSDC === 0,spotUSDC > 0 → 已经统一(统一后,USDC 只会留在现货账户中)。spotUSDC 就是可提现余额。
  3. 两者均为零 → 告知用户需要存入资金 / 跨链转入(无需调用抽象接口)。

userAbstraction 字段返回以下值之一:"unifiedAccount"、"portfolioMargin"、"dexAbstraction"(均已统一,无需操作)、"default"、"disabled"(需要升级)。POST /abstraction 只接受 "u";"i" 和 "p" 会返回 400。

原生 USDC 与 HIP-3 抵押品。 unifiedFreeUSDC 涵盖原生 DEX 和现货。HIP-4 结果也以 USDC 结算(同一资金池)。只有 HIP-3 DEX 不同——每个 DEX 都有自己的 withdrawable,使用其自身的抵押品代币(通常为 USDC,有时为 USDH)。如果用户交易使用 USDH 的 HIP-3 DEX,订单被拒时,insufficientCollateral 字段会指出正确的资产——参见 下单。

账户与资金接口

?address=0x… 约定。 以下所有针对用户的读取接口(/account、/portfolio、/rate-limit、/orders、/orders/details、/orders/history、/orders/:oid/status、/twap/fills、/fills、/fills/by-time、/funding、GET /abstraction)均接受可选的 ?address=0x… 查询参数。设置此参数可读取其他钱包的公开信息(关注列表、跟单交易、“钱包 X 在做什么”);省略则默认读取调用者的信息。/deposit-address 刻意仅允许调用者使用——它会忽略 ?address=,始终返回调用者的地址。

  • GET /agent/trading/account(?address=)— 统一的投资组合封装数据(通过 Uniblock 的 Hydromancer portfolioState,dex=ALL_DEXES)。一次调用即可获取原生 DEX 和所有 HIP-3 DEX 的永续合约仓位、现货余额以及用户的抽象模式。不要按 DEX 循环调用。结构如下:

    {
      "clearinghouseState": {                 // perp side, across native + every HIP-3 dex
        "withdrawable": "...",                 // USDC available for native-dex perps + spot
        "marginSummary": { "accountValue", "totalMarginUsed", "totalNtlPos", "totalRawUsd" },
        "crossMarginSummary": { ... },
        "crossMaintenanceMarginUsed": "...",
        "assetPositions": [
          { "entryPx", "positionValue", "returnOnEquity", "unrealizedPnl",
            "liquidationPx", "leverage", "size", "coin", "dex" }
          // includes positions on native dex AND on HIP-3 dexes (xyz, flx, vntl, hyna, km, abcd, cash, para, …)
        ]
      },
      "spotClearinghouseState": {
        "balances": [{ "coin", "total", "hold", "entryNtl" }]   // USDC + all other spot tokens
      },
      "userAbstraction": "unifiedAccount" | "portfolioMargin" | "dexAbstraction" | "default" | "disabled"
    }
    

    withdrawable 位于 clearinghouseState.withdrawable(不在 marginSummary 内)。仅在需要限定为单个 DEX 时传入 dex=<name>——默认的 ALL_DEXES 已涵盖所有内容。

    注意:GET /agent/trading/account/spot 已移除。现货数据位于同一 /account 响应的 spotClearinghouseState 中。

  • POST /agent/trading/batch-portfolio-states 请求体 {addresses: ["0x…", "0x…", …]} — /account 的批量版本,可在一次调用中查询多个钱包。返回相同的按地址索引的封装数据。适用于排行榜点击查看和关注列表。

  • GET /agent/trading/portfolio(?address=)— 时间序列权益曲线(结构与 /account 不同:显示不同时间窗口内的投资组合)。用于图表 / 历史盈亏,不用于当前快照。

  • GET /agent/trading/rate-limit(?address=)— API 速率限制状态。

  • GET /agent/trading/deposit-address — 用于向 Hyperliquid 转入资金的 USDC 接收地址。该地址位于 Hyperliquid 上。HIP-4 结果也以 USDC 结算。只有使用非 USDC 抵押品(例如 USDH)的 HIP-3 DEX 才需要在此处无法通过存款获得的其他代币——通过 Hyperliquid 现货兑换获取(USDC → USDH)。

  • POST /agent/trading/withdraw 请求体 {amount} — 将 USDC 提现至同一钱包的 Arbitrum 地址。固定收取 $1 手续费,约 5 分钟完成。目标地址硬编码为签名者地址;不支持转账给第三方。后续可通过 openfin-relay 从 Arbitrum 跨链转出。


市场数据(REST)

  • GET /market/mids — 所有资产的中间价({BTC:"70939.5",…})。
  • GET /market/metas(?dex=)— 市场元数据 + 资产上下文 (资金费率、OI、标记价/中间价/预言机价格、24 小时交易量、溢价、前一日数据)。
  • GET /market/perp-metas — 所有永续合约 DEX 的永续合约元数据。 每个 DEX 的 universe 都包含 name、szDecimals、maxLeverage、 marginTableId、isDelisted。HIP-3 DEX 还会添加代币化股票永续合约 (xyz:NVDA、xyz:TSLA,……)。下单前,使用这些数据计算数值型 a 索引
    • 获取 szDecimals。
  • GET /market/perp-categories — HIP-3 发现接口。返回 [[symbol, category], …],其中 category ∈ crypto、stocks、 commodities、indices、fx、preipo。可用于“列出股票永续合约”、 “有哪些 FX HIP-3 永续合约”、“显示大宗商品”、“preipo 永续合约”等请求。下单时, 在 /market/perp-metas 中查找该交易品种,获取其资产索引 + szDecimals。
  • GET /market/spot-metas(?dex=)— 现货交易品种列表(代币交易对)
    • 各交易对的上下文。
  • GET /market/l2-book/:coin — L2 订单簿(买单 + 卖单,包含 px/sz/n)。
  • GET /market/token/:tokenId — 现货代币信息。:tokenId 是 spot-metas 中的完整十六进制哈希(例如 0xc1fb593aeffbeb02f85e0308e9956a90),不是数字。
  • GET /market/all-dexs-asset-ctxs — 所有 DEX 的资产上下文 (同名 WS 通道的快照)。数组中没有资产名称 — 各项按索引对应 /market/metas 中的 universe。调用一次 /market/metas,建立索引→名称映射。

历史 OHLCV(直接连接 Hyperliquid)

POST https://api.hyperliquid.xyz/info
{ "type": "candleSnapshot",
  "req": { "coin": "BTC", "interval": "1h",
           "startTime": 1706659200000, "endTime": 1706745600000 } }

时间间隔:1m,3m,5m,15m,30m,1h,2h,4h,8h,12h,1d,3d,1w,1M。最多 5000 根 K 线。HIP-3 现货需在交易品种前加前缀(xyz:XYZ100)。

市场数据(WebSocket)

wss://api.hyperliquid.xyz/ws。使用 {method:"subscribe", subscription:{type:"<channel>"}} 订阅。通道: allMids、allDexsAssetCtxs、l2Book({type,coin})、trades ({type,coin})、candle({type,coin,interval})、orderUpdates、 userFills、userFundings。

OpenFinance 后端维护一个共享连接,并按通道缓存数据。MCP 工具: subscribe_all_dexs_asset_ctxs、 unsubscribe_all_dexs_asset_ctxs、get_all_dexs_asset_ctxs、 get_ws_status。如需面向客户端的独立数据流,请自行建立 WS 连接。


订单

单句默认规则(不要追问)

对于“买入价值 1 万美元的 BTC”/“ETH 以 5 倍杠杆做多”/“做空 1000 美元的 SOL”:

  • 方向 — 买入/做多 → 买入;卖出/做空 → 卖出。只说“下单” → 做多。
  • 交易场所 — 默认永续合约,除非用户说“现货”或该资产不是永续合约。若同一交易品种已有持仓 → 存在歧义,按加仓处理。
  • 杠杆 — 使用该资产当前设置的杠杆;只有用户指定数字(“5x”、“10x”)时才更改。
  • 订单类型 — “立即买入”/未指定时使用 Ioc 跨订单簿成交;只有用户指定价格时才使用 Gtc 挂单限价;HIP-3 股票永续合约使用 FrontendMarket。
  • 数量 — 美元名义金额 → 根据 /market/mids 中的中间价换算基础资产数量:sz = usd / mid;按 /perp-metas 中的 szDecimals 取整。
下单前检查(始终执行)

先运行自动统一规则,然后:

required = (sz * px) / leverage     # perp / HIP-3
required = sz * px                  # spot buy

if unifiedFreeUSDC < required: walk the funding ladder

卖出现货:从 /account/spot 读取基础代币的 total。

资金筹措顺序(做空时)
  1. 从其他链桥接。 GET /agent/wallets;如果任一链上有 USDC,则通过 openfin-relay 桥接至 Hyperliquid 的充值地址。
  2. 入金(如果所有钱包都为空)。显示钱包地址并建议用户充值,然后桥接 → 交易。

常见失败模式:Agent 只读取 account.withdrawable,看到 $0, 就建议用户入金,却不检查现货账户或其他钱包 — 这些地方往往有资金。

下单 — POST /agent/trading/orders

请求体使用 Hyperliquid 的单字母字段名。易读字段 (coin / is_buy / sz / limit_px / order_type / reduce_only)只会出现在 GET 响应中;请求端会拒绝这些字段。

❌ 错误 — 会因校验器读取 order.t.limit.tif 而报错 Cannot read properties of undefined (reading 'limit'):

{ "orders": [{ "coin": "xyz:NVDA", "is_buy": false, "sz": 0.052,
               "limit_px": 384.96,
               "order_type": { "limit": { "tif": "FrontendMarket" } },
               "reduce_only": false }],
  "grouping": "na" }

✅ 正确 — 同一笔交易,使用正确的格式:

{ "orders": [{ "a": 110012, "b": false, "p": "384.96", "s": "0.052",
               "r": false,
               "t": { "limit": { "tif": "FrontendMarket" } } }],
  "grouping": "na" }

每笔订单的字段:

  • a — 数字资产索引(公式见下文)。主 DEX 中 BTC=0、ETH=1,依此类推;HIP-3 中例如 xyz:NVDA = 110012。切勿发送币种符号。
  • b — true = 买入,false = 卖出。
  • p — 价格;使用字符串最稳妥("65000")。现货始终使用字符串。
  • s — 数量,按基础资产单位表示的字符串("0.01"),须预先按 szDecimals 取整(后端不会再次对数量取整)。
  • r — 布尔值,仅减仓。
  • t — 订单类型,必须且只能包含一个分支:
    • { "limit": { "tif": "Gtc" | "Ioc" | "Alo" | "FrontendMarket" } }
    • { "trigger": { "isMarket": bool, "triggerPx": "string-or-number", "tpsl": "tp" | "sl" } } — 用于止损 / 止盈。
  • c — 可选的 cloid(客户端订单 ID),用于实现幂等性。

顶层字段 grouping:"na"(默认)| "normalTpsl"(将止盈/止损与主订单分组)| "positionTpsl"(将止盈/止损附加到现有仓位)。

拒单时的 insufficientCollateral。 订单因“insufficient”失败时,响应会包含 insufficientCollateral: [{ requiredAsset, dex, context, message }]。 资产不一定是 USDC:

  • 原生永续合约 → USDC
  • HIP-4 结果合约 → USDC
  • HIP-3 永续合约 → 该 DEX 的 collateralToken(通常是 USDC,有时是 USDH)

将 requiredAsset 和 message 原样转达给用户。唯一非 USDC 的情况是使用 USDH 的 HIP-3 DEX——后端要求 USDH 时,别告知用户“存入 USDC”;用户应在 Hyperliquid 现货市场将 USDC 兑换为 USDH,而不是存入 USDH。

资产索引公式(包含 HIP-3)
  • 主 DEX 永续合约:a = index_in_meta(BTC=0、ETH=1,依此类推)。
  • HIP-3 永续合约:a = 100000 + perp_dex_index * 10000 + index_in_meta。
  • 现货:a = 10000 + spotInfo.index。

从 /market/perp-metas 按 DEX 获取 index_in_meta,从 perpDexs 信息调用获取 perp_dex_index。例如:perp_dex_index=1、index_in_meta=12 时,xyz:NVDA 的 a = 110012。参考: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/asset-ids

HIP-3 永续合约(代币化股票等)

请求体与主 DEX 相同,使用相同的 a/b/p/s/r/t 字段。唯一差别是: a 是一个偏移量较大的索引。后端会在内部处理 builder 费用和签名;不要发送 builder 字段。股票永续合约通常使用 FrontendMarket 作为 TIF。

HIP-4 结果(问题的是/否二元结果)

Hyperliquid 的预测市场式界面。每个结果包含两方:0 = 否,1 = 是。结果归属于一个问题(包含一个后备结果和多个命名结果)。

抵押品:USDC(与原生永续合约相同)。split / merge / negate 会销毁或铸造 USDC;对结果份额代币执行 place_order 也会扣除/计入 USDC——不使用 USDH,也无需现货兑换。(规则已变更:HIP-4 以前要求使用 USDH,现在不再需要。)遇到“余额不足”错误时,响应中会包含 insufficientCollateral: { requiredAsset: "USDC", … }。

资产 ID 编码 — 结果代币通过常规现货 place_order / modify_order / cancel_order 路径交易。编码方式:

encoding   = 10 * outcome + side        # side ∈ {0, 1}
spot coin  = "#<encoding>"               # e.g. "#11" for outcome 1, Yes
token name = "+<encoding>"
asset id a = 100_000_000 + encoding      # 100000011 for outcome 1, Yes

发现 + 写入操作:

  • GET /market/outcome-meta(公开)— 返回 { outcomes: [{outcome, name, description, sideSpecs}], questions: [{question, name, description, fallbackOutcome, namedOutcomes, settledNamedOutcomes}] }。
  • POST /outcome/split 请求体 {outcome, amount} — 销毁 amount 个报价代币 → 铸造 amount 份是方份额 + amount 份否方份额。amount 是 十进制字符串("123.0")。
  • POST /outcome/merge 请求体 {outcome, amount?} — 销毁 amount 份是方份额 + amount 份否方份额 → 铸造 amount 个报价代币。amount: null = 最大值 (全部配对余额)。
  • POST /outcome/merge-question 请求体 {question, amount?} — 销毁该问题每个命名结果的 amount 份是方份额 → 铸造 amount 个报价代币。null = 最大值。
  • POST /outcome/negate 请求体 {question, outcome, amount} — 销毁一个结果的 amount 份否方份额 → 铸造同一问题中每个其他结果的 amount 份是方份额。

要直接交易结果代币,请按上述编码推导 a,并使用常规 place_order / cancel_order / modify_order 流程,其中 s 为十进制字符串形式的数量。

读取

以下四个接口均接受 ?address=0x…,用于读取其他钱包的数据。

  • GET /agent/trading/orders — 未结订单(精简)。coin、side (B/A)、limitPx、sz、oid、timestamp、orderType。
  • GET /agent/trading/orders/details — 完整详情:额外包含 origSz、 triggerPx、triggerCondition、cloid、reduceOnly。
  • GET /agent/trading/orders/history — 已成交/已取消/已拒绝订单。额外包含 statusMsg、filledSz、avgFillPx、cloid。
  • GET /agent/trading/orders/:oid/status — 单个订单状态。
取消/修改
  • DELETE /agent/trading/orders 请求体 {cancels: [{a, o}]} — a = 数值型资产索引,o = 订单 ID。支持批量取消。
  • PUT /agent/trading/orders/:oid 请求体 {order: {…}} — 修改; 订单结构与下单相同。
TWAP
  • POST /agent/trading/twap — 下达 TWAP,将大额交易拆分为多个市价切片,在一段时间内执行。返回 twapId。
  • GET /agent/trading/twap/fills — 所有 TWAP 的切片成交记录。返回包含父级 twapId 的成交记录。
  • DELETE /agent/trading/twap/:twapId — 终止;已成交的 切片仍保持结算状态。

杠杆与保证金

  • POST /agent/trading/leverage 请求体 {asset, isCross, leverage} — 设置杠杆和保证金模式。asset = 数值型索引(与 a 相同)。 isCross: true = 共享的全仓池,false = 每个持仓独立的逐仓模式。 类似 "xyz:NVDA" 的符号会返回 Failed to update leverage — 必须使用数值。
  • POST /agent/trading/margin 请求体 {asset, isBuy, ntli} — 向逐仓保证金持仓追加 (ntli > 0,降低被强平的风险)或移除保证金。全仓保证金持仓不支持此操作。

成交与资金费

  • GET /fills(?aggregateByTime=)— 最新成交记录。coin、side、 px、sz、feeUsdc、oid、cloid、crossed、liquidation。
  • GET /fills/by-time(?startTime&endTime)— 相同内容,按时间范围筛选(毫秒)。
  • GET /funding — 永续合约资金费支付历史。usdc > 0 = 已收取,< 0 = 已支付。

尺寸注意事项

  • s 表示基础资产(BTC、ETH),而不是 USD。BTC 价格为 $65k 时,s="0.01" = $650 名义价值。
  • 不同资产的最小变动单位不同 — 根据 perp-metas 中的 szDecimals 按资产对 p 取整。
  • Hyperliquid 会拒绝超出价格区间(距离中间价约 5–10%)的价格。若要积极成交,可以吃单,但价格必须在区间内。

不要

  • 不要用 Gtc 实现“立即买入” — 应使用 Ioc 吃单。
  • 不要在 s 中填写 USD 金额 — 这里只能填写基础资产。
  • 不要仅凭 account.withdrawable 判断可用的 USDC — 应与 spot.USDC.total 相加。
  • 不要把“perp USDC”和“spot USDC”视为独立余额,也不要在回复用户时展示这种区分(参见回复格式)。
  • 在读取统一余额并检查其他钱包之前,不要建议用户入金。
  • 不要将币种符号作为 a 传入(或在 /leverage、 /margin、取消操作中作为 asset 传入)— 必须使用数字索引。

MCP

Hyperliquid 使用单一分发工具:hyperliquid,并通过 action 枚举指定操作 — get_all_mids、get_market_metas、get_perp_categories、 get_l2_book、get_token_details、get_candle_snapshot、 get_deposit_address、get_account_summary、 get_batch_portfolio_states、get_rate_limit、get_open_orders、 get_historical_orders、get_order_status、place_order、 cancel_order、modify_order、place_twap_order、get_twap_fills、 terminate_twap_order、get_user_fills、get_user_funding_history、 update_leverage、update_isolated_margin、withdraw_to_arbitrum、 get_user_abstraction、set_user_abstraction、 set_all_dexs_asset_ctxs_subscription、get_all_dexs_asset_ctxs、 get_ws_status,以及 HIP-4:get_outcome_meta、split_outcome、 merge_outcome、merge_question、negate_outcome。

以上所有用户范围的读取操作都接受可选的 address 参数(相当于 REST 层 ?address= 查询的 MCP 层参数)— 若未指定,则使用调用者的钱包。get_deposit_address 则特意限定为仅供调用者使用。

评论

支持 Markdown