> For the complete documentation index, see [llms.txt](https://docs.dappkit.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dappkit.dev/start-building/how-to-guides/create-an-nft.md).

# Create your NFT Art Gallery

A simple NFT Collectibles contract where you can create a limited set of NFTs available&#x20;

Details&#x20;

* All NFTs have the same price `setPricePerPack`
* All NFTs are identified via the metadata via a `baseURI` & `tokenURI`
* These can be created with an unlimited Amount of Packs or unlimited by providing `limitedAmount` as `0`&#x20;
* A tokenURI can be set to provide Information Metadata for each NFT at `setTokenURI` to make all NFT have the same URI - example `https://bepronetwork.github.io/B.E.P.R.O/meta/`
  * This will make the tokenID the suffix of the `baseURI` - for example for the NFT number 1, the `tokenURI` will be `https://bepronetwork.github.io/B.E.P.R.O/meta/1` - structure as `baseURI + tokenURI`
  * Ensure the API returns data structures similar to [this one](https://sdk.dappkit.dev/classes/ERC721Collectibles.html)
  * This will make systems such as [opensea](https://opensea.io) automatically gather the metadata for your NFT directly from your API
* You can also set each one independently via the call `setTokenURI(tokenId, url)` - this will make it abandon the baseURI standard - structure as `tokenURI`

{% hint style="info" %}
In order to use **ERC721Collectibles** you also need to provide instance [Web3Connection](/start-building/how-to-guides/create-web3connection.md)

instance object of **Web3ConnectionOptions**
{% endhint %}

```javascript
import { ERC721Collectibles } from '@taikai/dappkit';

const erc721Collectibles = new ERC721Collectibles({
     web3Host: 'WEB3_LINK',
});

await erc721Contract.start();
await erc721Collectibles.loadAbi();

// Deploy
const transactionReceipt = await erc721Collectibles.deployJsonAbi(
    "Art | BEPRO",
    "B.E.P.R.O",
    1000,
    "0xDAI_ADDRESS",
    "0xPURCHASE_TOKEN",
    "0xBASE_FEE_ADDRESS",
    "0xOTHER_ADDRESS" 
 );

console.log(transactionReceipt);

```

**Looking for more functions?**

See all available functions [here](https://sdk.dappkit.dev/classes/ERC721Collectibles.html)
