Talis Tutorials #2: How to Mint a Non-Random Collection

Tutorial Nov 15, 2022

In our previous issue of Talis Tutorials, we covered how to mint a “candymachine” collection. This works great for PFP and various other projects that enjoy the energy of random minting. However, there are cases where an Artists may want to launch an entire collection at once, for example, with every item up for auction. This tutorial will cover how to mint a non-random collection and how to list the collection either as auctions, at a fixed price, or to send for free like an airdrop.

There are many similarities between minting a candymachine collection and minting a non-random collection. However, the subtle differences between the steps, especially in the CSV file format section, are important to pay attention to.


The first step to mint any collection on Talis, whether random or non-random, is to become verified. Non-verified NFTs will not show on Talis public pages and only verified artists have access to the Collection creation feature.

However, verification simply means you understand the process of minting a collection on Talis, such as the file formatting and uploading process, and have gone through proper onboarding. We don’t curate or restrict the type of content an Artist is able to mint on the platform, but we do care about whether Artists understand how to effectively use the tools we provide and don’t appear to be copying existing works. Of course, don’t mint content you don’t have licensing rights to and if we discover you do, we will remove your verified status.

To clarify, verification is not required for minting standalone tokens, they just will not show on the Gallery page.

How do I become verified?

The first step towards verification is to reach out to a Talis moderartor on Discord or Telegram for onboarding, where you will just tell us a bit about your project and get access to test our tools and explore what you can do on our platform.

Talis Discord: https://discord.com/invite/pgxEttXaZa

I’m verified, what now?

Before you begin minting on the platform, we will have you go through the additional documentation (like this tutorial) on Discord and get familiar with using the testing environment to finalize your collection. In order to test your collection, you will get access to creating collections on the testing site from a moderartor.

Testing Wallet

Terra has a “testnet” network that makes separate transactions than on the mainnet. Only use the testnet when you are testing your project on the Talis staging site, and only use the mainnet when you are using the official Talis.art site. Confusing the two may cause some delay in your project as the dev team has to use their precious time to burn the improper tokens. To help you out on the staging website you will see an orange TESTNET banner when you are appropriately connected to testnet in your wallet.

We can also provide access to a Talis testing wallet. They are already filled with testnet UST/LUNA you can play with, and the addresses have already been whitelisted to have access to the testing site as well. Testing wallets are available in our verified Artist Discord channel.

Alternatively, you can use your own wallet, switch to testnet, and fill it with fake UST/LUNA through the Terra faucet. You will need to be a verified artist and contact a moderartor to whitelist your wallet for the staging site and create collections there.

The link to the staging website can be found in the Artist channels of our discord.

Minting a Non-Random Collection

We will be using the staging environment for this tutorial. Note that the staging environment looks identical to the real version besides the orange TESTNET banner when you are properly connected. We will go through all the steps but if you have not built your CSV files yet, you could skip to the information in Step 2 for “CSV File Instructions” and work on that before coming back here to actually create the collection.

After connecting a verified testing wallet (either a Talis testing wallet or your own) you can select the “create” button on the top right. You will be prompted to select between a standalone token and a collection. Select “Collections” to move forward.

Create Collection — Step 0

If you already have an existing collection, you will be prompted to create a new collection or append tokens to an existing collection (which is an awesome feature!). We will be covering a tutorial on appending to an existing collection later on. For now, select “Yes” on “Create new collection” and “Next Step” to move forward.

Create Collection — Step 1

You have the option to pick between a collection for auctions/direct sales or a collection for a random mint. We will be using the former for this tutorial. You will have to fill out the Collection Name and Token Symbol (Minter Address will automatically be filled out if you connected your wallet)

Note that the Token Symbol is just a backend on-chain feature that will not show on the UI, but you should choose a helpful shorthand symbol. For example, Terrans = TRNS.

Note: make sure you have fake UST in your wallet for gas fees before moving forward!

