Quantum
  • Welcome to Quantum
  • Developer portal
    • Pricing
  • Self-Custody Infrastructure
    • Pincode Management
    • Private Key Management
  • Quickstart guide
  • Authentication
    • API Authentication
  • Faucets
  • Networks & URLs
  • Walletify Api
    • Overview
    • Getting started
    • User Management
    • Signing Methods
    • Testnet Assets
    • Basic Guides
      • Create a user
      • Retrieve a user
      • Update a user
      • Delete a user
      • Create a signing method
      • Update a signing method
      • Delete a signing method
      • Create a wallet
      • Retrieve wallet
      • Archive a wallet
      • Import a wallet
      • Export a wallet
      • Retrieve native balance
      • Retrieve ERC20 tokens
      • Retrieve NFTs
      • Transfer a native token
      • Transfer an ERC20 token
      • Transfer an NFT
      • Transfer a fungible token
      • Signatures
      • Read a contract
      • Execute a contract call
      • Get Transaction status
      • Resubmit a transaction
      • Get wallet events
      • Webhooks
    • Advanced Guides
      • Burn an NFT
      • Filter Spam NFTs
      • Filter NSFW NFTs
      • SWAP Token Pairs
      • Gasless/Meta Transactions
      • Sign RAW Transactions
      • Using Fiat Onramp with Walletify-API
      • Deploy an Ethereum contract
      • Integrate with WalletConnect
      • Set Up NFT Token Gating
      • Chain Specific Fields
      • Integrate with WalletConnect
      • Encrypted PIN Transfer
  • Nft Wizard Api
    • Overview
    • Getting started
    • Basic Guides
      • Get any NFT info
      • Get any NFT contract
      • Get NFTs by any wallet
      • Get wallets by any NFT
      • Create contract
      • Retrieve Contract
      • Delete Contract
      • Check Contract Status
      • Retrieve Contract Metadata
      • Update Contract Metadata
      • Create Token-type (NFT template)
      • Retrieve Token-type (NFT template)
      • Delete Token-type (NFT Template)
      • Check Token-type Status
      • Retrieve Token-type Metadata
      • Update Token-type Metadata
      • Mint an NFT
      • Batch Mint NFTs
      • Update NFT Metadata
      • Retrieve NFT Metadata
      • Add Audio to your NFTs
      • Add Video to your NFTs
      • Store NFT Media
      • Webhooks
    • Advanced Guides
      • Mass Minting
      • Speed Up Minting
      • Dynamic NFTs
      • Configure Royalties
      • Create Company Minter Wallet
      • Retrieve Company Minter Wallets
      • Store NFT Metadata on IPFS
      • View NFT on sandbox/testnet
    • NFT Configuration
      • Attributes
      • Animation & Media
      • Collection Info
      • Max Supply
      • Mint Number
      • Burnable
      • Metadata Storage
  • TMINTER API
    • Overview
    • Getting started
    • Basic Guide
      • Retrieve Any NFT Information
      • Retrieve NFT Contract Information
      • Retrieve NFTs by Wallet Address
      • Retrieve Wallets by NFT
      • Create a New NFT Contract
      • Retrieve a Contract
      • Delete a Contract
      • Check Contract Status
      • Retrieve Contract Metadata
      • Update Contract Metadata
      • Create Token-Type
      • Retrieve Token-Type
      • Delete Token-Type
      • Check Token-Type Status
      • Retrieve Token-Type Metadata
      • Update Token-Type Metadata
      • Mint a Single NFT
      • Batch Mint Multiple NFTs
      • Update NFT Metadata
      • Retrieve NFT Metadata
      • Add Audio to Your NFTs
      • Add Video to Your NFTs
      • Store NFT Media
      • Webhooks for NFT Events
    • Advance Guide
      • Dynamic NFT Creation
      • Token Economics and Supply Control
      • Advanced Minting: Royalty Distribution
      • Cross-Chain NFT Minting
      • NFT Sharding (Fractional Ownership)
      • Batch NFT Minting with Custom Metadata
      • Add Interactivity to NFTs
      • Advanced Media Integration: VR and AR
      • Webhook Triggers for Automated Processes
