Market Cap: $2.1817T 3.91%
Volume(24h): $87.454B 8.66%
Fear & Greed Index:

15 - Extreme Fear

  • Market Cap: $2.1817T 3.91%
  • Volume(24h): $87.454B 8.66%
  • Fear & Greed Index:
  • Market Cap: $2.1817T 3.91%
Cryptos
Topics
Cryptospedia
News
CryptosTopics
Videos
Top Cryptospedia

Select Language

Select Language

Select Currency

Cryptos
Topics
Cryptospedia
News
CryptosTopics
Videos

How do I create an NFT collection on Solana using Candy Machine?

Set up Solana devnet, install Node.js 16.15+, Rust, Phantom Wallet, and Sugar CLI; prepare assets, upload to Arweave, deploy Candy Machine, and integrate with Metaplex UI.

Jun 09, 2026 at 03:55 am

Project Initialization and Environment Setup

1. Install Node.js version 16.15 or higher to ensure compatibility with modern Metaplex tooling.

2. Set up the Solana CLI and configure it for devnet or mainnet-beta using solana config set --url https://api.devnet.solana.com.

3. Create a new wallet with solana-keygen new --outfile ./id.json and fund it via airdrop for transaction fees.

4. Install Phantom Wallet as the primary interface for signing transactions during minting and UI interactions.

5. Verify Rust installation before proceeding, since Sugar CLI depends on the Rust toolchain for compilation and execution.

Sugar CLI Configuration and Asset Preparation

1. Clone the official Metaplex repository and install Sugar CLI via cargo install --path ./sugar.

2. Run sugar init to generate a project scaffold containing assets/, config.json, and sugar.json.

3. Place all NFT image files in PNG or JPG format inside the assets/ directory at 512×512 resolution.

4. Prepare matching JSON metadata files with fields including name, description, image, and attributes.

5. Validate asset integrity using sugar validate to catch formatting errors before upload.

Asset Upload and Candy Machine Deployment

1. Execute sugar upload to push assets and metadata to Arweave, generating immutable CID references.

2. Confirm successful upload by inspecting the generated cache.json file containing off-chain URIs.

3. Deploy the Candy Machine program with sugar deploy, which initializes on-chain state and returns a unique Candy Machine ID.

4. Store the returned Candy Machine ID securely—it serves as the canonical address for all subsequent minting operations.

5. Use solana account to verify on-chain existence and configuration parameters.

Frontend Integration and Minting Interface

1. Clone the official Metaplex Candy Machine UI repository to serve as the client-side minting portal.

2. Modify .env to inject the deployed Candy Machine ID, RPC endpoint, and network cluster.

3. Configure wallet adapters to support Phantom, Solflare, and Backpack for broad user accessibility.

4. Customize visual elements including logo, background, and button colors without altering core logic.

5. Launch the frontend with yarn start and test connection to the deployed machine via live preview.

Frequently Asked Questions

Q: Can I change the mint price after deploying Candy Machine?A: No. The price is hardcoded into the on-chain configuration at deployment time and cannot be altered retroactively.

Q: What happens if I lose my Candy Machine ID?A: Recovery is impossible. The ID is derived from the program’s PDA and must be preserved alongside the deployer’s keypair.

Q: Is it possible to pause minting temporarily?A: Yes. Use sugar pause to halt minting; resume later with sugar unpause.

Q: Do I need to host my own backend for whitelist verification?A: Not necessarily. Metaplex supports on-chain whitelist validation via Merkle trees, eliminating reliance on centralized servers.

Disclaimer:info@kdj.com

The information provided is not trading advice. kdj.com does not assume any responsibility for any investments made based on the information provided in this article. Cryptocurrencies are highly volatile and it is highly recommended that you invest with caution after thorough research!

If you believe that the content used on this website infringes your copyright, please contact us immediately (info@kdj.com) and we will delete it promptly.

Related knowledge

See all articles

User not found or password invalid

Your input is correct