You will also be prompted to upload your collection’s miniature or “profile picture” (1000x1000px recommended size) and your collection’s banner (1500x500px recommended size). We also recommend not to include text in the banner since it dynamically re-sizes to browser width and likely will obscure your text. Once all fields have been filled out, select “init collection”.

Create Collection — Step 2

This next step requires a bit of preparation. You will need to upload a collection folder that contains all of your individual, already generated media files and a single CSV file for metadata. The format of the CSV is the main step that differentiates non-random collections from candymachine ones.


Your folder should contain only a CSV file with metadata and the corresponding media files. All files must not be compressed (no .zip). The Talis program does not generate art for you, so this is not adding in layers to be randomized. Create your art and then bring it here as files to upload. The folder’s name can be the same as the collection. For example “test_collection”.

Media Files

Talis supports the creation of NFTs in various media formats. Artists can upload png, jpg, gif, mp4, wav, etc. to the platform. Media file names should be easily identifiable and must be unique. We recommend the same name as the folder coupled with a numerical identifier or whatever you use for the title of the piece. For example “test_collection1.png”, “test_collection2.png”, test_collection3.png”, etc.

CSV File Instructions

Once you have all of your media files in your folder, you can begin to finalize your CSV file. Open up any text editor or spreadsheet to begin. The format is very specific. To help understand the different terms and how they show on an NFT you create, please reference this image:

The CSV file must be saved as semicolon-separated. As a consequence, you can’t use a semicolon inside your values.

  • Platforms like excel will export as a CSV that is separated by commas. You can use this method and then find/replace it in a text editor like Notepad to switch the commas to semicolons at the end.
  • Beware of switching any commas in the description or title fields into semicolons as that will break the upload.

The first row of the file is for column definitions. We will list them all here and then describe each one.

  • First you will have the required fields for each column (Example: Filename, Title, Description, and NbCopies).
  • Then depending on what you want to do with the NFTs you will have some or none of SellMode, DestAddress, Price, Currency, or DurationHours required fields, and any additional Traits).
  • Then you will have the headers for any custom trait categories that you want like Background, outfit, etc. These can be anything!


  • The first column must contain the Filename with the exact extension (Example: apple.png).
  • There are no rules for standardized filenames. For example, titles can differ between NFTs in a collection, and filenames can correspond to the different titles of the NFTs they point to. Instead, we emphasize the use of good naming practices such as no blank spaces (use hyphen or underscore instead), no #, and as few kabbalistic symbols as possible. In short, letters, numbers, and hyphens/underscores should be good.
  • The second column is the Title. This is where you can have the name of each NFT. We highly recommend these names be unique.
  • The third column is the Description that shows under the NFT image.
  • The fourth column is the Number of Copies (NbCopies). Minimum is 1. Any number higher than 1 will add a trait automatically showing the edition of each copy, e.g. #3 / 10 or #2 / 2.
  • The fifth column can be SellMode. You can choose between Sell, Auction, and Send. Send works well if you have a list of wallets to send pieces directly to for giveaways, airdrops, charities, or any other use.
  • If you want all NFTs to go into your wallet to decide what to do later, do not include this column or any of the rest. Just know if you mint 1000 pieces and you decide later to sell them you will have to click on each one individually and list it for sale!
  • The next column can be the Destination Address (DestAddress). If you list your NFT for Sale/Auction, skip this step. Otherwise, if Send is your SellMode, you will need to provide a terra address to send the NFT to.

Note: If you have a mix of SellModes so you are including a column but it does not apply to all pieces, you will leave a blank for that column on those pieces. In your final csv this will look like two ;; in a row indicating skipping over that column. The example at the end of this section shows this.

  • The next column can be Price. If you list your collection for direct Sale, you will need to provide a price. If you list your NFT for Auction, you will need to provide a starting price for the auction. Lastly, in the case of Send as your SellMode, you can skip this column.
  • The next column is Currency. If you list your collection for Sale/Auction, you will need to specify the denominating currency, either LUNA or UST. Users will be able to pay with either UST or LUNA on the UI but this determines what payment currency you receive. In the case of Send as your SellMode, skip this step.
  • The next column is DurationHours. If you list your collection for Auction, you will need to specify the duration hours for the auction itself. In all other cases, you can skip this step.