Powered by GitBook
On this page
  • Intro
  • Mass Minting Endpoints
  • Prerequisites
  • 1. Create a contract/collection
  • 2. Check the status of the contract/collection
  • Mass Minting Endpoints
  • 1. Create a token-type
  • 2. Check the status of token-type
  • 3. Mint NFTs
  • 4. Check the status of NFT mints
  1. Nft Wizard Api
  2. Advanced Guides

Mass Minting

PreviousAdvanced GuidesNextSpeed Up Minting

Last updated 10 months ago

Intro

Mass Minting allows you to mint a huge number of NFTs. You don't need to wait for the entire minting process to be completed before getting your response

This enhancement eradicates the risk of timeouts or lost connections arising from prolonged processing times or fluctuating gas fees. If a minting attempt fails, Quantum will automatically resubmit the request, minimizing interruptions.

Mass Minting provides a substantial increase in throughput for NFT minting, guaranteeing you a quicker and smoother NFT-minting experience.

You can submit a token-type creation request or an NFT mint request and then track its status using a unique ID.

Mass Minting Endpoints

We have introduced four new endpoints for Mass Minting. These endpoints can be used to:

Prerequisites

📘

You can skip this part if you have a contract created through NFT v1. Make sure you have the contractAddress and secretType as they will be used in the create Token-type request.

1. Create a contract/collection

This endpoint is used to create a contract/collection on v2.

HTTP

POST /api/v2/contracts/deployments

Example Request

HTTP

POST /api/v2/contracts/deployments

JSON

{
  "name": "NFT Collection",
  "symbol": "NFTC",
  "description": "Sample description",
  "image": "https://techround.co.uk/wp-content/uploads/2022/01/quantum-logo.png",
  "externalUrl": "www.quantum.io",
  "storage": {
    "type": "IPFS"
  },
  "chain": "MATIC"
}

Response Body

📘

The result.id is the deploymentId and can be used to track the status of this contract creation request.

JSON

{
  "success": true,
  "result": {
    "name": "NFT Collection",
    "description": "Sample description",
    "id": "ec5fdbd8-ca5e-4cf1-94aa-843dcc4e0dcc",
    "secretType": "MATIC",
    "symbol": "NFTC",
    "externalUrl": "www.quantum.io",
    "image": "https://techround.co.uk/wp-content/uploads/2022/01/quantum-logo.png",
    "media": [],
    "transactionHash": "0xa7f550773dd957f3d586cae27f1ed5142cd48c63888065b00cb25d1c50254c7a",
    "status": "PENDING",
    "storage": {
      "type": "ipfs",
      "location": "ipfs://QmTxV2QFBWy7iXnusuLA1qHZAFp5wK3jF8KTQCyvnn4x2T"
    },
    "contractUri": "ipfs://QmTxV2QFBWy7iXnusuLA1qHZAFp5wK3jF8KTQCyvnn4x2T",
    "external_link": "www.quantum.io"
  }
}

2. Check the status of the contract/collection

This endpoint is used to check the status of a contract/collection on v2. The {deploymentId} in the path is for tracking the status of contract creation. It is in the response body of the create contract/collection endpoint as result.id.

HTTP

GET /api/v2/contracts/deployments/{deploymentId}

Example Request

HTTP

GET /api/v2/contracts/deployments/ec5fdbd8-ca5e-4cf1-94aa-843dcc4e0dcc

Response Body

📘

In the response body look for the result.status parameter. It can have three possible values:

  • SUCCEEDED

  • PENDING

  • FAILED

JSON

{
  "success": true,
  "result": {
    "name": "NFT Collection",
    "description": "Sample description",
    "address": "0xe2a43584f37f9d4a8e446d2e38c37bde0405c75d",
    "id": "ec5fdbd8-ca5e-4cf1-94aa-843dcc4e0dcc",
    "secretType": "MATIC",
    "symbol": "NFTC",
    "externalUrl": "www.quantum.io",
    "image": "https://techround.co.uk/wp-content/uploads/2022/01/quantum-logo.png",
    "media": [],
    "transactionHash": "0xa7f550773dd957f3d586cae27f1ed5142cd48c63888065b00cb25d1c50254c7a",
    "status": "SUCCEEDED",
    "storage": {
      "type": "ipfs",
      "location": "ipfs://QmTxV2QFBWy7iXnusuLA1qHZAFp5wK3jF8KTQCyvnn4x2T"
    },
    "contractUri": "ipfs://QmTxV2QFBWy7iXnusuLA1qHZAFp5wK3jF8KTQCyvnn4x2T",
    "external_link": "www.quantum.io"
  }
}

