TON 到 Base 跨链兑换:HTLC 原子交换全流程详解
通过 MCP 完成 TON → Base 跨链兑换:HTLC 锁仓、严格非托管、5 个工具。AI 智能体如何不依赖托管跨链桥,把价值从 TON 转到 Base。
你的 AI 智能体发现了一个有利可图的机会:用户的资金在 TON 上,而需要用的协议或资产却在 Base 上。经典答案是“走跨链桥”。但跨链桥意味着,在资产过渡的那一刻,有人替你保管着资金:bridge 合约、中继者(relayer)、一组你从未选择过的多签签名人。过去几年里,正是这些托管型跨链桥卷走了超过十亿美元的用户资金——不是因为密码学不行,而是因为在中间环节有人握着钱。
对自主智能体来说,这是双重问题。第一,智能体不应该签署一笔把资金交给第三方、却没有取回保证的交易。第二,智能体根本就不该拿到你的私钥。而经典跨链桥要求的恰恰就是这一点——对中介的信任。
还有另一条路——原子化的 HTLC 锁仓。下面我们来拆解,如何完成一笔 TON → Base 跨链兑换,让任何中介在任何时刻都碰不到你的私钥和资金,以及 AI 智能体如何通过 TONNode 的五个 MCP 工具调起整个流程。
为什么要从 TON 换到 Base,以及这为什么不是普通的跨链桥
Base 是 Coinbase 基于 OP Stack 构建的 Ethereum L2。流动性在往那里迁移,DeFi 协议在往那里部署,你的智能体需要交互的合约也越来越多地出现在那里。而你的本金在 TON 上——以 GRAM(Toncoin 于 2026 年 6 月更名而来;网络本身仍叫 TON)或 TON 上的 USDT 形式存放。
普通跨链桥用托管来解决这个问题。你把资金交给源链上的 bridge 合约,某个角落里的中继者看到后,在 Base 上铸出等值资产。在“交出去”和“拿到手”之间存在一个窗口期,在这个窗口里支配你资金的不是你。对一个月才跨一次链的人来说,这可以忍受。对一个无人监督、循环执行的智能体来说——这是不可接受的风险。
替代方案是原子交换:不存在任何一个“资金属于中介”的时刻。交易要么在两条链上完整成交,要么完整回滚。TONNode 的跨链正是这样设计的。
TON 与 Base 之间的原子 HTLC 锁仓如何运作
HTLC——hashed timelock contract,哈希时间锁合约,是一种带两个解锁条件的资金锁仓(escrow)机制:秘密值的哈希和时间锁。最直观的类比是两只保险箱:一只在 TON,一只在 Base。两只箱子用同一把钥匙——秘密值——打开。只要秘密值没被揭示,两只都锁着。
- 哈希锁。 两条链上的资金都锁定在同一个秘密值哈希
h = hash(s)之下。只有出示哈希吻合的秘密值s本身,才能打开锁仓。 - 时间锁。 每只保险箱都有期限。如果交易没有按时完成,时间锁到期后资金退回原主。
用大白话过一遍流程:
- 生成随机秘密值
s及其哈希h = hash(s)。 - 在 TON 上把你的资金锁进锁仓合约,条件是:“交给出示
s的人;如果截止时间前s一直没被出示,则退回发送方”。 - 在 Base 上,对手方(即为目标链提供流动性的 resolver)把自己的资金锁在同一个
h之下——时间锁更短。 - 你揭示
s,取走 Base 上的资金。此刻s在链上公开。 - 对手方看到公开的
s,取走锁在 TON 上的资金。
关键性质在于:h 在两条链上是同一个。一旦秘密值在一侧为结算而公开,另一侧在数学上就必然能完成交易。不存在“我的钱攥在陌生人手里”的中间态——只有哈希运算和时间锁的倒计时。如果出了岔子、时间锁到期,资金退回各自原主。原子化:要么两条腿都成交,要么都回滚。
在 TONNode 的方案里,TON 永远是交易的源链,Base(或其他受支持的网络)是目标链。
TONNode MCP 中的五个跨链兑换工具
TONNode 是面向 TON 的 hosted MCP 服务器,恰好提供 16 个工具。MCP(Model Context Protocol)是 AI 智能体(Claude、Cursor、ChatGPT/Codex 以及任何 MCP 客户端)调用外部工具的标准协议。跨链套件正好包含 5 个工具,且所有套餐均可使用:
get_crosschain_quote—— 报价:你从 TON 拿出的资金能在 Base 上换到多少,包含路由与时间锁信息。build_crosschain_swap_tx—— 构建未签名的 TON 侧 HTLC 锁仓交易,并连同秘密值一起返回。签名由用户钱包通过 TonConnect 完成。track_crosschain_swap—— 展示交易在两条链上的各个阶段:TON 上是否已锁定、对手方是否已在 Base 上锁定、秘密值是否已揭示、是否已完成。disclose_crosschain_secret—— 揭示秘密值以完成结算,但仅在链上确认对手腿已就位之后执行。build_crosschain_refund—— 在交易卡住、时间锁已过期时,构建一笔未签名的退款交易,把资金从锁仓合约取回。
注意这里的责任顺序:揭示秘密值的工具并非盲目行事,而是先核验 Base 侧已就绪。这能防止你在对手方还什么都没锁定的情况下就把 s 公开出去。
完整流程:报价 → 构建 → 追踪 → 揭示秘密值
先把服务器接上。本地免费方案:@tonnode/mcp 包是 open source(MIT),基于 TON 原生 ADNL 协议直连,没有 HTTP 中间层:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
接下来所有操作都通过给智能体下提示词完成——它会自己把提示词拆解成工具调用。
第 1 步:报价。
给我一个跨链兑换报价:把 200 USDT 从 TON 换成 Base 上的 USDC。
使用 get_crosschain_quote。
智能体会返回你在 Base 上能收到多少、锁仓的时间锁是多少——先给数字,再谈行动。满意就往下走。
第 2 步:构建未签名交易。
按这份报价用 build_crosschain_swap_tx 构建 HTLC 锁仓交易。
我的 TON 地址是 EQ…,Base 收款地址是 0x…
输出是一条包含 HTLC 锁仓的未签名 TonConnect 消息,外加这笔交易的秘密值。秘密值归你,自己保管;服务器不存。资金以该秘密值的哈希为条件,锁进 TON 上的锁仓合约。签名由你的钱包通过 TonConnect 完成——服务器完全不碰签名环节。
第 3 步:追踪。
用 track_crosschain_swap 按哈希 h… 查询这笔交易的状态。
对手方在 Base 上锁定资金了吗?
该工具展示两条链上的各个阶段。智能体会一直等到两侧都锁定在同一个哈希之下。
第 4 步:揭示秘密值。
Base 上的资金已锁定。通过 disclose_crosschain_secret
揭示秘密值以完成结算。
只有在 track_crosschain_swap 于链上确认就绪之后,智能体才会揭示秘密值。这一揭示会原子化地结清两侧锁仓:你在 Base 上收到资金,对手方凭公开的秘密值在 TON 上关闭自己那一侧。交易完成。
注意顺序:秘密值是最后才揭示的,而且必须先确认对面的锁仓确实存在。揭示之前,你的资金哪儿也去不了;揭示之后,交易已经原子成交。
以 Ethereum 为目标链的同一套流程,另有一篇详细拆解:TON → Ethereum 跨链兑换,机制完全相同,只是目标网络不同。至于为什么“由智能体亲手把价值移出 TON”这件事本身就是一类全新的操作,见这篇文章。
非托管:为什么服务器永远碰不到你的私钥
这不是营销话术,而是架构属性。TONNode 服务器从不签名交易,也从不保管资金或私钥。它对外输出的只有未签名的 TonConnect 消息和数据(报价、状态、属于你自己那笔交易的秘密值)。
逐项拆开看,什么东西在谁手里:
- 你 TON 钱包的私钥——只在你手里,在你自己的钱包里。
- 秘密值
s——构建交易时生成后交给你;服务器不留存。 - HTLC 交易的签名——由你的钱包通过 TonConnect 完成。
- TON 上的资金——锁在受密码学条件约束的锁仓合约里,而不是躺在中介的账户上。
就算服务器想作恶,它也既不能替你签名,也不能从锁仓里挪走资金:它没有私钥,也没有办法构造出对自己有利的解锁条件。这与托管模式有本质区别——托管模式下运营方握着私钥、自己签名。两种模型的完整对比见托管型 vs 非托管型 MCP,专讲非托管兑换的拆解见智能体内的非托管兑换一文。
除 Base 外还支持哪些网络(以及为什么暂时没有 TRON)
TON 永远是源链,目标网络可以是下列任意一个:
- Ethereum
- Arbitrum
- Base
- BNB Chain
- Polygon
- Avalanche
TRON 目前不支持。 原因是技术性的,不是立场问题:原子 HTLC 锁仓要求目标链具备兼容的哈希时间锁语义和可预期的合约行为。如果你的场景绑定了 TRON,就不要把智能体逻辑建立在它上面——当前的跨链套件里没有它。等我们加上,会体现在路线图里:tonnode.io/roadmap。
如何接入,以及交易卡住怎么办:退款
生产环境需要有保障的吞吐量时,用带自己密钥的 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 次请求/分钟。
如果对手方没有完成交易怎么办?
这正是时间锁存在的意义。如果对手方没有履行自己那部分、且时间锁已过期,你的资金不会丢——它们锁定在“截止时间之后退回发送方”的条件之下。智能体调用:
交易卡住了,时间锁已过期。用 build_crosschain_refund
构建从锁仓合约取回资金的退款交易。
build_crosschain_refund 返回一笔未签名的退款交易——你用自己的钱包签名,把资金取回 TON。这就是 HTLC 内建的保险:交易要么原子成交,要么按时间锁回滚。交易卡住不等于钱没了——它等于退款。正是这条保证,让原子交换成为托管型跨链桥的安全替代品。
从哪里开始
当一笔 TON → Base 跨链兑换的安全性由哈希锁和时间锁来兜底,而不是交给别人家的托管方时,它就不再是一次对跨链桥的信仰之跃。五个工具、严格非托管、六个目标网络——这一切只需一份 MCP 配置,就能由你的智能体调起来。
最快的上手方式是领一个免费的 Hobby 密钥(登录后立刻发放,无需绑卡),在你自己的智能体里把 TON → Base 流程跑一遍:
- 免费 Hobby 密钥 → tonnode.io/dashboard?plan=hobby
- 价格方案 → tonnode.io/pricing
- 全部 16 个工具 → tonnode.io/mcp
- 路线图 → tonnode.io/roadmap