全部文章
7 分钟阅读

TON 到 Arbitrum 跨链兑换:工作原理详解

通过 MCP 实现 TON → Arbitrum 跨链兑换:原子化 HTLC 托管合约,全程非托管、服务器不保存私钥。详解完整流程与六条支持的目标网络。

跨链TONArbitrumHTLC非托管MCP

TON → Arbitrum 跨链兑换:资金卡在两条链之间

典型场景:你的 AI 智能体在 TON 钱包里持有余额——GRAM 或 USDT——但需要支付的合约却在 Arbitrum 上。那边 gas 便宜、流动性充足、你要用的协议也在那边。常规路径是这样的:提币到交易所,等待到账,买入 ETH,再提到 Arbitrum,一路被点差和手续费蚕食——而且全程手动操作,还得经过一个让你把资金“先放它那儿”的托管服务。对人来说,这是半小时的折腾;对自主智能体来说,这就是一堵墙:它没有交易所账户,没有 KYC,而且从定义上讲,它就不该把私钥托付给别人的服务器。何况每一座跨链桥都是一次单独的集成、一个单独的故障点,外加隔三差五“某某桥被黑”的新闻。

TON → Arbitrum 跨链兑换解决的正是这个痛点:用一笔原子化交易把价值从 TON 转移到另一条链,而无需把私钥交给任何人。下面拆解它的底层机制,以及如何通过 TONNode 的五个 MCP 工具把它接入你的智能体。

为什么要从 TON 换到 Arbitrum,还支持哪些网络

Arbitrum 是 Ethereum 之上的热门 L2 目的地:手续费低、DeFi 基础设施成熟,还有大量 TON 上没有的协议。典型的迁移理由包括:

  • 把 USDT 带进目标协议所在的生态;
  • 在 Arbitrum 原生 DEX 或永续合约协议上建仓;
  • 在交易对手支持的网络里完成支付。

TONNode 的跨链功能支持六条目标网络

  • Ethereum
  • Arbitrum
  • Base
  • BNB Chain
  • Polygon
  • Avalanche

有一个重要限制需要记住:TON 永远是源链。资金流向是从 TON 到 EVM 网络,而不是反过来。另外,TRON 暂不支持——如果有人指望直接拿到 USDT-TRC20,这条路线并不存在,别把它写进智能体的逻辑里。Arbitrum 在这里只是六个目的地之一;下文的所有内容对 TON → EthereumTON → Base 同样完全适用——变的只是报价里的目标网络。

什么是 HTLC 托管,兑换为什么是原子化的

任何跨链交换的核心问题都是:两条链之间没有共同的“裁判”,如何把 A 链上的资产换成 B 链上的资产?最朴素的方案——信任一个中间人——恰恰就是那个托管风险本身。

TONNode 使用原子化 HTLC 托管(Hashed TimeLock Contract——带哈希锁和计时器的合约)。打个比方:两个保险柜,每条链上各一个,而且都由同一把秘密钥匙打开。它依赖两个特性:

  • 哈希锁(hash lock)。 生成一个随机秘密 S,对它取哈希 H = hash(S)。两个保险柜——TON 上的托管和 Arbitrum 上的托管——都用这个哈希上锁,条件是“谁能出示满足 hash(S) == HS,就把资产交给谁”。秘密未公开时,谁也拿不走任何东西;而 S 一旦在一侧被出示,另一侧也就能看到它。
  • 计时器(time lock)。 每个保险柜都有期限。如果交易没有达成,时间锁到期后资金退回原主。

这正是原子化一词的由来:交易要么在两条链上同时完成(秘密公开——两个托管都被执行),要么在哪条链上都不发生(时间锁到期——两边都退款)。不存在“钱已经离开 TON,却没到 Arbitrum”的中间状态。这不是那种有共享资金池、可能被攻破的跨链桥,而是由同一个秘密同步起来的两个独立托管。

TON → Arbitrum 跨链兑换流程逐步拆解

整个交换由五个工具按顺序调用完成。每个工具只做一件事。

