LLM Notice: This documentation site supports content negotiation for AI agents. Request any page with Accept: text/markdown or Accept: text/plain header to receive Markdown instead of HTML. Alternatively, append ?format=md to any URL. All markdown files are available at /md/ prefix paths. For all content in one file, visit /llms-full.txt
Skip to main content

Minting Platform Integration Guide

Deploy secure smart contracts and mint tokens at scale on Flow with Crossmint's comprehensive minting platform.

Overview​

Crossmint's minting platform provides no-code tools and powerful APIs to create, mint, update, burn, and airdrop tokens on Flow.

Key benefits:

  • Deploy secure smart contracts without coding.
  • Mint, update, burn, and airdrop tokens at scale.
  • Manage metadata and collections.
  • Flow EVM and Cadence support.

Prerequisites​

  • Crossmint account with minting activated.
  • Flow development environment.
  • Basic knowledge of NFT standards.

Step 1: Deploy smart contract​

No-code contract deployment​

  1. Go to Crossmint Console > Collections
  2. Click Create Collection
  3. Choose Flow blockchain and configure:
    • Contract type: ERC-721 or Cadence NFT
    • Collection metadata
    • Royalty settings
    • Access controls

API contract deployment​


_15
// Deploy contract via API
_15
const contract = await crossmint.contracts.deploy({
_15
blockchain: "flow",
_15
type: "erc-721",
_15
name: "My Flow Collection",
_15
symbol: "MFC",
_15
metadata: {
_15
description: "Amazing NFTs on Flow",
_15
image: "https://example.com/collection.png"
_15
},
_15
royalty: {
_15
recipient: "0x...",
_15
percentage: 250 // 2.5%
_15
}
_15
});

Step 2: mint NFTs​

Single NFT minting​


_13
const nft = await crossmint.nfts.mint({
_13
collectionId: "your-collection-id",
_13
recipient: "user-wallet-address",
_13
metadata: {
_13
name: "Amazing Flow NFT",
_13
description: "Unique digital art",
_13
image: "https://example.com/nft.png",
_13
attributes: [
_13
{ trait_type: "Rarity", value: "Legendary" },
_13
{ trait_type: "Network", value: "Flow" }
_13
]
_13
}
_13
});

Batch minting​


_10
const batchMint = await crossmint.nfts.batchMint({
_10
collectionId: "your-collection-id",
_10
recipients: [
_10
{ address: "0x...", metadata: { name: "NFT #1" } },
_10
{ address: "0x...", metadata: { name: "NFT #2" } }
_10
]
_10
});

Step 3: airdrops​


_10
const airdrop = await crossmint.airdrops.create({
_10
collectionId: "your-collection-id",
_10
recipients: ["0x...", "0x...", "0x..."],
_10
metadata: {
_10
name: "Flow Airdrop NFT",
_10
description: "Special airdrop for community"
_10
}
_10
});