| name | ton-create-wallet |
| description | Create and deploy a TON agentic wallet. Use when the user wants to create a wallet, set up an agent wallet, deploy an agentic wallet, onboard a new wallet, or when any wallet operation fails because no wallet is configured. This skill is a prerequisite before sending, swapping, or managing assets. |
| user-invocable | true |
| disable-model-invocation | false |
Create TON Agentic Wallet
Deploy an on-chain agentic wallet on TON. The agent generates operator keys, opens the dashboard when local browser/shell tools are available, and uses callback-based completion only in long-lived stdio/HTTP MCP server sessions.
MCP Tools
| Tool | Description |
|---|
agentic_start_root_wallet_setup | Generate operator keys, create pending setup, return dashboard URL |
agentic_list_pending_root_wallet_setups | List pending setup drafts and their callback status |
agentic_get_root_wallet_setup | Read one pending setup by setupId |
agentic_complete_root_wallet_setup | Finish onboarding from callback or manual wallet address |
agentic_cancel_root_wallet_setup | Cancel a pending setup |
Tool Parameters
| Tool | Required | Optional |
|---|
agentic_start_root_wallet_setup | — | network, name, source, collectionAddress, tonDeposit |
agentic_get_root_wallet_setup | setupId | — |
agentic_complete_root_wallet_setup | setupId | walletAddress, ownerAddress |
agentic_cancel_root_wallet_setup | setupId | — |
Workflow
- Call
agentic_start_root_wallet_setup — this generates an operator key pair and returns a setupId, dashboardUrl, and callbackUrl
- If the environment exposes local browser or shell tools, open
dashboardUrl yourself with the platform opener (open, xdg-open, start) or browser automation; only paste the link to the user if automatic opening is unavailable or fails
- Tell the user only to approve wallet deployment from their main TON wallet; do not ask them to retype the URL or copy intermediate data
- In long-lived stdio/HTTP MCP server sessions, poll
agentic_get_root_wallet_setup or agentic_list_pending_root_wallet_setups and wait for status: "callback_received" when callback flow is available; then call agentic_complete_root_wallet_setup with setupId;
- In raw one-shot CLI usage, skip callback polling and ask for
walletAddress after the user deploys the wallet; then call agentic_complete_root_wallet_setup with walletAddress
- Confirm the wallet is active with
get_current_wallet or list_wallets (see ton-manage-wallets skill)
How It Works
- The agent keeps the operator private key — it can sign transactions autonomously
- The user keeps the owner key — they can withdraw funds or revoke access at any time
- The wallet is an on-chain smart contract (NFT-based), not a custodial service
- The dashboard is at
agents.ton.org
Environment Variables
| Variable | Description |
|---|
NETWORK | mainnet (default) or testnet |
AGENTIC_CALLBACK_BASE_URL | Public URL for the onboarding callback (auto in HTTP mode) |
AGENTIC_CALLBACK_PORT | Port for the callback server |
Notes
- Callback-driven completion is for long-lived stdio/HTTP MCP server sessions; raw CLI should use manual
walletAddress completion
- If automatic dashboard opening is supported in the current environment, do it instead of asking the user to open the URL manually
- In raw CLI mode, ask for the wallet address after deployment because the callback server is not available long enough to complete the flow
- After wallet creation, fund the wallet with GRAM (ex. TON) before using transfer or swap skills