1. get_crosschain_quote — 报价

你问:X 个 GRAM(或 TON 上的 X 个 USDT)能在 Arbitrum 上换到多少。会返回该路线的一份确定报价——汇率、手续费和各项参数。

2. build_crosschain_swap_tx — 未签名的 HTLC 交易 + 秘密

服务器组装一笔未签名的交易,用于在 TON 侧创建托管,并把秘密 S(就是那把能打开两个保险柜的钥匙)交给你。这笔交易尚未发送也未签名——签名由用户钱包通过 TonConnect 完成。秘密留在你手里;稍后你正是用它来完成结算。

3. track_crosschain_swap — 两条链上的交易阶段

TON 侧的托管创建之后,交易对手会在 Arbitrum 上建立与之对应的托管。这个工具展示两条链上的交易阶段:源链托管是否已创建、目标链托管是否已出现、是否一切就绪可以结算。这是你的链上就绪探测器——你能实实在在地看到两个保险柜。

4. disclose_crosschain_secret — 公开秘密以完成结算

安全上的关键一步。秘密只有在链上确认托管就绪之后才会公开——也就是说,工具已经核实 Arbitrum 上的对手方保险柜确实存在,并且确实是按正确的哈希锁锁定了资金。这项检查的意义很直接:只要对手方托管还没成型,就绝不能公开秘密——否则对方会拿走你的资金却不履行自己那一半。秘密一旦公开,双方各取所得。

5. build_crosschain_refund — 兜底保险

如果交易卡住了,它会组装一笔退款交易,在时间锁到期后把资金从托管中取回。下文有专门一节讲它。

流程示意:

get_crosschain_quote      → TON → Arbitrum 报价
build_crosschain_swap_tx  → 未签名 HTLC 交易 + 秘密  (由钱包签名)
track_crosschain_swap     → TON 与 Arbitrum 两侧的阶段
disclose_crosschain_secret→ 链上校验通过后公开秘密
build_crosschain_refund   → 交易卡住时退款

而对智能体来说,一句自然语言提示就够了——它会自己按正确顺序选择并调用这些工具:

把我 TON 钱包里的 50 USDT 兑换到 Arbitrum。
先用 get_crosschain_quote 给我看报价,
再用 build_crosschain_swap_tx 组装 HTLC 托管交易,
交给我在钱包里签名。然后跟踪两条链上的阶段,
只有在目标托管链上就绪后才公开秘密。

整个流程中,智能体没有任何一步会向你索要私钥。

非托管:服务器不签名、不保存私钥

这是这套方案的根本区别所在。build_crosschain_swap_tx 返回的是未签名的 TonConnect 消息——签名由用户钱包完成,而不是服务器。服务器从不签名,也从不保存资金和私钥。

在实践中这意味着:

  • HTLC 的秘密在 build_crosschain_swap_tx 里交到手上,而不是留在服务器上;公开秘密是你通过 disclose_crosschain_secret 做出的主动决定。
  • 资金全程锁在链上托管里,而不是躺在服务商的钱包里。
  • 就算服务器想“卷走”这笔钱,它也无从下手:没有私钥,签名不归它,公开秘密也只能由你发起。

同样的规则适用于 TONNode 其余的“写”类工具:swap 和 generate_wallet 都严格非托管。作为对比,TON Foundation 官方的 @ton/mcp 是另一种设计:它是一个采用 split-key 的托管型智能体钱包,operator 密钥由智能体自己持有并签名。这个思路是可行的,也有自己的优势(自主消费、NFT、DNS、官方出品),但它是托管的,而且只在 TON 内部工作——没有跨链。TONNode 有意选择了相反的取舍:签名永远在用户一侧。关于智能体场景下这套模型的详细分析,见为什么智能体的兑换必须是非托管的

交易卡住了怎么办:从托管中退款

跨链意味着两条彼此独立的网络,有时对手方不会履行自己那一半:Arbitrum 上的托管迟迟没有出现,或者结算卡住了。此时资金不会丢失——它锁在你 TON 侧的托管里,受时间锁保护。

