Transaction tools return a one-time HTTPS confirmation page. The backend prepares and validates the request; you review it and sign through your wallet.
The confirmation flow
- The agent requests the exact supported action.
- The tool returns a
confirmationUrland operation information. - Open that URL in the browser, review the action and connect the intended wallet if necessary.
- Choose Confirm in wallet, then approve or reject in the wallet's normal interface.
- Inspect the operation result and the affected resource.
The agent should show the returned URL verbatim. Its secret is carried in the fragment and must not be copied into logs or reconstructed into another URL. Intents normally expire after five minutes.
What each stage proves
| Stage | Evidence |
|---|---|
| Prepared | The backend created a request; nothing has been signed |
| Awaiting approval | The user still needs to approve or reject |
| Submitted | A wallet submission was observed; final state may still be pending |
| Verified result | The relevant operation/resource reader observes the expected state |
Expired or uncertain results
If an intent expires before submission, inspect current state before preparing another. If submission is ambiguous, do not automatically replay the transaction. An old approval might still settle.
Refreshing or revoking MCP access can invalidate a prepared confirmation. Recheck the intended action and resource before asking for a new URL.
Read back the right resource
Use domains.records for an owned root and subdomains.get_item for an owned child. For sites, use sites.list_releases and sites.list_domains. For Storage, retain the provider operation identifier returned by that flow; it is not interchangeable with a generic MCP operation ID.
NFT transfers
| Asset | Tool |
|---|---|
Root .ton or .t.me | dns.send_transfer_tx with domain and newOwner |
| Child NFT | subdomains.transfer_item_tx with itemAddress and newOwner |
After a transfer, owner-only tools may stop returning the NFT. For a root .ton, use dns.lookup to check the new owner. For a Username or child, verify with the receiving wallet or a suitable chain reader.