ton-org/kit

ton-send

Send GRAM (ex.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/ton-org/kit --skill ton-send

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Send GRAM (ex. TON) & Tokens

Transfer GRAM (ex. TON) or jettons to any address. Supports TON DNS resolution for .ton and .t.me domains.

MCP Tools

ToolRequiredOptional
build_ton_transfertoAddress, amountcomment, walletSelector
build_jetton_transfertoAddress, jettonAddress, amountcomment, walletSelector
emulate_transactionmessagesvalidUntil
send_raw_transactionmessagesvalidUntil, fromAddress, walletSelector
resolve_dnsdomain—
back_resolve_dnsaddress—

build_ton_transfer and build_jetton_transfer do NOT broadcast — they return ready-to-send transaction.messages plus transaction.fromAddress. Preview with emulate_transaction, then broadcast with send_raw_transaction.

Workflows

Send GRAM (ex. TON)

  1. If the user provides a DNS name (e.g., foundation.ton, user.t.me) instead of a raw address, call resolve_dns first
  2. Call build_ton_transfer with address and amount to build the transaction (it is NOT sent)
  3. Preview it with emulate_transaction using the returned transaction.messages (recommended before broadcasting)
  4. Ask one short yes/no confirmation that restates the amount and recipient
  5. Broadcast with send_raw_transaction passing the transaction.messages and transaction.fromAddress
  6. Poll get_transaction_status with the returned normalizedHash until status is completed or failed (see ton-balance skill). User can ask to skip polling.

Send Jetton (Token)

  1. If user mentions a token by name, call get_known_jettons (see ton-balance skill) to find the jettonAddress
  2. Call get_jetton_balance to verify sufficient balance
  3. Call build_jetton_transfer with the jettonAddress, toAddress, and amount to build the transaction (it is NOT sent)
  4. Preview it with emulate_transaction using the returned transaction.messages (recommended before broadcasting)
  5. Ask one short yes/no confirmation before sending
  6. Broadcast with send_raw_transaction passing the transaction.messages and transaction.fromAddress (jetton messages target the sender's jetton wallet)
  7. Poll get_transaction_status until completed or failed

Notes

  • Amounts are human-readable (e.g., "1.5" = 1.5 GRAM (ex. TON), "100" = 100 tokens)
  • build_ton_transfer/build_jetton_transfer build the transaction only; send_raw_transaction is the tool that actually signs and broadcasts
  • Use emulate_transaction to preview expected balance changes before broadcasting (fake signature)
  • Always confirm with the user before broadcasting a transfer; prefer the host client's structured confirmation UI when available, otherwise accept natural-language yes/no and do not require a fixed confirmation phrase
  • After broadcasting, poll get_transaction_status by default. User can specify whether to check status.
  • If no wallet is configured, use the ton-create-wallet skill first

Related by task

from this repository

More skills

All skills