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)
If you get "No token configured" errors, authenticate first:
auth.request — you'll get a one-time linkauth.get_token with the authId — you'll get a token| Tool | Params | Description |
|---|---|---|
| ------ | -------- | ------------- |
wallet.info | — | Wallet address, TON balance, account status |
wallet.jettons | — | All token balances (USDT, NOT, DOGS, etc.) |
wallet.transactions | limit? (number) | Recent transaction history |
wallet.nfts | — | NFTs owned by the wallet |
| Tool | Params | Description |
|---|---|---|
| ------ | -------- | ------------- |
transfer.request | to, amountNano, payload?, stateInit? | Queue a TON transfer for owner approval |
transfer.status | id | Check status: pending, confirmed, rejected, expired |
transfer.pending | — | List all pending transfer requests |
| Tool | Params | Description |
|---|---|---|
| ------ | -------- | ------------- |
lookup.resolve_name | domain | Resolve .ton domain to address. ALWAYS use before transfer when user gives a .ton name |
lookup.price | currencies? | TON price in USD/EUR/etc. |
| Tool | Params | Description |
|---|---|---|
| ------ | -------- | ------------- |
dex.create_order | fromToken, toToken, amount, price | Place a limit order. Price is human-readable (e.g. 20 = "1 USDT = 20 AGNT") |
dex.pairs | — | List available trading pairs |
| Tool | Params | Description |
|---|---|---|
| ------ | -------- | ------------- |
agent_wallet.deploy | — | Deploy a dedicated wallet contract. WARNING: agent can spend funds without approval |
agent_wallet.transfer | walletAddress, to, amountNano | Send TON directly from agent wallet |
agent_wallet.info | walletAddress? | Balance, seqno, status. Omit address to list all |
| Tool | Params | Description |
|---|---|---|
| ------ | -------- | ------------- |
auth.request | label? | Generate a one-time auth link |
auth.get_token | authId | Retrieve token after user connects wallet |
Amounts are in nanoTON: 1 TON = 1,000,000,000 nanoTON
| TON | nanoTON |
|---|---|
| ----- | --------- |
| 0.1 | 100000000 |
| 0.5 | 500000000 |
| 1 | 1000000000 |
| 10 | 10000000000 |
Token decimals: TON/NOT/DOGS/BUILD/AGNT/PX/CBBTC = 9 decimals. USDT/XAUT0 = 6 decimals.
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
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.
dex.create_order({ fromToken: "NOT", toToken: "TON", amount: "10000", price: 0.000289 })
→ Order placed on open4dev DEX. Approve in your wallet app.
agent_wallet.deploy()
→ Agent Wallet deployed at EQCT1...
agent_wallet.transfer({ walletAddress: "EQCT1...", to: "0:abc...", amountNano: "500000000" })
→ Transfer executed. No approval needed.
lookup.resolve_name when the user gives a .ton domain~/.tongateway/token across restartsSee SECURITY.md for full security model details.
共 1 个版本