# Ton Nfts

> View and transfer NFTs on the TON blockchain. Use when the user wants to see their NFTs, list collectibles, check NFT details, send an NFT, or transfer an NFT to someone.

- Skill: `ton-org/ton-nfts` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ton-org/ton-nfts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ton-org/ton-nfts/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML, Coding & Dev Tools
- Author: ton-org (https://skillmd.com/u/ton-org)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ton-org/ton-nfts

---


# TON NFT Operations

View and transfer NFTs on the TON blockchain.

## MCP Tools

| Tool | Required | Optional |
| ---- | -------- | -------- |
| `get_nfts` | — | `limit`, `offset`, `walletSelector` |
| `get_nfts_by_address` | `address` | `limit`, `offset` |
| `get_nft` | `nftAddress` | — |
| `build_nft_transfer` | `nftAddress`, `toAddress` | `comment`, `walletSelector` |
| `emulate_transaction` | `messages` | `validUntil` |
| `send_raw_transaction` | `messages` | `validUntil`, `fromAddress`, `walletSelector` |

`build_nft_transfer` does NOT broadcast — it returns ready-to-send `transaction.messages` plus `transaction.fromAddress`. Preview with `emulate_transaction`, then broadcast with `send_raw_transaction`.

## Workflows

### List My NFTs
1. Call `get_nfts` to list NFTs in the active wallet
2. Use `limit` and `offset` for pagination

### View NFT Details
1. Call `get_nft` with the `nftAddress`

### Send an NFT
1. Call `get_nfts` to find the NFT address if the user doesn't have it
2. Call `build_nft_transfer` with `nftAddress` and `toAddress` 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 before transferring the NFT
5. Broadcast with `send_raw_transaction` passing the `transaction.messages` and `transaction.fromAddress` (the NFT transfer is bound to the wallet it was built for)
6. Poll `get_transaction_status` with the returned `normalizedHash` until status is `completed` or `failed` (see `ton-balance` skill)

## Notes

- `build_nft_transfer` builds the transaction only; `send_raw_transaction` is the tool that signs and broadcasts it
- Use `emulate_transaction` to preview expected balance changes before broadcasting (fake signature)
- Always confirm with the user before transferring an NFT; prefer the host client's structured confirmation UI when available, otherwise accept natural-language yes/no and do not require a fixed confirmation phrase
- If no wallet is configured, use the `ton-create-wallet` skill first

