Diagram 1 describes how the Luniverse Multi-edition NFT APIs work.
- STEP 1) ERC721 Contract Deployment Firstly, you must deploy a Luiniverse NFT smart contract implementing the ERC721 standard on your blockchain environment to use NFT API. As Luniverse provides two deployment options for your convenience, choose an appropriate option between using Luniverse console or API. Here, you can see how to deploy the NFT contract using the Luniverse console.
- STEP 2) Media Upload (image, music, video, or else digital assets) After the contract is ready, the digital media file must be uploaded to the file storage through the media APIs. Use any uploading API along with your implementation preference.
- STEP 3) Metadata Creation Create metadata to specify the media resource for the token, and configure how many tokens are allowed to refer to the metadata. The metadata can contain the required and customizable properties of NFT, such as creator information and timestamp.
- STEP 4) NFT Minting and transferring Using token APIs, mint a token or tokens that refer to the created metadata id in step 3. You can mint multiple non-fungible tokens having the same metadata by assigning each token a distinguishable edition id using
editionNofield. Once minted, the tokens can be transferred from one wallet to another. Are you finding a way to control the massive tokens for your service? See our Bulk NFT API and with additional utility APIs for it!
Using this API, you can get a valid auth token to be included in every request header for NFT APIs.
API to issue an authorization token
As deploying the NFT contract is a part of a configuration task, one-time use of Luniverse console without any API integration is enough in general. You can consider integrating these APIs when building remote contract management functionalities such as an admin system.
Deploy ERC721 contract.
Get deployed contracts list.
Get details of deployed ERC721 contract by contractId.
Luniverse supports multiple media uploading APIs, and will gradually support more methods to help flexible integration. Choose a suitable option for your dev environment among these available methods.
Option 1) Media creation using direct file uploading through the HTTP Multipart request.
Create media resource for NFT from file upload (multipart/form)
Option 2) Media creation by passing a URL of the media resources, which is accessible by the public.
Create media resource from media access link
Option 3) Media creation using AWS S3 pre-signed URL based file upload.
This option is for developers demanding a stable file upload protocol that supports failure handling. Unlike the above two options that return the location assigned after completing the whole resource uploading, this option uses an intermediate link for file upload.
Fetch a pre-signed url that allows you to give temporary access to S3 objects.
Create media resource for NFT from a prepared resource key
Fetch a preview image URL from pre-signed URL
These APIs are for information retrieving of uploaded media and object deletion.
Get a list of uploaded media.
Get details of uploaded media.
Delete a uploaded media.
Metadata APIs are designed for managing NFT metadata to specify media resources and NFT properties. The created metadata properties can be modified except the maxMintLimit field until minted. But once referred to one or more active tokens, the metadata of the tokens would be frozen which means being non-modifiable.
Get a list of created metadata.
Fetch detailed description of created metadata.
Modify a created metadata.
Delete a created metadata.
APIs to mint, burn, retrieve, and transfer tokens are provided as follows. Token listing API supports pagination and filtering options such as
Mint an ERC721 token on a specific contract
Get details of a minted ERC721 token by tokenId
Get list of minted tokens on a specific contract
Transfer a ERC721 token
Transfer a ERC721 token (signedTx)
Burn a created ERC721 token (for raw Tx submit)
Burn a created ERC721 token (for signed Tx submit)
The token index is sequentially assigned for each minting request on ERC721 contracts. You can reserve index slots for future minting by metadata assignment. The reservation can be helpful when grouping tokens by their ids for easy management and range search.
Add contract metadata
Get list of contract metadata
Get contract metadata detail
Bulk NFT minting APIs supports a massive number of token minting with a single request. As these APIs work like a batch process, status checking and retrying interfaces are also provided.
Create New BulkMinting
Get BulkMinting list.
Fetch detailed description of bulk minting
Retry failed bulk-minting (after being set as RETRYABLE status by operator)
Returns transaction receipts submitted to the contract. You can use one of the transaction identifier(s) among
Get receipt(s) of transaction by one of [txId, txIds, txHash, txHashes]
You can use these APIs to upload and change the symbol image of NFT.
Create contract symbol image by uploading a image file.
Create contract symbol image using key obtained with prepare request
Fetch a pre-signed url that allows you to temporary access to upload symbol image.
Create contract symbol using key obtained with prepare request
Fetch a preview image url that pushed in a pre-signed url.