Meta

The Meta API

The Meta API is used to mint NFTs or assets. The API requires an API key and has an endpoint of https://api.instamint.com/v1/meta

Instamint clients mint and manage NFTs. Requests to mint via Meta by clients are asynchronous and operate like jobs. When a request to mint an asset is made, a new unique asset identifier is returned and the minting status of that asset is tracked. The client is able to pass in a arbitrary identifier that is then returned back on subsequent status checks, providing the client the ability to correlate the asset with their internal systems.

An asset is associated with four parties - Partner, Issuer or Creator, Owner and Custodian. Each role is filled by one or more Parties, where each Party has a unique identifier assigned by Instamint. Clients register parties by submitting a string name, and optionally, a wallet address. The Partner role is usually the Instamint client making the API call. The issuer or creator is the party that originates the asset, say a bank or artist, the owner is the current owner of the asset, usually the issuer or creator initially and the custodian is Instamint by default.

Thus, Meta has API endpoints that handle the creation of parties and their association with NFTs.

Party Management

Asset Management

Minting

The endpoint to mint an asset is /meta/v1/asset/mint. A JSON POST request includes the following parameters that can be supplied.

Instamint is multichain, meaning that tokens can be minted across a number of blockchains. Additional chains are planned to be supported and come online over the coming quarters.

When an asset is minted, any file assets, like an image or video, is uploaded to IPFS. The IPFS URLs of the digital assets are then aggregated into as single JSON metadata file and also uploaded to IPFS and is regarded as the token metadata. The metadata is cached by Instamint and accessible via the token URI.

Instamint Asset Hash ID

All assets, regardless of what chain they are minted on or whether the mint was successful or not are assigned an Instamint Asset Hash ID (or just asset hash). The hash is generated by concatenating two v4 UUIDs and randomly mixing the cases of the UUIDs. The asset hash serves as a standard way to reference tokens or across chains. For Ethereum tokens, an asset hash maps to a token ID and for Algorand chains, an asset hash maps to an ASA.

Cross Referencing

Much of the enterprise world is an amalgamation of diverse and disparate data systems. Often there is a need to correlate data from one system with another system. Instamint allows clients to correlate assets with arbitrary identifiers that are returned to them when assets are queried, making correlation with internal systems easier

Smart Contracts

Instamint manages a growing library of token smart contracts. For example, an ERC1155 exists on Ethereum mainnet at address 0xa993749323E2A8B18f7D4Ef541D6A1a89Cd92888 and Instamint uses this to mint NFTs. Depending on client needs, additional ERC1155 contracts may be required and created. To manage this, each contract is assigned a short name. In the provided contract address example, the short name for this contract is INSTA2. INSTA1 refers to an ERC721 and INSTA3 does not currently exist.

In the future, clients will be able to not only mint NFTs but mint smart contracts and create self-custody these smart contracts. For example, an artist may wish to have their own ERC721 smart contract and Instamint will provide the ability to do that with an API. As such, each instance of a smart contract will be given a short name to track. This is simplifies the need to retrieve metadata via a single URI scheme. The URI scheme for Instamint across any smart contract on any chain is:

Scheme: /v1/meta/v1/contract/CONTRACT_SHORT_NAME/token/TOKEN_ID

In the above scheme, CONTRACT_SHORT_NAME would be replaced by INSTA1, INSTA2 or any other smart contract minted through Instamint.

Last updated