Drafting NFTs
Creating a pre-minted NFT project
Start by creating a draft NFT project within your designated folder. All tokens within a project will inherit the blockchain being used:
POST /v1/folders/{id}/projects
{
"name": "Awesome Animal Collection",
"description": "A collection of Awesome Animal NFTs",
"blockchain": "ethereum", //ethereum, polygon, solana
"contractId": "0xE2Be41F9264d4588270BF8D964a68828419c0b1B" //optional
}
Tokens and Property types
NFTs have information associated with each token that can be set via our APIs. These properties
have 4 types with specific schemas listed below.
property | { "stringValue": "string", //ex. red "traitTypeKey": "string", //ex. color "type": "property" } |
numericTrait | { "numericTraitType": "string", //[number, boostNumber, boostPercentage, maxValue] "numericTraitValue" : number, //ex. 100 "traitTypeKey": "string", //ex. eventsAttended "type": "numericTrait" } |
dateTrait | { "type": "dateTrait", "traitTypeKey": "string", //ex. birthDate "dateTrait": { "year": number, //ex. 1985 "month": number, //ex. 10 "day": number, //ex. 25 "dayOfWeek": "string" //ex. [monday, tuesday, wednesday, thursday, friday, saturday, sunday] } } |
ranking | { "rankingFrom": number, //ex. 1 "rankingTo": number, //ex. 10 "traitTypeKey": "string", //ex. ranking "type": "ranking" } |
You can now start creating draft tokens inside of the project you just created. Set the tokens metadata and media files:
POST /api/open/v1/projects/{id}/tokens
1{
2 "name": "New token for project",
3 "description": "Description of token",
4 "createdByAuthor": "Federico",
5 "royaltyWalletAddress": "0x5AaeD7Bc0d5B41a5318285Cf0E7F5653B33B8DD1",
6 "royaltyPercentage": 12,
7 "tokenProperties": [
8 {
9 "traitTypeKey": "Color",
10 "type": "property",
11 "stringValue": "Red",
12 }
13 ],
14 "tokenFiles": [
15 {
16 "name": "main-image",
17 "extension": "PNG",
18 "blobFileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
19 "size": 14457,
20 "type": "main"
21 },
22 {
23 "name": "cover-art",
24 "extension": "JPG",
25 "blobFileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
26 "size": 21555,
27 "type": "coverArt"
28 }
29 ],
30 "tokenUnlockableContent": {
31 "privateMessage": "Private message for unlockable content",
32 "tokenUnlockableContentFiles": [
33 {
34 "name": "file-name",
35 "extension": "PNG",
36 "blobFileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
37 "size": 1298,
38 "title": "File title",
Editing NFT information
Remember, NFT metadata (besides private metadata) cannot be changed once the token has been minted.
Draft NFT tokens can be updated pre-mint. You can do so using:
PUT /v1/tokens/{id}
to edit fields accordingly.
Changing metadata of individual tokens within a project (pre-mint)
You might be looking to change the metadata for specific tokens in your project. A common use case might see each token with its own unique content and metadata. Below we'll review the steps for getting this setup.
PUT /v1/tokens/{id}
{
"tokenProperties": [
{
"type": "property",
"traitTypeKey": "Color",
"stringValue": "Red
},
{
"type": "property",
"traitTypeKey": "dateTrait",
"dateTrait": {....
}
This will override the properties set for the specific token specified
Updated 2 months ago