> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# Create NFT Collection

Creates a new NFT collection with metadata storage, address prediction, and database persistence. Validates required fields, generates metadata, predicts deployment address, and stores all information.

` POST /collections `

Create NFT Collection

Creates a new NFT collection with metadata storage, address prediction, and database persistence. Validates required fields, generates metadata, predicts deployment address, and stores all information.

## Servers

- ` https://createkit.b3.fun ` — Production server

## Request body (required)

Content type: ` application/json `

- ` value `: type ` object ` — Request to create a new NFT collection

  - Required fields: ` name `, ` symbol `, ` creator `, ` creatorSignature `

  - ` uuid `: type ` string `; format ` uuid ` — Optional UUID (generated if not provided)

  - ` name `: type ` string ` — Collection name

  - ` symbol `: type ` string ` — Collection symbol (e.g., "BAYC")

  - ` creator `: type ` string ` — Creator wallet address

    - pattern: ` "^0x[a-fA-F0-9]{40}$" `

  - ` gameOwner `: type ` string ` — Game owner wallet address (defaults to creator)

    - pattern: ` "^0x[a-fA-F0-9]{40}$" `

  - ` gameId `: type ` string `; nullable — Optional game identifier

  - ` chainId `: type ` integer ` — Blockchain chain ID (defaults to B3 Mainnet)

    - default: ` 8453 `

  - ` creatorSignature `: type ` string ` — Signature authorizing collection creation

  - ` baseURI `: type ` string ` — Base URI for token metadata

    - default: ` "" `

  - ` maxSupply `: type ` string ` — Maximum number of tokens (as string for BigInt)

    - default: ` "10000" `

  - ` mintPrice `: type ` string ` — Price per mint in ETH (as string for BigInt)

    - default: ` "0.001" `

  - ` startTime `: type ` string ` — Mint start time (Unix timestamp, defaults to now)

  - ` endTime `: type ` string ` — Mint end time (Unix timestamp, defaults to 30 days from now)

  - ` tokenStandard `: type ` string ` — NFT standard to use

    - enum: ` ["ERC721","ERC1155"] `

    - default: ` "ERC721" `

  - ` maxPerWallet `: type ` string ` — Maximum tokens per wallet (as string for BigInt)

    - default: ` "5" `

  - ` isWhitelistEnabled `: type ` boolean ` — Whether whitelist is enabled

    - default: ` false `

  - ` image `: type ` string ` — Collection image URL

  - ` description `: type ` string ` — Collection description

  - ` external_url `: type ` string ` — External URL for collection

  - ` animation_url `: type ` string ` — URL to multimedia attachment

  - ` attributes `: type ` array ` — OpenSea-compatible attributes

    - ` array item `: type ` object `

      - Required fields: ` trait_type `, ` value `

      - ` trait_type `: type ` string ` — Attribute name

      - ` value `: type ` string ` — Attribute value

  - ` whitelistMerkleRoot `: type ` string ` — Optional whitelist Merkle root

    - pattern: ` "^0x[a-fA-F0-9]{64}$" `

  - ` referrer `: type ` string ` — Optional referrer ID for tracking

    - pattern: ` "^[a-z0-9]+$" `

## Responses

### ` 200 ` — Collection created successfully

Content type: ` application/json `

