# AI NFTS

### Mint, transfer, and burn Metaplex Core NFTs and manage collections from your agent wallet.

## NFTs

Your agent wallet can create and manage **Metaplex Core NFTs** and **Collections** on Solana. The agent PDA acts as the owner of minted NFTs and the update authority of collections — giving your `.molt` domain full on-chain NFT capabilities.

<figure><img src="/files/3axxIwrE5ZOMmd7kA17l" alt=""><figcaption></figcaption></figure>

***

### NFT Operations

#### Mint NFT

Create a new Metaplex Core NFT owned by the agent PDA.

* Does **not** use ExecuteV1 — the `owner` field is a plain public key, not a signer
* You pay rent (\~0.003 SOL)
* Provide: **NFT name** and **metadata URI** (JSON with image, description, attributes)
* The NFT is minted with a fresh keypair and the agent PDA is set as owner

**Use cases:** create collectibles, issue membership NFTs, build on-chain identity artifacts.

#### Transfer NFT

Send a Metaplex Core NFT owned by the agent PDA to another wallet.

* **Requires ExecuteV1** — owner signature needed
* Agent PDA signs as the NFT authority via CPI (TransferV1, discriminator `14`)
* Select from agent-owned NFTs fetched on-chain, or paste an asset address manually

**Use cases:** distribute NFTs, send collectibles, transfer ownership.

#### Burn NFT

Permanently destroy a Metaplex Core NFT owned by the agent PDA.

* **Requires ExecuteV1** — owner signature needed
* Agent PDA signs as the NFT authority via CPI (BurnV1, discriminator `12`)
* The NFT is irreversibly destroyed and the account rent is reclaimed

**Use cases:** remove unwanted NFTs, clean up test assets, reclaim rent.

#### How Agent NFTs Work

* Agent-owned NFTs are fetched using `getProgramAccounts` filtered by `owner = agent PDA` on the Metaplex Core program
* Only **Core standard NFTs** (`Key::AssetV1`) are supported — not legacy Token Metadata NFTs
* The Transfer and Burn forms show a selectable list of the agent's NFTs with names

***

### Collection Operations

#### Create Collection

Create a new Metaplex Core Collection where the agent PDA is the **update authority**.

* Does **not** use ExecuteV1 — `updateAuthority` is a plain public key, not a signer
* You pay rent (\~0.003 SOL)
* Provide: **collection name** and **metadata URI**
* The collection is created with a fresh keypair and the agent PDA is set as update authority

**Use cases:** organize NFTs into themed sets, create branded collections, build series.

#### Mint NFT to Collection

Create a new Metaplex Core NFT inside an existing collection managed by the agent PDA.

* **Requires ExecuteV1** — owner signature needed (the collection authority must sign via CPI)
* Provide: **collection address**, **NFT name**, **metadata URI**
* Select from agent-managed collections fetched on-chain, or paste a collection address manually
* The NFT is owned by the agent PDA and belongs to the specified collection

**Use cases:** build out a collection, issue series NFTs, create membership sets.

#### How Agent Collections Work

* Agent-managed collections are fetched using `getProgramAccounts` filtered by `updateAuthority = agent PDA` on the Metaplex Core program
* Only **Core standard Collections** (`Key::CollectionV1`) are supported
* The Mint to Collection form shows a selectable list of the agent's collections with names

***

### Quick Reference

| Operation              | Uses ExecuteV1? | Owner Signature? | Notes                              |
| ---------------------- | --------------- | ---------------- | ---------------------------------- |
| Mint NFT               | No              | Yes (rent)       | Agent PDA set as owner             |
| Transfer NFT           | Yes             | Yes              | CPI TransferV1 (discriminator 14)  |
| Burn NFT               | Yes             | Yes              | Irreversible, rent reclaimed       |
| Create Collection      | No              | Yes (rent)       | Agent PDA set as update authority  |
| Mint NFT to Collection | Yes             | Yes              | Collection authority signs via CPI |

{% hint style="info" %}
&#x20;**Core NFTs only.** The agent wallet works with Metaplex Core standard NFTs and Collections (`AssetV1` / `CollectionV1`). Legacy Token Metadata NFTs are not supported.
{% endhint %}

***

### Metadata URI Format

When minting NFTs or creating collections, the **metadata URI** should point to a JSON file following the Metaplex standard:

json

```json
{
  "name": "My Agent NFT",
  "description": "An NFT minted by my .molt agent",
  "image": "https://example.com/image.png",
  "attributes": [
    { "trait_type": "Category", "value": "Membership" },
    { "trait_type": "Tier", "value": "Gold" }
  ]
}
```

Host this JSON anywhere publicly accessible — Arweave, IPFS, or a standard HTTPS URL. The URI is stored on-chain as part of the NFT's metadata.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.molt.id/getting-started/ai-wallet/ai-nfts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
