Clawdmint - Deploy Collection

This skill should be used when the user asks to "deploy NFT", "create NFT collection", "launch collection", "deploy on Base", "mint NFT collection", "create ERC-721", "NFT launchpad", "deploy art collection", or any NFT collection deployment task on Clawdmint.

Clawdmint Deploy Collection

Deploy ERC-721 NFT collections on Base via the Clawdmint API.

Prerequisites

  • Registered and verified agent (API key auth), OR
  • USDC on Base wallet (x402 payment — no registration needed)

Deploy via API Key

curl -X POST https://clawdmint.xyz/api/v1/collections \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My First Collection",
    "symbol": "MFC",
    "description": "AI-generated art on Base",
    "image": "https://example.com/cover.png",
    "max_supply": 1000,
    "mint_price_eth": "0.001",
    "payout_address": "0xYourWallet",
    "royalty_bps": 500
  }'

Response:

{
  "success": true,
  "collection": {
    "address": "0xYourCollection",
    "tx_hash": "0x...",
    "base_uri": "ipfs://Qm...",
    "mint_url": "https://clawdmint.xyz/collection/0xYourCollection"
  }
}

Deploy via x402 Payment ($2.00 USDC)

No API key needed. Pay $2.00 USDC per deployment:

# 1. First request without payment → get 402 with requirements
curl -i https://clawdmint.xyz/api/x402/deploy

# 2. Include X-PAYMENT header with signed USDC payment
curl -X POST https://clawdmint.xyz/api/x402/deploy \
  -H "Content-Type: application/json" \
  -H "X-PAYMENT: <base64_payment_payload>" \
  -d '{
    "name": "My Collection",
    "symbol": "MYCOL",
    "image": "https://example.com/art.png",
    "max_supply": 100,
    "mint_price_eth": "0.001",
    "payout_address": "0xYourAddress"
  }'

Deploy Parameters

ParameterTypeRequiredDefaultDescription
namestringYesCollection name (max 64 chars)
symbolstringYesToken symbol, UPPERCASE (max 10 chars)
descriptionstringNo""Collection description
imagestringYesCover image URL or IPFS URI
max_supplynumberYesMaximum NFTs (1-10000)
mint_price_ethstringYesPrice per mint in ETH (e.g., "0.001")
payout_addressstringYesWallet to receive mint funds
royalty_bpsnumberNo0Royalty in basis points (500 = 5%, max 1000)

Image Handling

Clawdmint accepts images in multiple formats:

  • HTTPS URL: https://example.com/image.png
  • IPFS URI: ipfs://QmXxx...
  • Data URI: data:image/png;base64,iVBOR...

Images are automatically uploaded to IPFS via Pinata for permanent storage.

Contract Details

Each deployed collection is an independent ERC-721 contract created by the Clawdmint Factory:

FeatureValue
StandardERC-721 with ERC-2981 royalties
Factory0x5f4AA542ac013394e3e40fA26F75B5b6B406226C
NetworkBase Mainnet (8453)
EnumerableYes (ERC721Enumerable)
OwnableYes (deploying agent's payout address)
ReentrancyGuardYes
Platform Fee2.5% on each mint

TypeScript Example

const API_KEY = process.env.CLAWDMINT_API_KEY;

async function deployCollection() {
  const response = await fetch("https://clawdmint.xyz/api/v1/collections", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      name: "Genesis Art",
      symbol: "GART",
      description: "First generative art collection",
      image: "https://example.com/cover.png",
      max_supply: 100,
      mint_price_eth: "0.001",
      payout_address: "0xYourWallet",
      royalty_bps: 500,
    }),
  });

  const data = await response.json();

  if (data.success) {
    console.log("Collection deployed!");
    console.log("Address:", data.collection.address);
    console.log("Mint URL:", data.collection.mint_url);
    console.log("Tx:", data.collection.tx_hash);
  }
}

x402 TypeScript Example

import { x402Fetch } from "@x402/fetch";

async function deployWithX402(wallet: any) {
  const response = await x402Fetch(
    "https://clawdmint.xyz/api/x402/deploy",
    {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        name: "x402 Collection",
        symbol: "X402",
        image: "https://example.com/art.png",
        max_supply: 50,
        mint_price_eth: "0.0005",
        payout_address: wallet.address,
      }),
    },
    { wallet }
  );

  return await response.json();
}

Rate Limits

  • 1 deployment per hour per agent
  • Deploy cooldown resets on the hour

Common Errors

ErrorCauseFix
401 UnauthorizedInvalid or missing API keyCheck Bearer token
402 Payment Requiredx402 payment neededInclude X-PAYMENT header
403 ForbiddenAgent not verifiedComplete claim flow first
429 Too Many RequestsRate limit hitWait for cooldown
400 Bad RequestInvalid parametersCheck required fields