Mass Minting Endpoints

1. Create a token-type

This endpoint is used to create a token-type and it accepts the request body parameters as an ARRAY.

The contractAddress and secretType (blockchain) is defined within the request body.

HTTP

POST /api/v2/token-types/creations

Example Request

HTTP

POST /api/v2/token-types/creations

JSON

{
  "secretType": "MATIC",
  "contractAddress": "0xf5b11b4f458cc12a7989a146c5db2e7d500e2241",
  "creations": [
    {
      "name": "My first NFT Token-type",
      "description": "quantum",
      "image": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png"
    }
  ]
}

Response Body

📘

The result.creations.id is the creationId and can be used to track the status of this token-creation request.

JSON

{
  "success": true,
  "result": {
    "creations": [
      {
        "id": "45cf858a-cb0d-4e31-b6e1-b3bf4c65d014",
        "status": "PENDING",
        "tokenTypeId": 5,
        "metadata": {
          "name": "My first NFT Token-type",
          "description": "Quantum",
          "image": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png",
          "imagePreview": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png",
          "imageThumbnail": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png",
          "animationUrls": [],
          "attributes": [
            {
              "type": "system",
              "name": "tokenTypeId",
              "value": "5",
              "traitType": "Token Type ID",
              "trait_type": "Token Type ID"
            }
          ],
          "contract": {
            "address": "0xf5b11b4f458cc12a7989a146c5db2e7d500e2241",
            "name": "Test",
            "symbol": "TE",
            "image": "string",
            "imageUrl": "string",
            "image_url": "string",
            "description": "Testing",
            "externalLink": "www.quantum.io",
            "external_link": "www.quantum.io",
            "externalUrl": "www.quantum.io",
            "external_url": "www.quantum.io",
            "media": [],
            "type": "ERC_1155"
          },
          "fungible": false
        }
      }
    ]
  }
}

2. Check the status of token-type

This endpoint is used to check the status of token-type creation. The {creationId} in the path is for tracking the status of token-type creation. It is in the response body of the create token-type endpoint as result.id.

HTTP

GET /api/v2/token-types/creations/{creationId}

Example Request

HTTP

GET /api/v2/token-types/creations/45cf858a-cb0d-4e31-b6e1-b3bf4c65d014

Response Body

📘

In the response body look for the result.status parameter. It can have three possible values:

  • SUCCEEDED

  • PENDING

  • FAILED

JSON

{
  "success": true,
  "result": {
    "id": "45cf858a-cb0d-4e31-b6e1-b3bf4c65d014",
    "status": "SUCCEEDED",
    "transactionHash": "0xd8a7677dadfb308be606746d6fd522f9b3361a6e81c09f41ceabd7abb2593407",
    "tokenTypeId": 5,
    "mints": [],
    "metadata": {
      "name": "My first NFT Token-type",
      "description": "quantum",
      "image": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png",
      "imagePreview": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png",
      "imageThumbnail": "https://storage-qa.quantum.io/applications/1f64ded9-2a05-4824-b682-661023359357/StickFigureHi.png",
      "animationUrls": [],
      "attributes": [
        {
          "type": "system",
          "name": "tokenTypeId",
          "value": "5",
          "traitType": "Token Type ID",
          "trait_type": "Token Type ID"
        }
      ],
      "contract": {
        "address": "0xf5b11b4f458cc12a7989a146c5db2e7d500e2241",
        "name": "Test",
        "symbol": "TE",
        "image": "string",
        "imageUrl": "string",
        "image_url": "string",
        "description": "Testing",
        "externalLink": "www.quantum.io",
        "external_link": "www.quantum.io",
        "externalUrl": "www.quantum.io",
        "external_url": "www.quantum.io",
        "media": [],
        "type": "ERC_1155"
      },
      "fungible": false
    }
  }
}

3. Mint NFTs

