# Contract Factory

<figure><img src="/files/OBhNMFeDVarBMlW6YNJ1" alt=""><figcaption><p>Process for creating NFT contracts on Paintswap</p></figcaption></figure>

### Paintswap User Contract

<details>

<summary>Paintswap User Contract Functionality</summary>

* ERC2981 standard royalties for any compatible NFT marketplace
* ERC1155 based, meaning on every mint you can choose how many of that NFT to create. This supports both fungible and non-fungible tokens
* User-chosen name
* TokenID auto increment
* Burn functionality
* Batch minting and batch transfer functions for gas efficiency
* Minting can be done on the PaintSwap site or by contract calls
* Lower fees than the Paintswap community contract, see [Introduction & Fees](/nft-marketplace-1/introduction.md)

</details>

<figure><img src="/files/f0RbfH0zWePuR6mnjRgf" alt=""><figcaption><p>The form to deploy a ERC1155 contract to the Sonic network</p></figcaption></figure>

<table><thead><tr><th width="173.33333333333331">Option</th><th width="431.93023255813955">Description</th><th data-type="checkbox">Required</th></tr></thead><tbody><tr><td>Project Name</td><td>Name of your contract this can be changed at a later date.</td><td>true</td></tr><tr><td>Get royalty on sales</td><td>Check box if you'd like to add ERC2981 royalties to your contract. With this option every compatible marketplace (such as PS) will pay the royalties.</td><td>false</td></tr><tr><td>Total Supply</td><td>This is the maximum number of NFTs that can be minted to this contract, leave as 0 for unlimited. Each tokenID uses 1 towards the total supply. On each mint you can choose how many copies.</td><td>true</td></tr></tbody></table>

{% hint style="info" %}
**Contract Owner**

The address you are connected to on the website will become the creator and owner of the contract. Make sure your wallet is connected with the correct one.
{% endhint %}

{% hint style="warning" %}
**Burning NFTs**

Each NFT you mint to your contract will incrementally increase the tokenID. When burning one, you will not be able to re-use the same ID and Total Supply will not change. For example, if Total Supply is 6, you minted 5 and burned 4, then you can only mint one more NFT.
{% endhint %}

Once you have finished minting all the NFTs you want to your contract you can submit it as a collection as usual via the form on PaintSwap.

{% content-ref url="/pages/-MiGfUMwwLcWKcQyNr-i" %}
[Collections](/nft-marketplace-1/collections.md)
{% endcontent-ref %}

&#x20;See all of the factory, minting & collection options [here](https://paintswap.io/sonic/factory/info).

<br>


---

# 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.paintswap.io/nft-marketplace-1/minting/contract-factory.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.
