TON 到 Polygon 跨链兑换:原理与全流程解析
通过 MCP 完成 TON 到 Polygon 跨链兑换:原子化 HTLC 锁定如何在服务器从不保管私钥的前提下,非托管地把价值从 TON 转移到 Polygon。
钱包里的 USDT 躺在 TON 上,付款却要在 Polygon 完成——那边 gas 便宜、你的 DeFi 合约部署在那儿、收款方也只认 Polygon。常规路线是:提币到交易所,等到账,卖出,买入,再提回 Polygon。四个步骤、四笔手续费、KYC,外加在这几分钟里把钱完全托付给一个中间人。对人来说,这不过是麻烦;对需要自主完成这件事的 AI 智能体来说,这条路干脆走不通:智能体过不了 KYC,也不该持有交易所账户的私钥。
下面我们拆解另一种做法——用 TON 到 Polygon 的原子跨链兑换来解决,全程服务器和智能体都碰不到你的私钥。
为什么要从 TON 换到 Polygon,TONNode 又负责什么
TON 到 Polygon 跨链兑换的适用场景是:价值在一条链上,要花的地方在另一条链,而你既不想等交易所,也不想把资金托付给中间人。典型情形:
- 给只收 Polygon 的交易对手付款;
- 手里是 TON 上的余额,要给部署在 Polygon 上的协议加仓;
- 让 AI 智能体按你的提示词自主在链间转移价值——但不给它你的私钥。
TONNode 是面向 TON 的 hosted MCP 服务器(官网 tonnode.io)。MCP(Model Context Protocol)是 AI 智能体(Claude、Cursor、ChatGPT/Codex 以及任何 MCP 客户端)调用外部工具的标准。你不必教智能体各种 REST 端点,更不必替它签交易,而是给它一套 16 个 TON 工具,由它自己决定调用哪些。这 16 个里有 5 个负责跨链——正是它们把价值从 TON 送出去,非托管,服务器不存任何私钥。
一个重要的机制限制:在 TONNode 里 TON 永远是源链。路径只能从 TON 出发;Polygon 在这里是目标网络,而不是出发点。
术语补充:GRAM 就是改名后的 Toncoin(改名发生在 2026 年 6 月),网络本身仍叫 TON。下文中 GRAM = TON 的原生代币。
TON → Polygon 跨链兑换的原理:原子化 HTLC 锁定
任何跨链交换的难点都在于:两条链互相看不见。没有一个共同的裁判来保证你在 TON 上交出资金后,一定能在 Polygon 上收到。经典解法是原子化 HTLC 锁定(hashed timelock contract,哈希时间锁合约)。可以把它想象成一个装了两把锁外加一个计时器的保险柜。
它建立在两个原语之上——哈希锁和时间锁:
- 秘密值及其哈希。 生成一个随机秘密值
S,对它取哈希H = hash(S)。两条链上的锁定合约都以哈希H为条件锁住资金。 - 哈希锁。 只有出示能得到该
H的S,才能从锁定中解出资金。秘密值未披露之前,两边的钱都被锁死。 - 时间锁。 每个锁定合约都有截止时间。到期仍未披露秘密值,资金即可退回给发送方——这是防止交易卡死的保险。
关键在于:在一条链上披露秘密值,在数学上就等于允许在另一条链上取走资金。S 一旦出现在链上,对手方就能用它完成自己那一半。原子性由此而来:交易要么在两条链上整体完成,要么哪儿都不发生、资金原路退回。“钱离开了 TON 却没到 Polygon”这种中间态在设计上就不存在。
TONNode 通过五个工具编排这套协议,但——这一点至关重要——秘密值交到你手里,而不是留在服务器上,且所有 TON 交易都由你的钱包签名。
五个跨链工具:从报价到结算
五个工具在任何套餐下都可用。下面是完整流水线以及每个工具的职责。
1. get_crosschain_quote — 报价
从 TON 发出一笔金额,最终能在 Polygon 收到多少。智能体会最先调用它,在任何签名发生之前展示汇率和路由。它返回的交易参数是后续构建交易的依据。
2. build_crosschain_swap_tx — 未签名的 HTLC 锁定交易
组装一笔未签名交易,在 TON 一侧把你的资金锁进 HTLC,并返回秘密值。交易是 TonConnect 消息格式;签名的是你的钱包,不是服务器。秘密值由你自己保存——结算阶段会用到它。
3. track_crosschain_swap — 两条链上的交易阶段
展示交易进行到哪一步:TON 侧的锁定是否生效、Polygon 侧的对手锁定是否就位、是否一切就绪可以结算。相当于同时盯着两条链的“监控台”。
4. disclose_crosschain_secret — 披露秘密值以完成结算
披露秘密值来完成结算——但仅在链上校验确认双方都已就绪之后。这里的顺序至关重要:在 Polygon 上的对手锁定真正生效之前,绝不能披露秘密值。该工具会检查两条链的状态,确认无误才放出秘密值。
5. build_crosschain_refund — 从锁定中取回资金
在交易卡住、且时间锁已允许取回的情况下,组装一笔未签名的退款交易。这个场景下文细讲。
在与智能体的对话里,这一切看起来是这样的:
把 250 USDT 从 TON 换成 Polygon 上的 USDC。
先给我看报价,再构建交易,
让我用钱包签名,持续跟踪状态,
只有当两侧锁定都就绪时才披露秘密值。
底层的完整流程:
1. get_crosschain_quote → TON → Polygon 的汇率与路由
2. build_crosschain_swap_tx → 未签名 HTLC 锁定交易 + 秘密值 S
(用户在钱包里通过 TonConnect 签名)
3. track_crosschain_swap → 等待两条链均就绪
4. disclose_crosschain_secret → 链上校验后披露 S → 完成结算
5. build_crosschain_refund → 仅在出问题时使用
逻辑与 TON 到 Ethereum 的兑换完全一致——变的只是目标网络。
为什么这是非托管:服务器不签名、不存私钥
真正的分界线在这里。非托管不是营销话术,而是架构属性。TONNode 的跨链工具是严格非托管的:服务器从不签名,也从不保管你的资金和私钥。它返回的是未签名的 TonConnect 消息,签名由你的钱包完成。
以 build_crosschain_swap_tx 为例。工具产出交易草稿和秘密值——但不会执行转账。在你于自己的钱包里确认之前,什么都不会动。私钥不会离开钱包,也不会以任何形式经过服务器。HTLC 的秘密值同理:它交到你手上,因此连结算的主动权也在你,而不在服务器运营方。
对 AI 智能体而言这一点是根本性的。一个拥有工具访问权的自主智能体,绝不应该有能力在没有你签名的情况下花掉你的钱。非托管模型给出的正是这种保证:智能体负责准备交易,而你是唯一能授权它的人。关于两种模式的差异,可以细读托管型与非托管型 MCP 对比,以及如何安全地让智能体在 TON 上做兑换这篇文章。
另外单独说说 TON Foundation 官方的 @ton/mcp。它是一个强大且官方的工具,但设计思路不同:它是托管型智能体钱包(split-key 方案——operator 密钥在智能体手里,owner 密钥在用户手里),由它自己签名,且不支持跨链(仅限 TON)。它有自己的长处——自主花费、NFT 与 DNS 操作、Foundation 官方背书。差异说得很清楚:它是托管型、仅限 TON;TONNode 是非托管型、带跨链和 hosted 选项。完整对比见与官方版的对照页面。
支持网络完整清单(以及为什么暂时没有 TRON)
TONNode 的跨链兑换从 TON 出发,目标网络为以下之一:
- Ethereum
- Arbitrum
- Base
- BNB Chain
- Polygon
- Avalanche
所有情形下 TON 都是源链,上述网络是目标链。TRON 目前不受支持。 原子化 HTLC 锁定要求目标链一侧存在兼容的 hashed-timelock 合约机制并接入交易路由。上面这六条链同属 EVM 兼容家族,TON 能够在其上建立对手锁定。TRON 尚未接入这条路由——不是因为“原理上做不到”,而是产品目前确实还没做这条链的集成。在 TRON 正式出现在清单里之前,不要把它写进你的方案。
Polygon 的逻辑与 Ethereum 路线并无二致;想要一个总体概览,可以看第一个把跨链价值移出 TON 的 MCP这篇拆解。
交易卡住了怎么办:从锁定中退款
跨链意味着两条彼此独立的链,有时对手侧就是确认不了:对手锁定没生效、交易对手消失、目标网络拥堵。在托管模型下,这一刻你只能指望攥着你钱的中间人。在原子化 HTLC 锁定里——不需要。
每个锁定合约都带时间锁。如果交易未完成且时限已过,资金既不会“烧掉”,也不会留在服务器上——它们会退回给你。而秘密值你从未披露(这样做也是对的——disclose_crosschain_secret 在链上确认双方就绪之前不会放出它)。
具体的退款由 build_crosschain_refund 完成:组装一笔未签名交易,你用自己的钱包签名,被锁定的资金就退回你在 TON 上的地址。服务器在这一步依然不签名、不保管任何东西。
到 Polygon 的兑换卡住了,一直没有结算。
把我的资金从锁定里退回来。
智能体会先调用 track_crosschain_swap,确认结算未发生且时间锁允许退款,然后调用 build_crosschain_refund——由你签名。在这套机制里,交易卡死的最坏结局是拿回属于自己的钱,而不是失去它。
如何接入试用:MCP 配置与免费密钥
上手可以完全免费、完全本地。@tonnode/mcp 包是开源的(MIT),发布在 npm 和 GitHub(tonnode/mcp)上,通过 TON 原生的 ADNL 协议直连,不经过任何 HTTP 中间层。
本地免费。 公共配置即可获得完整的读取工具集,无需密钥:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
MCP 客户端会自动通过 npx 把服务器拉起来。
Hosted 端点——当你需要有保障的吞吐量和自己的密钥时:
{
"mcpServers": {
"ton": {
"type": "http",
"url": "https://mcp.tonnode.io/mcp",
"headers": { "Authorization": "Bearer tn_live_…" }
}
}
}
所有套餐都开放全部 16 个工具——你付费买的是吞吐量,而不是功能解锁:
- Hobby —— 永久免费,60 请求/分钟;
- Pro —— $29/月,300 请求/分钟;
- Scale —— $199/月,1200 请求/分钟。
Hobby 免费密钥登录后即刻发放,无需绑卡。付费套餐可以用 TON 网络上的 GRAM 或 USDT 通过 TonConnect 支付,也可以通过 Telegram 里的 xRocket 账单用 BTC/ETH/SOL 等币种支付。
最后几句坦诚的提醒,免得期望过高:归档级的历史深度还在路线图上(节点仍在同步),TONNode 目前没有 NFT 和 DNS 工具,也没有 webhook、gasless 中继和书面的可用性保证。跨链产品就是上面描述的那五个工具——它们做的事很实在:非托管地把价值从 TON 转移到 Polygon。
亲手试一次跨链。 领取免费的 Hobby 密钥,让你的智能体构建第一笔 TON → Polygon 兑换:tonnode.io/dashboard?plan=hobby。想先把 16 个工具全部研究一遍——请看工具介绍页。