This endpoint is used to mint fungible or non-fungible tokens to wallet addresses. You can add multiple addresses as shown below. This is the capability of mass minting, you can mint multiple tokens to multiple wallet addresses simultaneously.

📘

NOTE: The contractAddress, secretType (blockchain), and the tokenTypeId are defined in the request body.

HTTP

POST /api/v2/tokens/mints

Example Request

HTTP

POST /api/v2/tokens/mints

JSON

{
  "secretType": "MATIC",
  "contractAddress": "0xe2a43584f37f9d4a8e446d2e38c37bde0405c75d",
  "tokenTypeId": 1,
  "destinations": [
    {
      "address": "0xe2a43584f37f9d4a8e446d2e38c37bde0405c75d",
      "amount": 1
    },
    {
      "address": "0xc59cA37cefeDF61b998378d45386FBd8ed57cEC9",
      "amount": 2
    },
    {
      "address": "0xaFB11F991f9c7DDB62463e4E16e917d6f92e9337",
      "amount": 1
    },
    {
      "address": "0xaF16e917df9c7DD6f92e93B11F37991B62463e4E",
      "amount": 3
    }
  ]
}

Response Body

📘

The result.mints.id is the mintId and can be used to track the status of this NFT mint request.

JSON

{
  "success": true,
  "result": {
    "mints": [
      {
        "id": "0c1fca9d-37b2-4863-aac3-061a982801e5",
        "status": "PENDING",
        "destination": {
          "address": "0xe2a43584f37f9d4a8e446d2e38c37bde0405c75d",
          "amount": 1
        }
      },
      {
        "id": "1f142660-8fd8-47f4-8c43-cf4cb45e16a9",
        "status": "PENDING",
        "destination": {
          "address": "0xc59cA37cefeDF61b998378d45386FBd8ed57cEC9",
          "amount": 1
        }
      },
      {
        "id": "5934a7d6-ca41-423b-9510-31ef4fc9b328",
        "status": "PENDING",
        "destination": {
          "address": "0xc59cA37cefeDF61b998378d45386FBd8ed57cEC9",
          "amount": 1
        }
      },
      {
        "id": "36aac662-ef6c-4147-a5fc-79f76b0fdd13",
        "status": "PENDING",
        "destination": {
          "address": "0xaFB11F991f9c7DDB62463e4E16e917d6f92e9337",
          "amount": 1
        }
      },
      {
        "id": "f90c8eb6-e73d-428b-96e0-4a3bfe0a60be",
        "status": "PENDING",
        "destination": {
          "address": "0xaF16e917df9c7DD6f92e93B11F37991B62463e4E",
          "amount": 1
        }
      },
      {
        "id": "6ad3e3df-f2ae-43c0-ad56-3f030041c115",
        "status": "PENDING",
        "destination": {
          "address": "0xaF16e917df9c7DD6f92e93B11F37991B62463e4E",
          "amount": 1
        }
      },
      {
        "id": "ed7e88b2-4650-4673-8d2d-27fc52bd6656",
        "status": "PENDING",
        "destination": {
          "address": "0xaF16e917df9c7DD6f92e93B11F37991B62463e4E",
          "amount": 1
        }
      }
    ],
    "metadata": {
      "name": "Test Token-Type",
      "description": "Testing Token-Type",
      "image": "https://pbs.twimg.com/profile_images/1669300450649157635/4xg-wsbK_400x400.jpg",
      "imagePreview": "https://pbs.twimg.com/profile_images/1669300450649157635/4xg-wsbK_400x400.jpg",
      "imageThumbnail": "https://pbs.twimg.com/profile_images/1669300450649157635/4xg-wsbK_400x400.jpg",
      "backgroundColor": "#FFFFFF",
      "background_color": "#FFFFFF",
      "animationUrl": "https://assets-global.website-files.com/6347bd6199b204194ca76e2c/63a319d83d9abcf8d6dd3dd8_Product_wallet.webp",
      "animation_url": "https://assets-global.website-files.com/6347bd6199b204194ca76e2c/63a319d83d9abcf8d6dd3dd8_Product_wallet.webp",
      "externalUrl": "www.quantum.io",
      "external_url": "www.quantum.io",
      "animationUrls": [
        {
          "type": "image",
          "value": "https://assets-global.website-files.com/6347bd6199b204194ca76e2c/63a319d83d9abcf8d6dd3dd8_Product_wallet.webp"
        }
      ],
      "attributes": [
        {
          "type": "property",
          "name": "Reliability",
          "value": "100",
          "maxValue": "100",
          "traitType": "Reliability",
          "trait_type": "Reliability"
        },
        {
          "type": "system",
          "name": "tokenTypeId",
          "value": "1",
          "traitType": "Token Type ID",
          "trait_type": "Token Type ID"
        },
        {
          "type": "property",
          "name": "maxSupply",
          "value": "20",
          "traitType": "Max Supply",
          "trait_type": "Max Supply"
        }
      ],
      "contract": {
        "address": "0xe2a43584f37f9d4a8e446d2e38c37bde0405c75d",
        "name": "NFT Collection",
        "symbol": "NFTC",
        "image": "https://techround.co.uk/wp-content/uploads/2022/01/quantum-logo.png",
        "imageUrl": "https://techround.co.uk/wp-content/uploads/2022/01/quantum-logo.png",
        "image_url": "https://techround.co.uk/wp-content/uploads/2022/01/quantum-logo.png",
        "description": "Sample description",
        "externalLink": "www.quantum.io",
        "external_link": "www.quantum.io",
        "externalUrl": "www.quantum.io",
        "external_url": "www.quantum.io",
        "media": [],
        "type": "ERC_1155"
      },
      "fungible": false
    }
  }
}

