Skip to main content

Creating Collections

What you'll need:
  • Some Enjin Coin on Enjin Matrixchain to pay for Transaction Fees and 6.25 ENJ for Storage Deposits. You can obtain cENJ (Canary ENJ) for testing from the built-in Canary faucet in the Platform UI.
  • An Enjin Platform Account.

On Enjin Blockchain, every token must be placed inside a Collection

.

There are two ways to use the Create Collection functionalities:

  1. Using the Enjin Dashboard
  2. Using the Enjin API & SDKs

Option A. Using the Enjin Dashboard

In the Platform menu, navigate to "Collections". Then, click the "Create Collection" button.

From here, you can configure the collection's supply rules, royalties, accepted royalty currencies, and attributes.

  • Royalties - Configure a beneficiary and percentage for marketplace sales of tokens in this collection.
  • Explicit Royalty Currencies - Choose which currencies are required to pay marketplace royalties for the tokens in this collection.
  • Max Token Count / Max Token Supply - Optional caps on how many distinct tokens, and how much supply per token, this collection allows.
  • Force Collapsing Supply - When enabled, burning a token reduces its max supply (burned tokens cannot be re-minted). Leave disabled for the standard behavior.
  • Attributes - Add details to your collection using key-value pairs. Standard keys like name and description allow applications to display your content correctly. You can also use the URI to link to a JSON file hosting your metadata. For more information, see the Metadata Standard page.
Learn more about the arguments

For a comprehensive view and detail of all available arguments please refer to our API Reference.

Once you're satisfied with the options, click the "Create" button to submit the request. A Transaction Submitted modal appears with the new transaction's UUID and a View Transaction button that opens its row on the Transactions page.

Since this request requires a Transaction

, it must be signed before it broadcasts.

  • By default, transactions are signed automatically by the Wallet Daemon.
  • To sign with a different account, expand Transaction Options → Signing Account on the form and provide a Managed Wallet address.

Once you've created a collection you're ready to start creating tokens.

Option B. Using the Enjin API & SDKs

Every on-chain action goes through the single CreateTransaction mutation. The action itself is selected by which field you set on the transaction input — for collections, that's createCollection.

SDKs are not yet available

The C# and C++ SDK examples below are out of date and will not work against the current Enjin Platform API. This section will be updated once new SDKs are published. Until then, use the GraphQL, cURL, Javascript, Node.js, or Python examples.

mutation CreateCollection {
CreateTransaction(
network: ENJIN # or CANARY for testnet
chain: MATRIX
transaction: {
createCollection: {
forceCollapsingSupply: false # set to true to enforce collapsing supply
}
}
) {
uuid
action
state
}
}

The response includes the transaction's uuid, action (e.g. MultiTokens.create_collection), and state (PENDINGBROADCASTFINALIZED). Use GetTransaction(network, chain, uuid: "<returned-uuid>") to poll the current state.

Once it reaches FINALIZED, a MultiTokens.CollectionCreated event is emitted containing the new collection_id assigned to your collection. See Working with Events for how to read it.

Explore More Arguments

For a comprehensive view of all available arguments for queries and mutations, please refer to our API Reference. This resource will guide you on how to use the GraphiQL Playground to explore the full structure and functionality of our API.

In addition to forceCollapsingSupply, createCollection accepts maxTokenCount, maxTokenSupply, royalties, explicitRoyaltyCurrencies, and attributes.

What's next?

You've created a collection, now Fill it with Tokens