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 (You can search by "ERC721 Metadata JSON Schema")
Attributes
*
is required.
Attribute | Description | data format | Example |
---|---|---|---|
$schema* | IPFS URL to the schema json the given metadata follows. Fixed value for Metadata Version 2.2 in example value. | URL | ipfs://bafkreibebzcktpolubbklh73mxkxswkf3nagmvgq3tsnp33xsi6bbye5ay |
chipUIDs | Array containing the list of the Chip UIDs of a physical artwork | Array of Strings | ["1234567890abcdef"] |
startbahnCertICTagUIDs | Define it as same as chipUIDs. | Array of Strings | ["1234567890abcdef"] |
title* | Flexible language description object for title of the work. | Language Object (see at the bottom of the table) | { "en": "A title", "ja": "タイトル", "zh": "一个标题" } |
note | Flexible language note object for title of the work. | Language Object (see at the bottom of the table) | { "en": "The material is very fragile", "zh": "该材料非常脆弱" } |
size | Object describing the size | object | { "width": 200.0, "height": 400.0, "depth": 12.4, "unit": "pixel", "flexibleDescription": { "en": "flexibleDescription comes here", "ja": "自由だーーー" } } |
size.height | height dimension number. | number | 10.5 |
size.width | width dimension number. | number | 10.5 |
size.depth | depth dimension number. | number | 10.5 |
size.unit | string specifying the unit of the dimensional numbers. | enumerated String with one of the following values. ["mm","cm","m","in","ft","pixel"] | mm |
size.flexibleDescription | Alternative way to describe the size of the artwork, if the others dont apply. | Language Object (see at the bottom of the table) | { "en": "flexibleDescription comes here", "ja": "自由だーーー" } |
medium* | Flexible language description object for the medium. | Language Object (see at the bottom of the table) | { "en": "Oil on canvas", "ja": "キャンバスに油彩", "zh": "布面油画" } |
edition | Edition details | object | { "uniqueness": "unique work", "proofType": "ED", "number": 1, "totalNumber": 3, "note": { "en": "some extra notes " } } |
edition.note | Note to add details to the Edition information | Language Object (see at the bottom of the table) | { "en": "note comes here", "ja": "自由だーーー" } |
edition.uniqueness | Uniqueness of artwork | enumerated String with one of the following values ["unique work", "non unique work", "unknown"] | unique work |
edition.proofType | Proof type of edition: -ED Edition -AP Artist Proof -TP Trial Proof -SP Special Proof -HC Hors de Commerce -Open Edition Need to add it when the artwork is edition work. | enumerated String with one of the following values ["ED","AP","TP","SP","HC", "Open Edition"] | ED |
edition.number | Edition number (out of total editions) | number (integer) | 1 |
edition.totalNumber | Total number of editions | number (integer) | 3 |
contractTerms | Object with contract details | Object | { "royaltyRate": 15.7, "fileURL": "https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf" } |
contractTerms.royaltyRate | Royalty rate percentage. | number (integer) | 15.7 |
contractTerms.fileURL | URL where the contract terms file is stored | URL | https://startrail.io/whitepaper/startrail_wp_en_v1.1.pdf |
thumbnailURL* | URL where the artwork thumbnail is stored | URL | |
isDigital | boolean indicator to specify that the work is a digital artwork. | boolean | true |
digitalDataHash | DEPRECATED | - | - |
digitalComponents | ISSUE API USER should leave it UNDEFINED. You can specify these values outside metadata. Array of Digital file objects to specify digital components | Array of Digital File Objects (see at the bottom of the table) | [{ "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "artwork" }] |
attachmentFiles | ISSUE API USER should leave it UNDEFINED. You can specify these values outside metadata. Array of Digital file objects to specify attachment files. | Array of Digital File Objects (see at the bottom of the table) | [{ "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "certificate" }] |
name* | A field defined in ERC721. External interfaces including NFT marketplaces or wallets like OpenSea or MetaMask may show this field's value.
If | string | An example of title |
description | A field defined in ERC721. External interfaces including NFT marketplaces or wallets like OpenSea or MetaMask may show this field's value. 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. | string | Description of example NFT |
image* | A field defined in ERC721. External interfaces including NFT marketplaces or wallets like OpenSea or MetaMask may show this field's value. If | URL | |
external_url | External reference URL used for OpenSea. 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 . | URL | |
yearOfCreation* | Flexible language description object for the year of the creation | Language Object (see at the bottom of the table) | { "en": "around 2010-2020", "ja": "2010年から2020年頃" } |
attributes | OpenSea customizable filterable attributes. Check https://docs.opensea.io/docs/metadata-standards#attributes | Array of Attributes Object (see at the bottom of the table) | [{ "trait_type": "Mouth", "value": "Surprised" }] |
Object
Attribute | Description | data format | Example |
---|---|---|---|
<Language Object> | An object specifying multiple supported languages. The property names are two letter letter language codes from BCP-47, such as en or ja. | Each property name: 2 char string from BCP-47, value: string | { "en": "A title", "ja": "タイトル", "zh": "一个标题" } |
<Digital File Object> | An object providing details of digital files. | Object | { "hash": "sha256-247e4b904322a1dd0b148cd77e8627ec7d391251380880ab4621726ecb945ef5", "category": "artwork", "URL":"https://some.url.com/file", "name":"filename.jpg" } |
<Digital File Object>.hash | ISSUE API USER should leave it UNDEFINED sha256 Hash Hex String of the file. | sha256 Hash Hex String | sha256-f63238ce3b8c4f8a99fb453d716d5451f75508c2e403a58af0412014187e7a61 |
<Digital File Object>.category | String describing the category of the file. | String to describe the category. Supported values in Startrail PORT: ”certificate”, “for_authenticity”,”artwork”,”installation” | artwork |
<Digital File Object>.URL | url where the file can be accessed | URL | |
<Digital File Object>.name | name of the file | string | |
<Attributes Object> | OpenSea customizable filterable attributes. Check https://docs.opensea.io/docs/metadata-standards#attributes | Array of Object | { "trait_type": "Mouth", "value": "Surprised" } |
<Attributes Object>.trait_type | string | Mouth | |
<Attributes Object>.value | string | Surprised |
Changes From the Previous Version
Change of
$schema
into IPFS URLremoval of of
$schemaIntegrity
Addition of a new field
attributes
Complete Example
Last updated