cXc Music NFT Standard 🎸
Version: 1.0.0 Total Fields: 24 by: cXc.world
There's also written instructions below
The cXc Music NFT Standard works with the Atomichub and Neftyblocks to help any individual, collection, or application to make their own music NFT project.
This standard is a schema (more recently called "category" on atomichub.io) which allows you to make templates for Music NFTs.
The benefits of using this schema include forward compatibility (Geotags) getting artists plays that pay with traditional platform players, credits, links, and more.
There's no coding required. But you'll see the code below ready for changes if you'd rather exclude traditional players, or add extra audio fields. You can even make a music NFT from your phone.
Feel free to use or modify this schema for any purposes in accordance with the license.
This standard includes:
Name of the NFT (Can be different than track title)
One audio field
One video field
Four images [Main, Back, Collection and Promo]
One clip that can be anything used for a preview or extra media field of any type
Title [If different than name]
Album name
Track # [If it's just one track]
Any number of custom credits
Any number of custom platform links
ISO Country code
Readable locale
Geotag as GeoJson Point
License
Rarity
All media fields use IPFS. Fields labeled
image
can be uploaded through Atomichub.com. Pinata is an option to host files with IPFD with a free tier.All other info fields are strings (except "track" is int64)
year
is also a string in case there's a more accurate date desired or a range of years.Rarity is filterable on many NFT marketplaces
License is for codes like "CC-BY", or can be used to declare a priviledge granted upon receiving NFT.
ISO country codes should follow ISO 3166-1 alpha-3 (USA, COL, etc)
Locale string intended to be used in this format "City, County, State" or corresponding values for a given locality
geotag is a GeoJson point stored as a string
Field name | Type | Description |
---|---|---|
name | string | NFT name |
img | image | Primary image / Cover image |
audio | audio | Audio file IPFS hash |
video | video | Music video file IPFS hash |
clip | video | Additional video file IPFS hash |
backimg | image | Back cover of album / single |
promo | ipfs | Extra image or video for promo poster, QR code, etc |
collectionimg | image | Extra image for Collection, optional |
artist | string | The artist, if you prefer a separate field to putting with other credits |
title | string | The actual title of the track |
album | string | Title of the album |
track | int64 | Number of the track on the album |
released | string | Date first released |
about | string | Description field with info about |
credits | string | Array of song credits |
youtube | string | Youtube URL |
spotify | string | Spotify URL |
soundcloud | string | Soundcloud URL |
platforms | string | A list of all platforms the music can be found, and socials if desired |
nation | string | Three-letter ISO (USA, BRA, AUS, etc) |
locale | string | Local locales (State, County, City in USA) |
geotag | string | GeoJSON Point stored as string, format "lat,lng" (e.g., "37.7749,-122.4194"), or a "[lat,lng]" coordinate array (e.g., "[37.7749, -122.4194]") |
license | string | Declare license, (Copyright, CC0, MIT, etc) |
rarity | string | How scarce is this NFT? Abundant Common Uncommon Rare Epic Mythic Unique |
First, you'll need a collection.
To add a Music NFT schema to your collection, you may:
- 1.Manually re-create the schema from the UI (Remember schema is called 'category' on atomichub) by adding each field in the table above. This is 'the long way'
or, do it almost instantly by:
- 2.Copy the code below using the copy icon in the top-right of the code. Paste the following array into the
idata
field using the Atomic Assets createschema action to create your own schema on Atomic Assets, and then create template from the schema for each NFT you release via Atomichub or Neftyblocks.
ℹ️ Important
Using this schema does NOT mean that each template (or NFT) must have every field filled, but you can only choose from fields in your future templates. You may add fields to the schema later, but not remove them. New fields will appear at the end (ugly), thus, best to modify this standard to your needs before deploying.
Merged with Simple version (This is the Simple Version) Works with Atomichub UI out of the box. You can even avoid touching this code by using Create Schema on atomichub to replicate.
[
{
"name": "name",
"type": "string"
},
{
"name": "img",
"type": "string"
},
{
"name": "audio",
"type": "ipfs"
},
{
"name": "video",
"type": "ipfs"
},
{
"name": "clip",
"type": "ipfs"
},
{
"name": "backimg",
"type": "image"
},
{
"name": "promo",
"type": "image"
},
{
"name": "collectionimg",
"type": "image"
},
{
"name": "artist",
"type": "string"
},
{
"name": "title",
"type": "string"
},
{
"name": "album",
"type": "string"
},
{
"name": "track",
"type": "int64"
},
{
"name": "released",
"type": "string"
},
{
"name": "about",
"type": "string"
},
{
"name": "credits",
"type": "string"
},
{
"name": "youtube",
"type": "string"
},
{
"name": "spotify",
"type": "string"
},
{
"name": "soundcloud",
"type": "string"
},
{
"name": "platforms",
"type": "string"
},
{
"name": "nation",
"type": "string"
},
{
"name": "locale",
"type": "string"
},
{
"name": "geotag",
"type": "string"
},
{
"name": "license",
"type": "string"
},
{
"name": "rarity",
"type": "string"
}
]
Once you have your schema in place, use it to drop your own Music NFTs using tools like Atomichub and Neftyblocks.
The power is in your hands! You can add, remove, or change fields when making your own schema.
Ideas:
Artist - If you'd rather have your name here than in credits
Multiple Audio fields - Duplicate the audio fields to include all songs on an album (DYOR on marketplace support)
Metadata - Add custom metadata like the key, BPM, time, whatever you want
If you'd rather include all of your links in the Platform field, you can remove the Spotify, Soundcloud, and Youtube field.
Removing Youtube will also disable Youtube player from showing up on Atomichub and likely other marketplaces.
There is no magical benefit (yet) of using this standard, just practical ones. Youtube plays can bring extra revenue, as will the links to other players. You may credit all involved, and geographic data opens up new use cases for your NFT.
In the future it's possible a mapp / dapp (like cXc) to allow users to register their own schemas that adhere to this standard, creating a Music-NFT exclusive platform that doesn't rely on accounts or collection names alone.
This schema will grow and evolve. Feel free to open issues on this repo with your suggestions.
If you translate to another blockchain or NFT standard, please send a pull request adding a file named .md in the main directory containing the code needed to deploy, or open an issue with the code and I can update the repo if you prefer.
Changed
year
to released
Changed types to better work with atomichub's UI Improved explanation + added imageAdded Additional
clip
and img fields Changed promo
description to suggest video + image Merged Simple version, made Simple the only option. To use old version, change string to string[] and use. This isn't recommended as there's little benefit and it's not working well through the Atomichub websiteAdded
artist
, year
, and collectionimg
Added
rarity
and license
Added
track
and album
Last modified 1mo ago