Deploy a contract for NFT products

Deploys an ERC-721 or ERC-1155 smart contract where your can mint your NFTs on-demand. The supply of NFTs is not fixed; more can be minted into this contract at any point in the future. This is a required step if you wish to use Customizable minting as your NFTs will be minted into this contract.

As blockchains can take a few seconds up to a few minutes to sync, then after contract deployment, you can use the returned transaction_hash in Retrieve a deployed contract to get the contract_address.

You can deploy up to 5 contracts for free per chain. For higher limits, see pricing.

Useful for:

  • Deploying your own contracts so you easily can build custom products.

Related:

Read how royalties work here.

Body Params
string
enum
required

Blockchain to deploy the contract to. Cannot be changed later.

Allowed:
string
required

Name of the NFT contract. Cannot be changed later.

string
required

Symbol of the NFT contract. Cannot be changed later.

string
required

The contract owner address. If you wish to own the contract, then set it as your wallet address.

string
enum

Type of deployed contract (erc721/erc1155). Default type is erc721.

Allowed:
boolean

Default is false. If true, the metadata of the NFTs minted in the specified contract can be updated after minting (token URIs are not frozen on the contract level). This is useful for creating dynamic NFTs or revealing the NFTs after the drop. If false, all the NFTs minted in this contract are frozen by default which means token URIs are non-updatable. Metadata may also be frozen after deploying the contract on a contract and token level (see Update a deployed contract for NFT products & Update a minted NFT).

string

Optional metadata base URI for tokens. If you specify this, then NFTs minted in this contract will have metadata format of base_uri + metadata_uri. This is useful for creating dynamic NFTs or revealing the NFTs after the drop. base_uri can be changed with Update a deployed contract for NFT products only if metadata_updatable is true and metadata hasn’t been frozen on the contract level. If an NFT’s metadata is frozen on the token level in Update a minted NFT the base_uri can still be updated.

integer
0 to 10000

Secondary market royalty rate in basis points (100 bps = 1%). This value cannot exceed 10,000 bps.

string

Address for royalties. Defaults to owner_address if not set.

roles
array of objects

List of granular permissions for different wallet addresses set on the contract level. owner_address has all of the permissions.

Roles
number

Optional maximum transaction fee, in USD. Setting this parameter means you may be billed for up to max_transaction_fee for this request, while making the transaction more likely to succeed when there is a lot of activity (high gas prices) on the chain. If specified, must be higher than the list price for this transaction. Only available to Enterprise clients on the Ethereum chain.

Response

Language
Credentials
Header
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json