# Minting Contracts

### Requirements

In order for your smart contract to be compatible with the Campfire minting user interface, it needs to expose a single mint function that looks **exactly** like:

```
function mint(uint256 amount) public payable {
  //...
}
```

This also assumes that you are using the **ERC721** protocol.

As long as your mint function looks like this, our front-end code will seamlessly communicate with your smart contract.

{% hint style="info" %}
**Notice**

We will not audit or take responsibility for what your smart contract actually does. It is up to you to test it and make sure that it works properly.

Please view our sample contracts for guidance.
{% endhint %}

### Royalties

Campfire natively supports EIP2981 royalties.

EIP2981 royalties are embedded directly into the NFT smart contract and are not dependent on one specific marketplace.

Any marketplace that honors this standard should generate the same royalty payouts for artists.

See the Basic ERC721 Contract for an example.


---

# 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.campfire.exchange/use-cases/minting-contracts.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.
