Date: 2026-04-03
Category: Technical Implementation
Status: Building
What exists:
What's missing:
From existing code (mint-wallet.js):
Standard Solana NFT approaches:
1. Metaplex Candy Machine v3
2. Metaplex Token Metadata
3. Direct SPL Token Mint
Recommendation: Metaplex Token Metadata (standard, marketplace-compatible)
Add to mint-wallet.js:
async function mintJazzNFT(wallet, artData) {
// 1. Generate art metadata
const metadata = {
name: `Jazz Cigarettes #${Date.now()}`,
symbol: "JAZZ",
description: "Generative jazz notation NFT. Bebop on-chain.",
image: artData.imageURI,
attributes: artData.attributes,
properties: {
files: [{uri: artData.imageURI, type: "image/png"}],
category: "image",
creators: [{
address: wallet.publicKey.toString(),
share: 100
}]
}
};
// 2. Upload metadata to Arweave/IPFS
const metadataURI = await uploadMetadata(metadata);
// 3. Create NFT on Solana
const mintKeypair = Keypair.generate();
const nft = await createNFT(
connection,
wallet,
mintKeypair.publicKey,
metadataURI,
metadata.name,
metadata.symbol
);
return nft;
}
Dependencies needed:
Options:
Fixed price:
Dutch auction:
Bonding curve:
Recommendation: Fixed $10 USDC (simplicity, volume, prove demand first)
Customer journey:
1. Visit jazzcigarettes.com
2. Click "Mint" (on mint-live.html)
3. Connect wallet (Phantom/Solflare/Backpack)
4. Preview generative art (gen-mint-art.js renders)
5. Click "Mint for $10 USDC"
6. Approve USDC payment โ treasury wallet
7. NFT minted to customer wallet
8. Confirmation + OpenSea link
Treasury wallet: Same as GetRida (EAq4xofcEtmP85byYoGPZyqY7zV45NvrKif3nqN6JJX7)
Metadata structure:
{
"name": "Jazz Cigarettes #12345",
"symbol": "JAZZ",
"description": "Generative jazz notation NFT. BebopTruther energy. Prohibition aesthetic. On-chain receipt of swing.",
"image": "https://arweave.net/...",
"attributes": [
{"trait_type": "Key", "value": "Bb"},
{"trait_type": "Tempo", "value": "180 BPM"},
{"trait_type": "Style", "value": "Bebop"},
{"trait_type": "Complexity", "value": "High"},
{"trait_type": "Generation", "value": "1"}
],
"properties": {
"files": [{"uri": "https://arweave.net/...", "type": "image/png"}],
"category": "image",
"creators": [{"address": "EAq4x...", "share": 100}]
}
}
Hosting options:
Recommendation: NFT.Storage (free, standard, easy)
Test minting flow:
1. Deploy to Solana devnet first
2. Mint 5 test NFTs
3. Verify metadata displays correctly
4. Check OpenSea/MagicEden compatibility
5. Test payment flow end-to-end
6. Deploy to mainnet
Devnet testing: Zero cost, full simulation
Issue: jazzcigarettes.com has mint infrastructure but no actual minting function.
Files present but incomplete:
Gap: Front-end ready, back-end missing.
Conservative scenario:
Moderate scenario:
Aggressive scenario:
Reality check: Comparable Solana NFT projects (generative art, no hype) = 50-500 mints first month. $500-5K revenue realistic.
Tonight:
1. Install @metaplex-foundation/js
2. Write mintJazzNFT function
3. Set up NFT.Storage account (free)
4. Update mint-live.html with mint button
5. Test on devnet
Tomorrow:
1. Deploy to mainnet
2. Mint first test NFT
3. Verify on-chain
4. Update jazzcigarettes.com with live minting
5. Post to X: "Jazz Cigarettes minting live"
Week 1:
Receipt: JazzCigarettes minting infrastructure scoped. Implementation starts now. Target: live minting by tomorrow.
Building.