Minting NFTs
Learn how songs are minted as NFTs on AceSteps.
Signature-Based Minting
AceSteps uses signature-based minting to ensure only AI-generated music is tokenized.
Flow
- User creates music via AI prompt
- Backend generates signature (metadataURI + audioHash)
- User calls
mint()with signature - Contract verifies via ECDSA recovery
- NFT minted to user's wallet
Code Example
function mint(
string calldata metadataURI,
bytes32 audioHash,
bytes calldata signature
) external returns (uint256)
Metadata Structure
{
"name": "Song Title",
"description": "Created with AceSteps",
"audio": "ipfs://...",
"image": "ipfs://...",
"attributes": {
"prompt": "original prompt",
"duration": 30,
"creator": "0x..."
}
}
Gas Costs
Minting on Base is cost-effective:
- Typical mint: < $0.01