The Gamma Creators Self Service Portal allows you to define and deploy a custom smart contract for your NFT collection on Stacks.
As we aim to be the leading open marketplace for Bitcoin NFTs, we want to make sure we put our users first; this is why contracts deployed using the portal are owned 100% by you, the creator, and can be used in any way you see fit. This also means that Gamma does not have any direct control over your smart contract deployed using our portal, so it's important that you fully understand the process and the steps involved to ensure a smooth experience.
How to Prepare for Deployment
Once you visit the Creators Self Service Portal, you'll be able to enter all details in a matter of just a few minutes. But, the process will take much longer if you don't first prepare your assets and metadata in a system-readable format. We'll walk you through the necessary steps to ensure you have a seamless experience.
General Information, Assets, and Metadata
Collect and verify all of your assets, naming conventions, and other collection details. You'll need these when deploying your smart contract, and much of this information can never be modified once deployed. So, double and triple check all of your information and assets before you get started.
When you visit the portal, you'll need to connect the wallet you'd like to use to deploy the smart contract. The wallet address you associate will be permanently tied to the smart contract, so be sure to select the right one. Importantly, this is the one and only wallet address that will have the ability to perform certain functions against the smart contract (e.g. enable public sale, pause minting, set mint limit, etc.) This does not need to be the same wallet that receives the funds from mint and secondary sales (see Artist Address in the table below).
If you've already deployed your smart contract, more information on the actions you can perform with your administrative wallet address can be found on this knowledgebase article.
Information requested and required formats
Below are each form field or asset type and the format required for this asset:
|Form Field/Asset||Description and Requirements||Format Required||Modifiable After Deploy|
|Collection Name||The name of the collection, also converted into the contract name by replacing spaces with hyphens (i.e. "Bitcoin NFT" becomes "bitcoin-nft" contract name.||Alphanumeric||No|
|Collection Description||The description placed alongside your collection if approved to mint on gamma.io. While this value can be modified on our user interface, it will be permanently tied to your NFT metadata.||Alphanumeric||No|
|Mint Price (STX)||The price in STX that will be paid by users to mint one NFT in your collection.||Integer||Yes|
|Email Address||An email address used for our ticketing system so we may contact you regarding your collection. This will never be shared publicly and will not be associated with your smart contract.||Valid Email Address||Yes|
|An optional STX wallet address used for mint and royalty payouts. If not entered, this will default to the address you used to login to the portal.||Valid STX Address||Yes|
|An optional URL you would like to use for promotional purposes such as your Twitter profile or collection website. If not entered, this will default to your Gamma profile (i.e. gamma.io/wallet-address). While this value can be modified on our user interface, it will be permanently tied to your NFT metadata.||Valid URL||No|
|NFT Assets||The files that serve as the payload of your NFT. In other words, the image, video, rendering, or audio that serve as the face of your NFT card.||JPEG, GIF, PNG, APNG, BMP, SVG, MP4, WEBM, OGG||No|
Use File Names
|Checkbox that will replace a default token name with the name of each file. The default nomenclature is "Collection Name #" but can be replaced with anything custom by customizing the name of the file and then enabling this checkbox. For example, if the first file name in your collection is "XYZ.png" and your collection name is "My Collection", if enabled, your first token will be named "XYZ", and if disabled, your first token will be named "My Collection #1"||Not applicable||No|
Include Additional Claim Functions
|Checkbox that will add additional functions for users to mint more than one NFT with a single transaction. The total amount paid will still be relative to the number minted, but users will be able to mint more than one NFT using a single transaction. If selected, you'll then need to check additional boxes for each of the functions you'd like to include (e.g. Claim 3, Claim 5, Claim 10, Claim 25)||Not applicable||No|
Include Non-Custodial Marketplace Functions
|Checkbox that will add non-custodial marketplace support. This is a forward-compatibility function for an upcoming standard, but it will not be used on Gamma immediately following deployment. Once we fully support this standard, enabling this function will allow users' NFTs to not be transferred to the marketplace contract's custody while listed on the market. In other words, when users list their NFT, it will remain in their own wallet until sold.||Not applicable||No|
|Optional field that allows you to add a CSV file that includes a list of descriptive traits for each of your assets. Your CSV must be formatted so that each row represents a token ID and each column represents an attribute value.||No|
|Optional field that allows you to add a CSV file that includes a list of STX wallet addresses and numbers of pre-mints allowed per wallet address. Your CSV must be formatted so that each row includes a single wallet address and an integer representing the number of mints allowed for that address. If enabled, no mints may occur until you first initiate mintpass sale as a contract function call. Following this step, you'll need to initiate public sale as a second contract function call before users not listed on your mintpass may mint an NFT from your collection. If users try to mint before mintpass is enabled, or if users not listed on your mintpass try to mint before public sale, these transactions will always fail.||Link to Detailed Instructions Article||No|
Enable Minting with Alternate Currency (e.g. MIA)
Optional, Multiple Selections Available
|Checkbox that enables buyers to mint NFTs using alternate currencies, for example, CityCoins. If selected, you must enter a number of this currency's tokens charged to mint one NFT. If selected, users will still be able to mint using STX at the previously defined mint price in STX.||Integer||
*Mint price may be modified but functions cannot be changed.
Using the Stacks Creators Self Service Portal
Once you've correctly prepared all of your collection information, assets, and metadata, you're ready to use the Creators Self Service Portal. The process to enter and upload all of your information should only take a few minutes, and will present itself in a format exactly described in the table above. There are two additional steps required after submitting this information, and we'll walk through each of them now.
Step 1: Enter Collection Details
Enter all information and click Review Your Collection. Address any errors that appear by checking your information and ensuring it meets the required format requested by the table above.
Step 2: Review Summary and Upload Files to IPFS
Key details will be summarized on the next page. This will include your collection name and description, your custom domain or Gamma profile, the number of tokens in your collection and the price per token, and the artist address that will receive mint revenues and royalty payouts. If you did not enter a custom artist wallet address, your currently logged in wallet address will be listed here.
If all information is correct, you may submit these details to IPFS. This is a public file system that stores files in an uneditable format; as in, files may not be added, removed, or replaced from your IPFS root after submission. This process may take a few minutes depending on the size of your files, so please be patient.
If these details are not correct, click Cancel. While submitting to IPFS does not deploy your contract, once files are submitted they cannot be modified, so please ensure they are correct prior to moving forward.
Then, once ready, click Submit to IPFS.
Step 3: Deploy Contract
Once you've finished uploading all of your assets to IPFS, your final confirmation button will change and will now read Deploy Contract.
This button will prompt your connected digital wallet browser extension to submit the transaction to Stacks mainnet, secured by Bitcoin. Your transaction details will be present and the name of your contract deploy will be listed.
After you click confirm, your contract will be submitted and may never be deleted, and only may be changed by predefined functions (e.g. enable public sale, set mint price, set artist wallet address, etc.) Please proceed only when 100% confident that all details are correct.
Then, click Confirm.
Once you've deployed your smart contract, several things will occur. We'll outline each one and make recommendations on how you can ensure the highest chances of success for your collection.
Wait for Contract Deploy Confirmation
When you submit transactions to the network, there is an inherent delay before transactions are confirmed. This is because your network fee must be paid to a blockchain miner to securely confirm your transaction. The time for this process varies, but typically ranges from 5-15 minutes. You can read more about transaction and what to do if your transaction is taking more time than expected here.
While you won't receive an explicit confirmation notification when your contract is deployed, you can monitor the status and outcome via your digital wallet browser extension. If you open your extension and look at recent transactions, you should see the status of your pending contract deploy, or whether it has since succeeded or failed. Although extremely rare, if your deploy has failed for any reason, please feel free to contact us and we may be able to help decipher why and help you re-deploy successfully.
Determine Mint Pages and Process
As the owner of your smart contract, we do not restrict you in any way if you'd like to mint your NFTs on a different location other than Gamma. If you have the proper skills, you can configure your own website with a custom minting page, you may seek listing on other marketplaces, or you can request a Gamma minting page for your collection. Provided your collection does not infringe upon somebody else's copyright or any law, you may request usage of our templated minting page. While you should automatically receive your minting page, please reach out to us if you have not received it within 1 business day.
For mint process, your options vary based on the options selected when deploying your smart contract. We'll break down the differences below:
> If Mintpass Enabled
If you deployed your contract with mintpass enabled (reminder on what this is in the table above), then your mint process takes a couple more steps relative to collections launched with mintpass disabled. This one-way process works as follows:
- On Contract Deploy: No NFTs may be minted from your smart contract until the Init Mintpass Sale function is called to your contract.
- Mintpass Sale Period: After calling the Init Mintpass Sale function, only wallet addresses predefined in your mintpass CSV file may mint a maximum of the number of NFTs defined in the same file. No other wallet addresses may mint NFTs from your smart contract until the Init Public Sale function is called to your contract.
- Public Sale Period: After calling the Init Public Sale function is called, any address may mint NFTs from your collection until the upper mint limit is reached. After this time, your available functions will mirror those of a contract with mintpass disabled.
If you have questions on how to action the functions above or any standard functions available, you may read more on this knowledgebase article.
> If Mintpass Disabled
If you deployed your smart contract with mintpass disabled, all standard functions available are outlined and explained on this knowledgebase article.
Promote Mint Pages
It is your responsibility, as the owner and creator of your collection, to promote its mint pages and sustain its long-term success. The best projects are ones with disclosed creators who are dedicated to a project's continued development and success. This differs for each collection, but often will mean that there is a community roadmap released and executed upon, community engagement by creators, and support for community members who have questions about the project.
The recurring theme you'll notice here is community. The most successful projects put their community first and ensure value is being delivered to this community. This is not necessarily financial value or future artwork, but at a minimum a hub for discussion, sharing of ideas and culture, and building of long-lasting ties that sustain a project's interest for months and years to come.
Throughout your journey, you're likely to learn many new and interesting ideas, but as a final piece of advice, we urge you to not lose focus of the community members who supported you from the beginning, oftentimes supporting you the creator rather than the work itself.
Notice Regarding Collections Deployed Using Creators Self Service Portal
Collections deployed using the Creators Self Service Portal are not owned by, nor affiliated in any way, with Gamma. While Gamma automatically collects 10% of mint revenues via a function within smart contracts deployed using our Self Service Portal, this in no way serves to acknowledge nor endorse any given collection. This is an unmonitored, unmodifiable template that we do not have control over following deployment.
Using our portal does not guarantee your collection will be listed for mint or secondary sales on our marketplace. We simply offer this tool to help you with the creation of a tested and secure smart contract for your collection. After submission, we will review your details once again, and assuming it continues to meet all requirements, we will then follow-up with your mint page details.
We reserve the right to remove collection mint pages, or prevent collections from appearing on our main marketplace if they are found to violate our standards or infringe upon any other person or entity's copyright or any law.
Gamma will not, and has no ability to, prevent your continued use of your smart contract on other websites, such as your own or any other marketplace.