# Developer - Create a Capsule Collection

Capsule Collections are NFT collections which support the minting of Capsule NFTs. You can mint any number of Simple Capsule NFTs, ERC-20 Capsule NFTs, ERC-721 Capsule NFTs, or ERC-1155 Capsule NFTs from a Capsule Collection you create.

Below is an example of creating your own Capsule Collection.

### Methodology

In order to create a Capsule Collection, only one method needs to be called - `createCapsuleCollection`.&#x20;

The docs for the method (also found under [CapsuleFactory.sol](/capsulenft/developer-walkthroughs/contracts/capsulefactory.sol.md#createcapsulecollection)) are posted here for reference:

```solidity
function createCapsuleCollection(string _name, string _symbol, address _tokenURIOwner, bool _isCollectionPrivate) external payable returns (address)
```

**Usage**: The main method which creates a Capsule NFT Collection for a user. Creation of a Capsule Collection MUST go through the CapsuleFactory in order to ensure ecosystem safety - this ensures that no Capsule contract is able to exploit the CapsuleMinter's token storing/redeeming methods.

**Parameters**:

* `_name`: (string) - the name of the Capsule Collection
* `_symbol`: (string) - the symbol of the Capsule Collection
* `_tokenURIOwner`: (address) - the address of the Capsule Collection tokenURIOwner (also known as the Metamaster)
* `_isCollectionPrivate`: (boolean) - whether the Capsule Collection is designated as private

**Returns**: (address) - The address of the newly deployed Capsule Collection.

### Example Capsule Collection Creation Call

An example call is shown here:

```
createCapsuleCollection(
    "Capsule",
    "CNFT",
    ZERO_ADDRESS,
    false,
    { value: 0.025 }
);
```

This call will create a Capsule Collection:

* Named `Capsule`
* With Symbol `CNFT`
* Whose Metamaster is the `Zero Address` (0x0000000000000000000000000000000000000000). The metamaster has control over ALL metadata in the collection. In most cases, you'd either set the Metamaster to **your address** (so that you'd have ownership over all metadata to change at any time), or the **zero address** (so that your Capsule NFTs metadata link can never be changed after mint).
* With Capsule Collection privacy boolean `false`, meaning this is a **public** Capsule Collection. A public Capsule Collection allows anyone from any address to mint Capsule NFTs within the Capsule Collection. A private Capsule Collection (`true`) only allows the `owner` to mint Capsule NFTs within the Capsule Collection.

*Note: The owner of the Capsule Collection is set to the address which calls the \`createCapsuleCollection\` method. The owner may change ownership of a Capsule Collection at any time.*

* With ETH fee amount specified. This is the [required amount to create](/economics/fee-structure.md) a Capsule Collection.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.capsulelabs.xyz/capsulenft/developer-walkthroughs/developer-create-a-capsule-collection.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
