전체 글 보기
7 분 소요

TON → Polygon 크로스체인 스왑: 어떻게 작동하는가

MCP로 실행하는 TON → Polygon 크로스체인 스왑. 원자적 HTLC 에스크로가 TON의 가치를 Polygon으로 비수탁 이전하며, 서버는 키를 보관하지 않습니다.

크로스체인TONPolygonHTLC비수탁MCP

USDT는 TON 지갑에 들어 있는데, 정작 결제는 Polygon에서 해야 합니다. 가스비가 싸고, 여러분의 DeFi 컨트랙트가 배포되어 있고, 수취인이 받아 주는 곳이 그쪽이기 때문입니다. 일반적인 경로는 이렇습니다. 거래소로 출금하고, 입금 반영을 기다리고, 팔고, 사고, 다시 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개 중 다섯 개가 크로스체인을 담당합니다. TON 바깥으로 가치를 옮기는 것이 바로 이 다섯 개이며, 비수탁으로, 서버에 키를 보관하지 않고 동작합니다.

메커니즘상 중요한 제약이 하나 있습니다. TONNode에서 TON은 언제나 출발지입니다. 경로는 TON에서 바깥으로 향하며, 여기서 Polygon은 목적지 네트워크이지 출발점이 아닙니다.

용어에 관한 세부 사항도 하나 짚겠습니다. GRAM은 이름이 바뀐 Toncoin입니다(2026년 6월 개명). 네트워크 자체는 여전히 TON이라고 불립니다. 이 글에서 GRAM은 TON의 네이티브 코인을 뜻합니다.

TON → Polygon 크로스체인 스왑의 작동 방식: 원자적 HTLC 에스크로

네트워크 간 교환의 근본 문제는 하나입니다. 두 네트워크는 서로를 보지 못합니다. TON에서 자금을 내주었으니 Polygon에서 반드시 받게 된다고 보장해 줄 공통의 심판이 없습니다. 고전적인 해법이 원자적 HTLC 에스크로(hashed timelock contract)입니다. 비유하자면 자물쇠 두 개와 타이머가 달린 금고입니다.

작동 원리는 해시 잠금과 타임락이라는 두 가지 기본 요소에 기반합니다.

  1. 비밀값과 그 해시. 무작위 비밀값 S를 생성하고, 그로부터 해시 H = hash(S)를 얻습니다. 양쪽 네트워크의 에스크로 컨트랙트는 이 해시 H를 조건으로 자금을 잠급니다.
  2. 해시 잠금. 에스크로의 자금을 풀 수 있는 것은 그 H를 만들어 내는 S를 제시하는 쪽뿐입니다. 비밀값이 공개되기 전까지 돈은 양쪽 모두에서 잠긴 채로 있습니다.
  3. 타임락. 에스크로마다 기한이 있습니다. 그때까지 비밀값이 공개되지 않으면 자금은 다시 보낸 사람이 가져갈 수 있게 됩니다. 거래가 멈췄을 때를 대비한 보험입니다.

핵심은 이것입니다. 한 네트워크에서 비밀값을 공개하면 수학적으로 다른 네트워크에서 자금을 가져갈 수 있게 됩니다. S가 온체인에 나타나는 순간, 상대편은 그 값을 이용해 자기 쪽 절반을 마무리합니다. 여기서 원자성이 나옵니다. 거래는 두 네트워크에서 통째로 성사되거나, 어디에서도 성사되지 않고 자금이 되돌아옵니다. "돈은 TON에서 나갔는데 Polygon에는 도착하지 않은" 중간 상태는 설계상 존재하지 않습니다.

TONNode는 이 프로토콜을 다섯 개의 도구로 오케스트레이션합니다. 다만 원칙적으로 비밀값은 서버에 남지 않고 여러분에게 전달되며, TON 트랜잭션은 전부 여러분이 자기 지갑으로 서명합니다.

크로스체인 도구 다섯 개: 견적부터 정산까지

다섯 개 모두 어느 요금제에서나 사용할 수 있습니다. 전체 파이프라인과 각 도구가 하는 일은 다음과 같습니다.

1. get_crosschain_quote — 견적

TON에서 보내는 금액에 대해 Polygon에서 얼마를 받게 되는지 알려 줍니다. 무언가에 서명하기 전에 환율과 경로를 먼저 보여 주기 위해 에이전트가 가장 먼저 호출하는 도구입니다. 이후 트랜잭션을 조립하는 근거가 되는 거래 파라미터를 반환합니다.

2. build_crosschain_swap_tx — 서명되지 않은 HTLC 에스크로 트랜잭션

TON 쪽 에스크로에 여러분의 자금을 잠그는 서명되지 않은 트랜잭션을 조립하고, 비밀값을 반환합니다. 트랜잭션은 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와 비수탁형 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 컨트랙트 메커니즘이 있고, 그것이 거래 경로에 편입되어 있어야 합니다. 위의 여섯 네트워크는 TON이 대응 에스크로를 세울 수 있는 EVM 호환 계열입니다. 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)에 있으며, HTTP 계층 없이 TON의 네이티브 ADNL 프로토콜로 동작합니다.

무료 로컬 실행. 공개 설정만으로, 키 없이 읽기 도구 전체 세트를 사용합니다.

{
  "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 키는 로그인 직후 카드 등록 없이 발급됩니다. 유료 요금제는 TonConnect를 통해 TON 네트워크의 GRAM이나 USDT로 결제하거나, Telegram의 xRocket 계정을 통해 BTC/ETH/SOL 등 다른 코인으로 결제할 수 있습니다.

기대치가 부풀지 않도록 솔직한 단서를 몇 가지 달아 두겠습니다. 아카이브 수준의 히스토리 깊이는 아직 로드맵 단계이고(노드가 동기화 중입니다), TONNode에는 현재 NFT와 DNS용 도구가 없으며, 웹훅도, gasless 릴레이어도, 문서화된 업타임 보장도 없습니다. 크로스체인 제품은 위에서 설명한 정확히 그 다섯 개의 도구이고, 이 도구들은 TON의 가치를 Polygon으로 비수탁 방식으로 정직하게 옮깁니다.


크로스체인을 직접 시험해 보십시오. 무료 Hobby 키를 받아 여러분의 에이전트로 첫 TON → Polygon 스왑을 조립해 보십시오: tonnode.io/dashboard?plan=hobby. 16개 도구 세트 전체를 먼저 살펴보고 싶다면 도구 소개 페이지를 방문하시기 바랍니다.

에이전트에게 TON 접근 권한을 주세요

16가지 MCP 도구: 읽기, 논커스터디얼 스왑, 크로스체인, 지갑. 무료 요금제 60 요청/분, 카드 불필요.