# Metadata Standards on Cardano

When tokenizing real-world assets on Cardano, metadata plays a critical role. Metadata gives meaning to a token: what it represents, who backs it, and what information is attached (e.g. audits, legal identifiers, or valuation data).

There are several CIPs used for token metadata:

#### CIP-25 (NFT Metadata Standard)

* Metadata is stored in the minting transaction under label **721**.
* Widely supported by wallets, explorers, and marketplaces.
* Updating metadata requires minting again (minting additional supply or using a **burn + remint** process).
* Works well for simple NFTs or RWAs that do not require frequent metadata changes.

**Example CIP-25 Metadata (JSON):**

```json
{
  "721": {
    "policy_id_here": {
      "WheatToken001": {
        "name": "Tokenized Wheat Certificate",
        "description": "Represents 1 ton of wheat stored at Warehouse #12",
        "image": "ipfs://QmExampleHash",
        "version": "1.0"
      }
    }
  }
}
```

***

#### CIP-68 (Reference NFT with On-Chain Metadata)

* Separates **user tokens** from a **reference NFT**.
* Metadata is stored in the datum of the reference NFT, and user tokens point to it.
* Metadata can be updated by modifying the reference NFT without affecting user-held tokens.
* More complex to implement, but ideal for RWAs that require dynamic data (e.g. audits, price updates, legal status).

**Example CIP-68 Metadata (simplified datum):**

```json
{
  "version": "1.0",
  "name": "Tokenized Wheat Certificate",
  "description": "Represents 1 ton of wheat stored at Warehouse #12",
  "custodian": "Agricola Magdalena SRL",
  "audit_date": "2025-09-01",
  "proof_of_reserve": "ipfs://QmAuditReportHash"
}
```

***

#### CIP-86 (Metadata Updates via Oracles) – <mark style="color:$warning;">Not available yet</mark>

* Allows metadata to be updated without minting or burning tokens.
* Uses a **metadata oracle** assigned to the policy to submit changes.
* Backward compatible with CIP-25.
* Still early-stage, but promising for scenarios where frequent off-chain data must be reflected on-chain.

***

#### Comparison: Metadata Standards on Cardano

| Feature                       | **CIP-25**                                  | **CIP-68**                             | **CIP-86** (in development)          |
| ----------------------------- | ------------------------------------------- | -------------------------------------- | ------------------------------------ |
| **Type**                      | Metadata in minting transaction (label 721) | Metadata stored in reference NFT datum | Metadata managed via assigned oracle |
| **Update method**             | Burn + remint                               | Update reference NFT, user tokens stay | Oracle updates metadata directly     |
| **Complexity**                | Low                                         | Medium–High                            | Medium                               |
| **Wallet / Explorer support** | Very high                                   | Growing                                | Not widely supported yet             |
| **Best for**                  | Static metadata, simple RWAs                | Dynamic RWAs with updates              | RWAs needing frequent off-chain data |
| **Example use case**          | Tokenized certificates                      | Commodities with audits                | Financial assets with live feeds     |


---

# 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.nmkr.io/nmkr-studio/token/metadata/metadata-standards-on-cardano.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.
