Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Tongateway

v0.9.3

Access TON blockchain tools to check wallet info, tokens, send transfers, resolve .ton names, trade on DEX, and manage autonomous agent wallets.

0· 116· 4 versions· 0 current· 0 all-time· Updated 12h ago· MIT-0
byVolodya Plotvinov@pewpewgogo

Install

openclaw skills install tongateway

Agent Gateway

Agent Gateway gives you 16 tools to interact with TON blockchain. Check balances, view tokens/NFTs, send transfers, resolve .ton names, place DEX orders, and deploy autonomous agent wallets.

MCP package: @tongateway/mcp (install via npx -y @tongateway/mcp)

Authentication

If you get "No token configured" errors, authenticate first:

  1. Call auth.request — you'll get a one-time link
  2. Ask the user to open the link and connect their wallet
  3. Call auth.get_token with the authId — you'll get a token
  4. All other tools now work. Token persists across restarts.

Tools

Wallet

ToolParamsDescription
wallet.infoWallet address, TON balance, account status
wallet.jettonsAll token balances (USDT, NOT, DOGS, etc.)
wallet.transactionslimit? (number)Recent transaction history
wallet.nftsNFTs owned by the wallet

Transfers (Safe — requires wallet approval)

ToolParamsDescription
transfer.requestto, amountNano, payload?, stateInit?Queue a TON transfer for owner approval
transfer.statusidCheck status: pending, confirmed, rejected, expired
transfer.pendingList all pending transfer requests

Lookup

ToolParamsDescription
lookup.resolve_namedomainResolve .ton domain to address. ALWAYS use before transfer when user gives a .ton name
lookup.pricecurrencies?TON price in USD/EUR/etc.

DEX (open4dev order book)

ToolParamsDescription
dex.create_orderfromToken, toToken, amount, pricePlace a limit order. Price is human-readable (e.g. 20 = "1 USDT = 20 AGNT")
dex.pairsList available trading pairs

Agent Wallet (Autonomous — NO approval needed)

ToolParamsDescription
agent_wallet.deployDeploy a dedicated wallet contract. WARNING: agent can spend funds without approval
agent_wallet.transferwalletAddress, to, amountNanoSend TON directly from agent wallet
agent_wallet.infowalletAddress?Balance, seqno, status. Omit address to list all

Auth

ToolParamsDescription
auth.requestlabel?Generate a one-time auth link
auth.get_tokenauthIdRetrieve token after user connects wallet

Amount conversion

Amounts are in nanoTON: 1 TON = 1,000,000,000 nanoTON

TONnanoTON
0.1100000000
0.5500000000
11000000000
1010000000000

Token decimals: TON/NOT/DOGS/BUILD/AGNT/PX/CBBTC = 9 decimals. USDT/XAUT0 = 6 decimals.

Usage examples

Check wallet and tokens

wallet.info()
→ Address: 0:9d43...0c02, Balance: 823.18 TON, Status: active

wallet.jettons()
→ USDT: 107.79, NOT: 3,186,370.60, BUILD: 45,277.57

Send TON to .ton domain

lookup.resolve_name({ domain: "alice.ton" })
→ alice.ton → 0:83df...31a8

transfer.request({ to: "0:83df...31a8", amountNano: "500000000" })
→ Transfer request created. Approve in your wallet app.

Place a DEX order

dex.create_order({ fromToken: "NOT", toToken: "TON", amount: "10000", price: 0.000289 })
→ Order placed on open4dev DEX. Approve in your wallet app.

Autonomous transfer (no approval)

agent_wallet.deploy()
→ Agent Wallet deployed at EQCT1...

agent_wallet.transfer({ walletAddress: "EQCT1...", to: "0:abc...", amountNano: "500000000" })
→ Transfer executed. No approval needed.

Important

  • Safe mode (default): You request transfers, the wallet owner approves on their phone
  • Autonomous mode: Agent wallet — agent signs directly, no approval. Only use when user explicitly asks
  • Requests expire in 5 minutes if not approved
  • Always use lookup.resolve_name when the user gives a .ton domain
  • Token persists in ~/.tongateway/token across restarts

Security

See SECURITY.md for full security model details.

Links

Version tags

latestvk97dbgy9qxh2sqabf364my3ez983hd0q