4. Check the status of NFT mints

This endpoint is used to check the status of NFT mints. The {mintId} in the path is for tracking the status of the NFT mint. It is in the response body of the Mint Fungible or Non-Fungible Tokens endpoint as result.mints.id.

HTTP

GET /api/v2/tokens/mints/{mintId}

Example Request

HTTP

GET /api/v2/tokens/mints/0c1fca9d-37b2-4863-aac3-061a982801e5

Response Body

📘

In the response body look for the result.status parameter. It can have three possible values:

  • SUCCEEDED

  • PENDING

  • FAILED

JSON

{
  "success": true,
  "result": {
    "id": "0c1fca9d-37b2-4863-aac3-061a982801e5",
    "tokenId": 2,
    "status": "SUCCEEDED",
    "transactionHash": "0xb5e3148575644a29fb6d4b41c7632a362811765cb1135d01791e53fcbccfdb76",
    "destination": {
      "address": "0xe2a43584f37f9d4a8e446d2e38c37bde0405c75d",
      "amount": 1
    },
    "metadata": {
      "name": "Test Token-Type",
      "description": "Testing Token-Type",
      "image": "https://pbs.twimg.com/profile_images/1669300450649157635/4xg-wsbK_400x400.jpg",
      "imagePreview": "https://pbs.twimg.com/profile_images/1669300450649157635/4xg-wsbK_400x400.jpg",
      "imageThumbnail": "https://pbs.twimg.com/profile_images/1669300450649157635/4xg-wsbK_400x400.jpg",
      "backgroundColor": "#FFFFFF",
      "background_color": "#FFFFFF",
      "animationUrl": "https://assets-global.website-files.com/6347bd6199b204194ca76e2c/63a319d83d9abcf8d6dd3dd8_Product_wallet.webp",
      "animation_url": "https://assets-global.website-files.com/6347bd6199b204194ca76e2c/63a319d83d9abcf8d6dd3dd8_Product_wallet.webp",
      "externalUrl": "www.quantum.io",
      "external_url": "www.quantum.io",
      "animationUrls": [
        {
          "type": "image",
          "value": "https://assets-global.website-files.com/6347bd6199b204194ca76e2c/63a319d83d9abcf8d6dd3dd8_Product_wallet.webp"
        }
      ],
      "attributes": [
        {
          "type": "property",
          "name": "Reliability",

Request Endpoint:

Request Endpoint:

Request Endpoint:

Request Endpoint:

Request Endpoint:

Request Endpoint:

Create token-type
Check the status of token-type creation
Mint Fungible or Non-Fungible Tokens
Check the status of the NFT mints
reference
reference
reference
reference
reference
reference