The Meta API

The Meta API is used to mint NFTs or assets. The API requires an API key and has an endpoint of

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

EndpointDescriptionOps Charge


Creates new parties and returns an identifier



Lookup a party by name and retrieve



Get current USD & USDC balance



Create a new party with new Algorand, Ethereum address and Stripe ID



Returns party information about the caller


Asset Management

EndpointDescriptionOps charge


Request an asset be minted, see JSON payload below



Get status of an asset to determine if it has been minted or not



Get list of all assets I own



Transfer ownership of asset from one Party to another



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



Chain to mint to, currently: ethereum-mainnet


algorand-testnet alogrand-mainnet (coming soon)


Causes a contract to be deployed and minted to, currently: erc721, erc1155 and arc3. If contractType is used then contract should not.


The type of asset, either pre-defined or designed by Designer


Moniker of an existing smart contract, i.e. INSTA1, INSTA2. If contract is used then contractType should not.


Lazy mint or on-chain


A hierarchy of parameters, schemas are pre-built or designed in Designer


Where to store metadata, currently: ipfs (arweave coming soon)


Description of asset, not publicly displayed


A note added to the asset’s notebook


Fractionalization of assets (in 1, 10, 100, 1000 only)


Basis of royalties to go to issuer


Parameters specific to selected contract or contractType


Parameters specific to selected chain


An arbitrary string to help cross-reference an asset with the callers data, i.e. an internal invoice number

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.

ChainSupport Level


ERC721, ERC1155


ERC721, ERC1155


ARC3, ARC18, ARC69

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