Rows end blank without a semicolon, so you would only have them at the end if you had blank columns for that row.

  • In the example below, you want to keep an NFT for yourself and skip the Price, Currency, and DurationHours columns for File 3. The CSV would have ;;; at the end with the triple-colon indicating no value for Price, Currency, or DurationHours.
  • Besides filename, it can help to think about the semicolon as coming before your values for getting the format right at the end. And if you use the method of creating a comma CSV from excel and then switching to semicolons it will get this right.


  • Create one row in the CSV for each media file in your folder.
  • Add a blank line at the end.
  • This is easiest to do when you are in your final CSV format and open in notepad.

Here is a basic example of the format with no custom traits added.

Note: you can type whatever you want for the description! Please don’t put “for me to keep” that is just to give context in that example. I won’t tell you how many people have done that…

If you got here and your CSV is done but you forgot what you’re supposed to do in the Talis interface, go back to the beginning of Step 2 now that you are ready :)


If you’re a Mac user, you might run into a problem when uploading your CSV file. You may be prompted that your CSV file does not contain metadata for a .DS_STORE file in the folder. You will also see the additional file in your uploaded folder on the staging environment. A .DS_STORE file is “a macOS file that is created by Finder in every folder to hold the user’s folder view preferences.” You can delete this file from a specific folder through the terminal. Cd into your projects folder and paste the following:

find . -name “.DS_Store” -delete

Now you should be able to re-upload your project’s folder to the staging environment without the same file error.

Create Collection — Step 3 (Royalties)

Once you have your files uploaded, the rest is a breeze. You will need to determine the Royalties for your collection. Note that 99% of the profit from primary sales goes to the Artists (1% platform fee subtracted). Royalties are only triggered when a Collector resells an NFT on the secondary market. In this case, the Artists will receive a royalty from the reselling of their work. You can add multiple wallets in case of a royalty split between collaborating Artists, and you can also add charity royalties for Angel Protocol. Most artists tend to have total royalties in the 5–10% range, for reference. Once complete, hit Submit and sign the transaction using your Terra Station wallet. For larger collections, pay attention to more than one transaction to sign!

Editing your collection

Your collection should now be live in the staging environment, with each token either being sold, auctioned, or owned by an address. If you want to do anything else with a particular NFT still owned by your wallet, you can do so through the UI. For example, you can delist an NFT that is up for sale or auction (if it has no bids yet) by going to the NFT in the collection and selecting “Delist”.

Once delisted, you can choose between relisting or sending your token,

Selling your NFT will prompt you to fill out the required parameters, such as whether the NFT is being listed for standard sale or auction, the currency, and the price.

Schedule an official launch date

You’ve tested your project, everything looks good, you have all the files and parameters in place, now what? Set up an official launch date with one of our moderartors.

On the launch date, you would repeat the same process you tested, but on the production website and mainnet network. Do not change anything in your files between testing and uploading on production. If you need to change something, test it again. Don’t only test 20 files and then go to launch 300 on production; test the whole thing in staging first. Reach out to the team when your tests are done for us to take a look. All uploads on talis.art and the mainnet are final; no one can change the blockchain record!

Want a shoutout?

Fill out our form for a Medium article and a Tweet! Everyone gets the same format, so differentiate yourself! We will also include you in our weekly schedule tweet as long as you coordinate your launch with us.

Tweet/Article Form: https://tinyurl.com/TalisArticleForm


The Talis staging site is currently a shared private environment. This means uploaded collections will be visible by other Talis Artists using the staging platform. Use the same discretion you would appreciate from others regarding any content you see.

Twitter: https://twitter.com/ProtocolTalis

Discord: https://discord.com/invite/pgxEttXaZa

Telegram: https://t.me/talisprotocol