> For the complete documentation index, see [llms.txt](https://docs.startrail.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.startrail.io/metadata-schema/startrail-registry-srr/version-2.2.md).

# Version 2.2

## External References

These links are helpful to understand what attributes are widely referenced by external applications such as wallets and NFT marketplaces.

* [ERC721 specification](https://eips.ethereum.org/EIPS/eip-721#specification) (You can search by "ERC721 Metadata JSON Schema")
* [OpenSea's metadata standards](https://docs.opensea.io/docs/metadata-standards#metadata-structure)

## Attributes

<mark style="color:red;">`*`</mark> is required.

<table><thead><tr><th width="236">Attribute</th><th width="335">Description</th><th width="204">data format</th><th width="374">Example</th></tr></thead><tbody><tr><td>$schema<mark style="color:red;">*</mark></td><td>IPFS URL to the schema json the given metadata follows. Fixed value for Metadata Version 2.2 in example value.</td><td>URL</td><td>ipfs://bafkreibebzcktpolubbklh73mxkxswkf3nagmvgq3tsnp33xsi6bbye5ay</td></tr><tr><td>chipUIDs</td><td>Array containing the list of the Chip UIDs of a physical artwork</td><td>Array of Strings</td><td>["1234567890abcdef"]</td></tr><tr><td>startbahnCertICTagUIDs</td><td>Define it as same as chipUIDs.</td><td>Array of Strings</td><td>["1234567890abcdef"]</td></tr><tr><td>title<mark style="color:red;">*</mark></td><td>Flexible language description object for title of the work.</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "A title",</p><p>"ja": "タイトル",</p><p>"zh": "一个标题"</p><p>}</p></td></tr><tr><td>note</td><td>Flexible language note object for title of the work.</td><td>Language Object (see at the bottom of the table)</td><td>{<br>"en": "The material is very fragile",<br>"zh": "该材料非常脆弱"<br>}</td></tr><tr><td>size</td><td>Object describing the size</td><td>object</td><td><p>{ "width": 200.0,</p><p>"height": 400.0,</p><p>"depth": 12.4,</p><p>"unit": "pixel",</p><p>"flexibleDescription":</p><p>{</p><p>"en": "flexibleDescription comes here",</p><p>"ja": "自由だーーー"</p><p>}</p><p>}</p></td></tr><tr><td>size.height</td><td>height dimension number.</td><td>number</td><td>10.5</td></tr><tr><td>size.width</td><td>width dimension number.</td><td>number</td><td>10.5</td></tr><tr><td>size.depth</td><td>depth dimension number.</td><td>number</td><td>10.5</td></tr><tr><td>size.unit</td><td>string specifying the unit of the dimensional numbers.</td><td>enumerated String with one of the following values. ["mm","cm","m","in","ft","pixel"]</td><td>mm</td></tr><tr><td>size.flexibleDescription</td><td>Alternative way to describe the size of the artwork, if the others dont apply.</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "flexibleDescription comes here",</p><p>"ja": "自由だーーー"</p><p>}</p></td></tr><tr><td>medium<mark style="color:red;">*</mark></td><td>Flexible language description object for the medium.</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "Oil on canvas",</p><p>"ja": "キャンバスに油彩",</p><p>"zh": "布面油画"</p><p>}</p></td></tr><tr><td>edition</td><td>Edition details</td><td>object</td><td><p>{</p><p>"uniqueness": "unique work",</p><p>"proofType": "ED",</p><p>"number": 1,</p><p>"totalNumber": 3,</p><p>"note": { "en": "some extra notes " }</p><p>}</p></td></tr><tr><td>edition.note</td><td>Note to add details to the Edition information</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "note comes here",</p><p>"ja": "自由だーーー"</p><p>}</p></td></tr><tr><td>edition.uniqueness</td><td>Uniqueness of artwork</td><td>enumerated String with one of the following values ["unique work", "non unique work", "unknown"]</td><td>unique work</td></tr><tr><td>edition.proofType</td><td><p>Proof type of edition: -ED Edition<br>-AP Artist Proof<br>-TP Trial Proof<br>-SP Special Proof<br>-HC Hors de Commerce<br>-Open Edition</p><p><br>Need to add it when the artwork is edition work.</p></td><td>enumerated String with one of the following values ["ED","AP","TP","SP","HC", "Open Edition"]</td><td>ED</td></tr><tr><td>edition.number</td><td>Edition number (out of total editions)</td><td>number (integer)</td><td>1</td></tr><tr><td>edition.totalNumber</td><td>Total number of editions</td><td>number (integer)</td><td>3</td></tr><tr><td>contractTerms</td><td>Object with contract details</td><td>Object</td><td><p>{</p><p>"royaltyRate": 15.7,</p><p>"fileURL": "https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf"</p><p>}</p></td></tr><tr><td>contractTerms.royaltyRate</td><td>Royalty rate percentage.</td><td>number (integer)</td><td>15.7</td></tr><tr><td>contractTerms.fileURL</td><td>URL where the contract terms file is stored</td><td>URL</td><td>https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf</td></tr><tr><td>thumbnailURL<mark style="color:red;">*</mark></td><td>URL where the artwork thumbnail is stored</td><td>URL</td><td><a href="https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png">https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png</a></td></tr><tr><td>isDigital</td><td>boolean indicator to specify that the work is a digital artwork.</td><td>boolean</td><td>true</td></tr><tr><td>digitalDataHash</td><td><mark style="color:red;">DEPRECATED</mark></td><td>-</td><td>-</td></tr><tr><td>digitalComponents</td><td><p><strong>ISSUE API USER should leave it UNDEFINED. You can specify these values outside metadata.</strong><br></p><p>Array of Digital file objects to specify digital components</p></td><td>Array of Digital File Objects (see at the bottom of the table)</td><td><p>[{</p><p>"hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",</p><p>"category": "artwork"</p><p>}]</p></td></tr><tr><td>attachmentFiles</td><td><p><strong>ISSUE API USER should leave it UNDEFINED. You can specify these values outside metadata.</strong><br></p><p>Array of Digital file objects to specify attachment files.</p></td><td>Array of Digital File Objects (see at the bottom of the table)</td><td>[{ "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "certificate" }]</td></tr><tr><td>name<mark style="color:red;">*</mark></td><td>A field defined in ERC721. External interfaces including NFT marketplaces or wallets like OpenSea or MetaMask may show this field's value.<br><br>If <code>name</code> is not defined by client, it will be auto-filled with <code>title.en</code> value.</td><td>string</td><td>An example of title</td></tr><tr><td>description</td><td><p>A field defined in ERC721. External interfaces including NFT marketplaces or wallets like OpenSea or MetaMask may show this field's value.<br></p><p>If description is not designated, it will be auto-filled with other fields such as size, medium, edition, issuer name, artist name, note, yearOfCreation, contractTerms.fileURL.</p></td><td>string</td><td>Description of example NFT</td></tr><tr><td>image<mark style="color:red;">*</mark></td><td><p>A field defined in ERC721. External interfaces including NFT marketplaces or wallets like OpenSea or MetaMask may show this field's value.<br></p><p>If <code>image</code> is not defined by client, it will be auto-filled with thumbnailURL value.</p></td><td>URL</td><td><a href="https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png">https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png</a></td></tr><tr><td>external_url</td><td><p>External reference URL used for OpenSea.</p><p>if metadata.external_url is designated, it can have different URL from payload.externalUrls . if metadata.external_url is NOT designated, it will have the first URL from payload.externalUrls .</p></td><td>URL</td><td><a href="https://openseacreatures.io/3">https://openseacreatures.io/3</a></td></tr><tr><td>yearOfCreation<mark style="color:red;">*</mark></td><td>Flexible language description object for the year of the creation</td><td>Language Object (see at the bottom of the table)</td><td><p>{</p><p>"en": "around 2010-2020",</p><p>"ja": "2010年から2020年頃"</p><p>}</p></td></tr><tr><td>attributes</td><td>OpenSea customizable filterable attributes. Check <a href="https://docs.opensea.io/docs/metadata-standards#attributes">https://docs.opensea.io/docs/metadata-standards#attributes</a></td><td>Array of Attributes Object (see at the bottom of the table)</td><td><p>[{</p><p>"trait_type": "Mouth",</p><p>"value": "Surprised"</p><p>}]</p></td></tr></tbody></table>

### Object

<table><thead><tr><th width="255">Attribute</th><th width="464">Description</th><th width="204">data format</th><th width="374">Example</th></tr></thead><tbody><tr><td>&#x3C;Language Object></td><td>An object specifying multiple supported languages. The property names are two letter letter language codes from BCP-47, such as en or ja.</td><td>Each property name: 2 char string from BCP-47, value: string</td><td><p>{</p><p>"en": "A title",</p><p>"ja": "タイトル",</p><p>"zh": "一个标题"</p><p>}</p></td></tr><tr><td>&#x3C;Digital File Object></td><td>An object providing details of digital files.</td><td>Object</td><td>{ "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "artwork", "URL":"https://some.url.com/file", "name":"filename.jpg" }</td></tr><tr><td>&#x3C;Digital File Object>.hash</td><td><p>ISSUE API USER should leave it UNDEFINED</p><p>sha256 Hash Hex String of the file.</p></td><td>sha256 Hash Hex String</td><td>sha256-f63238ce3b8c4f8a99fb453d716d5451f75508c2e403a58af0412014187e7a61</td></tr><tr><td>&#x3C;Digital File Object>.category</td><td>String describing the category of the file.</td><td>String to describe the category. Supported values in Startrail PORT: ”certificate”, “for_authenticity”,”artwork”,”installation”</td><td>artwork</td></tr><tr><td>&#x3C;Digital File Object>.URL</td><td>url where the file can be accessed</td><td>URL</td><td></td></tr><tr><td>&#x3C;Digital File Object>.name</td><td>name of the file</td><td>string</td><td></td></tr><tr><td>&#x3C;Attributes Object></td><td>OpenSea customizable filterable attributes. Check <a href="https://docs.opensea.io/docs/metadata-standards#attributes">https://docs.opensea.io/docs/metadata-standards#attributes</a></td><td>Array of Object</td><td><p>{</p><p>"trait_type": "Mouth",</p><p>"value": "Surprised"</p><p>}</p></td></tr><tr><td>&#x3C;Attributes Object>.trait_type</td><td>Check <a href="https://docs.opensea.io/docs/metadata-standards#attributes">https://docs.opensea.io/docs/metadata-standards#attributes</a></td><td>string</td><td>Mouth</td></tr><tr><td>&#x3C;Attributes Object>.value</td><td>Check <a href="https://docs.opensea.io/docs/metadata-standards#attributes">https://docs.opensea.io/docs/metadata-standards#attributes</a></td><td>string</td><td>Surprised</td></tr></tbody></table>

### Changes From the Previous Version

1. Change of `$schema`into IPFS URL
2. removal of of `$schemaIntegrity`
3. Addition of a new field `attributes`

## Complete Example

```json
{
  "$schema": "ipfs://bafkreibebzcktpolubbklh73mxkxswkf3nagmvgq3tsnp33xsi6bbye5ay",
  "startbahnCertICTagUIDs": [
    "1234567890abcdef"
  ],
  "chipUIDs": [
    "1234567890abcdef"
  ],
  "title": {
    "en": "A title",
    "ja": "タイトル",
    "zh": "一个标题"
  },
  "size": {
    "width": 200.0,
    "height": 400.0,
    "depth": 12.4,
    "unit": "pixel",
    "flexibleDescription": {
      "en": "flexibleDescription comes here",
      "ja": "自由だーーー"
    }
  },
  "attributes": [
    {
      "trait_type": "Mouth",
      "value": "Surprised"
    }
  ],
  "medium": {
    "en": "Oil on canvas",
    "ja": "キャンバスに油彩",
    "zh": "布面油画"
  },
  "edition": {
    "uniqueness": "unique work",
    "proofType": "ED",
    "number": 1,
    "totalNumber": 3,
    "note": {
      "en": "some extra notes in 1 or more languages"
    }
  },
  "contractTerms": {
    "royaltyRate": 15.7,
    "fileURL": "https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf"
  },
  "note": {
    "en": "note",
    "zh": "注意"
  },
  "thumbnailURL": "https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png",
  "yearOfCreation": {
    "en": "around 2010-2020",
    "ja": "2010年から2020年頃"
  },
  "isDigital": true,
  "digitalDataHash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
  "digitalComponents": [{
    "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
    "category": "artwork"
  }],
  "attachmentFiles": [{
    "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5",
    "category": "artwork"
  }],
  "name": "some nft name",
  "description": "some nft description",
  "image": "https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png",
  "external_url": "https://openseacreatures.io/3"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.startrail.io/metadata-schema/startrail-registry-srr/version-2.2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