build_crosschain_refund 会组装一笔未签名的退款交易——同样由你的钱包签名。时间锁到期后,资金从托管退回你的 TON 地址:

交易没走通,托管挂着没动。
用 build_crosschain_refund 组装退款交易,交给我签名。

这就是“原子化”的另一半:如果交易没能在两条链上同时达成,它就会回滚。最坏情况下你损失的是一点时间和 gas,而不是交易本金。绝不会出现那种“卡在桥里”、事后跟客服拉扯好几个月才能要回来的余额。

给智能体的实用守则:如果 track_crosschain_swap 迟迟不显示目标托管就绪,而时间锁又快到期——不要公开秘密,改为调用 build_crosschain_refund

如何把跨链工具接入 AI 智能体

这五个跨链工具都是 TONNode MCP 服务器的一部分。MCP(Model Context Protocol)是 Claude、Cursor、ChatGPT/Codex 以及任何其他 MCP 客户端调用工具所遵循的标准。一份配置就能接入。

本地、免费(公共配置,完整的读取工具集):

{
  "mcpServers": {
    "ton": {
      "command": "npx",
      "args": ["-y", "@tonnode/mcp"]
    }
  }
}

本地免费运行提供完整的读取类工具集。跨链与兑换类工具(交易组装——build_crosschain_swap_txtrack_crosschain_swapdisclose_crosschain_secretbuild_crosschain_refund)需要 hosted 密钥才能工作,其中也包括免费的 Hobby 密钥(见下文的套餐一节)。

Hosted(有保障的吞吐量,用自己的密钥):

{
  "mcpServers": {
    "ton": {
      "type": "http",
      "url": "https://mcp.tonnode.io/mcp",
      "headers": { "Authorization": "Bearer tn_live_…" }
    }
  }
}

@tonnode/mcp 这个包是开源的(MIT),发布在 npm 和 GitHub(tonnode/mcp)上,通过 TON 原生的 ADNL 协议直连,没有任何 HTTP 中间层。

再补充两点技术细节,免得智能体在这里绊倒。GRAM 是 Toncoin 改名后的名字(2026 年 6 月更名),网络本身仍然叫 TON;如果智能体在报价里看到“GRAM”,那就是同一个原生代币。hosted 密钥的费用可以在 TON 网络上用 GRAM 或 USDT 通过 TonConnect 支付,也可以用 BTC/ETH/SOL 等币种通过 Telegram 里的 xRocket 账单支付——结算完成后密钥自动发放。

套餐与包含内容

TONNode 的全部 16 个工具——包括五个跨链工具——在任意套餐下都可用。你付费买的只是吞吐量,而不是“解锁”功能:

  • Hobby —— 永久免费,60 请求/分钟;
  • Pro —— $29/月,300 请求/分钟;
  • Scale —— $199/月,1200 请求/分钟。

免费的 Hobby 密钥在登录后即刻发放,无需绑卡。

小结

TONNode 的 TON → Arbitrum 跨链兑换就是一个原子化 HTLC 托管:一个秘密串起两条链上的两个保险柜,因此交易要么整体完成,要么按时间锁退款。五个工具覆盖完整流程——报价、组装带秘密的未签名 HTLC 交易、跟踪两条链上的阶段、链上确认就绪后公开秘密、遇阻时退款——而服务器自始至终保持非托管:既不签名,也不保存任何资金或私钥。同样的机制适用于其他方向:参见 TON → EthereumTON → Base 兑换的拆解,以及为什么首次通过 MCP 完成的 TON 跨链价值转移意义重大

想在真实的智能体上试一把——领取免费的 Hobby 密钥(全部 16 个工具,含跨链,60 请求/分钟,无需绑卡),再去工具介绍页看看。

让你的智能体接入 TON

16 个 MCP 工具:读取、非托管兑换、跨链与钱包。免费档 60 次/分钟,无需银行卡。