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
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.
Request Body required
application/jsonuuid
string (uuid)
Optional UUID (generated if not provided)
name
string
REQUIRED
Collection name
symbol
string
REQUIRED
Collection symbol (e.g., "BAYC")
creator
string
REQUIRED
Creator wallet address
gameOwner
string
Game owner wallet address (defaults to creator)
gameId
string | null
Optional game identifier
chainId
integer
Blockchain chain ID (defaults to B3 Mainnet)
creatorSignature
string
REQUIRED
Signature authorizing collection creation
baseURI
string
Base URI for token metadata
maxSupply
string
Maximum number of tokens (as string for BigInt)
mintPrice
string
Price per mint in ETH (as string for BigInt)
startTime
string
Mint start time (Unix timestamp, defaults to now)
endTime
string
Mint end time (Unix timestamp, defaults to 30 days from now)
tokenStandard
string
NFT standard to use
Enum:
ERC721, ERC1155maxPerWallet
string
Maximum tokens per wallet (as string for BigInt)
isWhitelistEnabled
boolean
Whether whitelist is enabled
image
string
Collection image URL
description
string
Collection description
external_url
string
External URL for collection
animation_url
string
URL to multimedia attachment
attributes
object[]
OpenSea-compatible attributes
Array of:
trait_type
string
REQUIRED
Attribute name
value
string
REQUIRED
Attribute value
whitelistMerkleRoot
string
Optional whitelist Merkle root
referrer
string
Optional referrer ID for tracking
Responses
200
Collection created successfully
application/jsonsuccess
boolean
collection
object
Complete NFT collection data
uuid
string
Unique collection identifier
predictedAddress
string
Predicted deployment address
creator
string
Creator wallet address
gameOwner
string
Game owner wallet address
gameId
string | null
Game identifier
chainId
integer
Blockchain chain ID
creatorSignature
string
Authorization signature
name
string
Collection name
symbol
string
Collection symbol
baseURI
string
Base URI for metadata
maxSupply
string
Maximum token supply
mintPrice
string
Price per mint in ETH
startTime
string
Mint start timestamp
endTime
string
Mint end timestamp
tokenStandard
string
NFT token standard
Enum:
ERC721, ERC1155maxPerWallet
string
Maximum tokens per wallet
isWhitelistEnabled
boolean
Whitelist status
image
string
Collection image URL
description
string
Collection description
external_url
string
External collection URL
animation_url
string
Multimedia attachment URL
attributes
object[]
Collection attributes
Array of:
trait_type
string
value
string
createdAt
string
Creation timestamp
whitelistMerkleRoot
string | null
Whitelist Merkle root
referrer
string | null
Referrer ID
400
Bad Request - Missing required fields or invalid data
404
Referrer not found
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"
}'
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);
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())
200
Response
{
"success": true,
"collection": {
"uuid": "<string>",
"predictedAddress": "<string>",
"creator": "<string>",
"gameOwner": "<string>",
"gameId": "<string>",
"chainId": 123,
"creatorSignature": "<string>",
"name": "<string>",
"symbol": "<string>",
"baseURI": "<string>",
"maxSupply": "<string>",
"mintPrice": "<string>",
"startTime": "<string>",
"endTime": "<string>",
"tokenStandard": "ERC721",
"maxPerWallet": "<string>",
"isWhitelistEnabled": true,
"image": "<string>",
"description": "<string>",
"external_url": "<string>",
"animation_url": "<string>",
"attributes": [
{
"trait_type": "<string>",
"value": "<string>"
}
],
"createdAt": "<string>",
"whitelistMerkleRoot": "<string>",
"referrer": "<string>"
}
}
POST
/collections