- ` value `: type ` object `

  - ` success `: type ` boolean `

    - example: ` true `

  - ` collection `: type ` object ` — Complete NFT collection data

    - ` uuid `: type ` string ` — Unique collection identifier

    - ` predictedAddress `: type ` string ` — Predicted deployment address

      - pattern: ` "^0x[a-fA-F0-9]{40}$" `

    - ` creator `: type ` string ` — Creator wallet address

      - pattern: ` "^0x[a-fA-F0-9]{40}$" `

    - ` gameOwner `: type ` string ` — Game owner wallet address

      - pattern: ` "^0x[a-fA-F0-9]{40}$" `

    - ` gameId `: type ` string `; nullable — Game identifier

    - ` chainId `: type ` integer ` — Blockchain chain ID

    - ` creatorSignature `: type ` string ` — Authorization signature

    - ` name `: type ` string ` — Collection name

    - ` symbol `: type ` string ` — Collection symbol

    - ` baseURI `: type ` string ` — Base URI for metadata

    - ` maxSupply `: type ` string ` — Maximum token supply

    - ` mintPrice `: type ` string ` — Price per mint in ETH

    - ` startTime `: type ` string ` — Mint start timestamp

    - ` endTime `: type ` string ` — Mint end timestamp

    - ` tokenStandard `: type ` string ` — NFT token standard

      - enum: ` ["ERC721","ERC1155"] `

    - ` maxPerWallet `: type ` string ` — Maximum tokens per wallet

    - ` isWhitelistEnabled `: type ` boolean ` — Whitelist status

    - ` image `: type ` string ` — Collection image URL

    - ` description `: type ` string ` — Collection description

    - ` external_url `: type ` string ` — External collection URL

    - ` animation_url `: type ` string ` — Multimedia attachment URL

    - ` attributes `: type ` array ` — Collection attributes

      - ` array item `: type ` object `

        - ` trait_type `: type ` string `

        - ` value `: type ` string `

    - ` createdAt `: type ` string ` — Creation timestamp

    - ` whitelistMerkleRoot `: type ` string `; nullable — Whitelist Merkle root

    - ` referrer `: type ` string `; nullable — Referrer ID

### ` 400 ` — Bad Request - Missing required fields or invalid data

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` success `, ` error `

  - ` success `: type ` boolean `

    - example: ` false `

  - ` error `: type ` string ` — Error message describing what went wrong

### ` 404 ` — Referrer not found

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` success `, ` error `

  - ` success `: type ` boolean `

    - example: ` false `

  - ` error `: type ` string ` — Error message describing what went wrong

## Request examples

### cURL

```curl
curl -X POST 'https://createkit.b3.fun/collections' \
  -H 'Content-Type: application/json' \
  -d '{
  "uuid": "550e8400-e29b-41d4-a716-446655440000",
  "name": "string",
  "symbol": "string",
  "creator": "string",
  "gameOwner": "string",
  "gameId": "string",
  "chainId": 8453,
  "creatorSignature": "string",
  "baseURI": "",
  "maxSupply": "10000",
  "mintPrice": "0.001",
  "startTime": "string",
  "endTime": "string",
  "tokenStandard": "ERC721",
  "maxPerWallet": "5",
  "isWhitelistEnabled": false,
  "image": "string",
  "description": "string",
  "external_url": "string",
  "animation_url": "string",
  "attributes": [
    {
      "trait_type": "string",
      "value": "string"
    }
  ],
  "whitelistMerkleRoot": "string",
  "referrer": "string"
}'
```

### JavaScript

```javascript
const response = await fetch('https://createkit.b3.fun/collections', {
  method: 'POST',
  headers: {
      "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "name": "string",
    "symbol": "string",
    "creator": "string",
    "gameOwner": "string",
    "gameId": "string",
    "chainId": 8453,
    "creatorSignature": "string",
    "baseURI": "",
    "maxSupply": "10000",
    "mintPrice": "0.001",
    "startTime": "string",
    "endTime": "string",
    "tokenStandard": "ERC721",
    "maxPerWallet": "5",
    "isWhitelistEnabled": false,
    "image": "string",
    "description": "string",
    "external_url": "string",
    "animation_url": "string",
    "attributes": [
      {
        "trait_type": "string",
        "value": "string"
      }
    ],
    "whitelistMerkleRoot": "string",
    "referrer": "string"
  })
});

const data = await response.json();
console.log(data);
```

### Python

```python
import requests

response = requests.post('https://createkit.b3.fun/collections', json={
  "uuid": "550e8400-e29b-41d4-a716-446655440000",
  "name": "string",
  "symbol": "string",
  "creator": "string",
  "gameOwner": "string",
  "gameId": "string",
  "chainId": 8453,
  "creatorSignature": "string",
  "baseURI": "",
  "maxSupply": "10000",
  "mintPrice": "0.001",
  "startTime": "string",
  "endTime": "string",
  "tokenStandard": "ERC721",
  "maxPerWallet": "5",
  "isWhitelistEnabled": false,
  "image": "string",
  "description": "string",
  "external_url": "string",
  "animation_url": "string",
  "attributes": [
    {
      "trait_type": "string",
      "value": "string"
    }
  ],
  "whitelistMerkleRoot": "string",
  "referrer": "string"
})
print(response.json())
```