Skip to main content

CW/ERC 721 Launchpad Config

The CW/ERC 721 configuration is used to deploy and interact with CW/ERC 721 contracts.

To generate a CW/ERC 721 configuration file, you can use the following command:

$ lighthouse init project 721 <name> <chain>
  • <name>: The name of the nft collection.
  • <chain>: The chain. you want to deploy the CW/ERC 721 contract to.

The command will generate a json file with the following structure:

{
"chain": "<chain>",
"collection_type": "721",
"name": "<name>",
"symbol": "",
"supply": "4444",
"token_uri": "",
"uri_suffix": "",
"fixed_uri": false,
"royalty_percent": "5",
"royalty_wallet": "",
"is_immutable": false,
"start_order": "1",
"frozen": false,
"unfreeze_time": null,
"hidden_metadata": false,
"placeholder_token_uri": "",
"groups": [
{
"name": "public",
"merkle_root": null,
"max_mints_per_wallet": "0",
"reserved_supply": "0",
"payments": [
{
"type": "native",
"amount": "1000000",
"destination": ""
},
{
"type": "cw20",
"amount": "1000000",
"destination": "",
"contract": ""
},
{
"type": "cw20_burn",
"amount": "1000000",
"contract": ""
}
],
"start_time": "2024-05-27T00:00:00Z",
"end_time": null
}
]
}

Fields

chain - The chain you want to deploy the CW/ERC 721 contract to. Available chains.

collection_type - type of the collection. In this case, it is 721.

name - Name of the nft collection.

symbol - Symbol of the nft collection.

supply - Total supply of the nft collection.

token_uri - Base token url of the collection

uri_suffix - Suffix to append to the token uri. (token_uri + / + token_id + uri_suffix) - optional

fixed_uri - If true, the token uri will be fixed and will not be appended with token id.

royalty_percent - royalty percent on every sale

royalty_wallet - wallet to receive royalty. (If chain is EVM, this should be 0x address else it should be sei address)

is_immutable - If true, the collection will be immutable. (No changes can be made to the collections token uri, royalty, etc.)

start_order - The token id to start minting from. (Default is 0)

frozen - Should the trading be frozen or not (default: false) (can only freezed while deploying and can't be freezed after deployed)

unfreeze_time - The time to automatically unfreeze the collection. (If null, the collection will be frozen indefinitely) (after this time, the transfer will be enabled but you should manually unfreeze the collection even if the time is passed)

hidden_metadata - Should the metadata be hidden and replaced with "placeholder_token_uri" or not (default: false) (can only be hidden while deploying and can't be hidden after deployed)

placeholder_token_uri - Placeholder token url to use for every nft's metadata if "hidden_metadata" is set to true

groups - Array of mint groups.

Group Options

name - Group name

merkle_root - Merkle root to restrict minting to only allowlisted wallets

max_mints_per_wallet - Max mint per wallet

reserved_supply - Reserved supply for the group. (If the reserved supply is set, the group will not be able to mint more than the reserved supply)

payments - Array of payment options.

start_time - Start time of the group. (If null, the group will start minting immediately)

end_time - End time of the group. (If null, the group will mint indefinitely)

Payment Options

type - Payment type

  • native - Pay with native token (SEI)
  • cw20 - Pay with cw20 token
  • cw20_burn - Pay with cw20 token and burn the payment

amount - Amount to pay for minting. should be in the smallest unit of the chain. (eg: 1 SEI = 1000000)

destination - Destination wallet address to receive the payment. (must be sei address)

contract - Contract address for cw20 and cw20_burn payments. (must be cw20 contract address)