Introducing the Cardano Token Registry for On-Chain Identifiers

Introducing the Cardano Token Registry for On-Chain Identifiers

Written by @elliothill at the Cardano Foundation

CFLogo

The arrival of the Mary hard fork event on 1 March 2021 brought with it the ability to create native tokens on Cardano. True to form, our community has not been slow on the uptake of native token functionality.

Just like the rapid proliferation of stake pools following the Shelley hard fork, collectively our community has already minted over 1,500 tokens in our testnet environment, and almost 600 tokens are now live on the Cardano mainnet.

But, with great token power, comes great responsibility. As much as decentralization is to be admired and promoted, there is also a need for certain centralized components that can support the growth and development of the Cardano ecosystem. In particular, reference material for our already vast amount of native tokens is of principal importance to the orderly growth of our ecosystem.

To help achieve this, the Cardano Foundation is now pleased to introduce the Cardano Registry, a trusted and curated collection of on-chain identifiers for tokens written and deployed on Cardano.

The Cardano Registry is the result of months of planning and discussion on how best to maintain our native token landscape. Here, we are going to explore what role Cardano Registry will serve within the ecosystem, and why the Foundation believes that the Registry is an important initiative for our community. We will also be looking at what role the Cardano Registry could play in enterprise and financial solutions for Cardano in the future.

What is the Cardano Registry?

The Cardano Registry is a centrally-managed register of Cardano native token data and information. At its core, the Registry is expected to function as a truth source and potentially as an eventual consolidation location of ‘on-chain identifiers’. These identifiers include public keys, hashes, token addresses, minting policies, and more.

The Registry will then map these identifiers to human-readable attributes. For those less technically inclined, this essentially means that you or other service providers will be able to read information about a token through the registry in a format that makes sense to a non-developer. This could include a token’s name, a short description of its function, an asset name, and a minting policy ID.

In an ecosystem where hundreds or even thousands of native tokens are being minted every week, collecting detailed information about individual tokens is time-consuming and difficult. Instead, the Cardano Registry will be a Cardano Foundation managed centrally accessible resource, designed to empower our ecosystem through access to the most relevant data.

Essentially, the Cardano Registry gives users access to the true character of native tokens deployed on Cardano through human-readable metadata and other descriptive information. Eventually, this data will be available to view alongside native tokens through both the Daedalus and Yoroi wallets.

Why submit a token to the Cardano Registry?

The Cardano Registry will be maintained on an opt-in basis. Token owners are required to submit a single JSON file and submit a GitHub pull request for admission to the registry. Likewise, modifications to existing entries will require a pull request. Approval of pull requests will be subject to both automated checking and human manual approval.

Although registration is not required to mint or use a token, we highly recommend all users do so—not just for the good of the entire ecosystem, but also for token creators’ benefit.

Some benefits of registering a token on the Cardano Registry include:

  • Authenticity - Like other blockchains, it is technically possible to mint a token with the same name as another token. To prove your token’s authenticity, you could submit it to the Cardano Registry where users will be able to verify its minting policy.

  • Metadata discovery - It is possible to view and explore descriptive on-chain identifiers, including metadata, through the Cardano Registry. This may be essential for users of a DApp or NFT token.

  • Verification - Human-readable Policy IDs, token names, and tickers make it easy for token holders and users to verify native assets on Cardano.

Essentially, registering a token with the Cardano Registry opens the doors to a better experience for both the token creator and the users of the token as well.

So, if you are a token creator and you want to register your token, head over to the Cardano Registry here and submit your native token.


Read more about tokens on Cardano here:

12 Likes

How will this work for NFTs? Does each NFT need an entry? Or, maybe a different standard for NFTs that just uses the policy id and collection name?

Finally! Been waiting for this and asking about this since last month! :grin:

2 Likes

For right now the focus is on registering coin-like mappings, NFTs would be separate individual mappings.
Looking forward to future evolutions - Good conversations about NFT metadata taking place, notably in this Pull Request to the CIP Repository.

1 Like

Very happy to read this. Seems like a good move considering how things could degrade into ways less aligned with Cardano mission.

3 Likes

It appears we still cannot specify fractional amounts for native tokens with these current available metadata properties. :pensive:

Hi @Frederic ,

I have a question regarding registering NFT art token:

  • I was just reading through the documentation and was confused, maybe you can help… For the ‘authenticity’ piece, I am not sure why we would need this registry as the tokens have policy ID minted into them so they cannot be forged.

  • Also this appears to be for registering individual tokens but is there a way to register entire policy ID so we do not need to do it hundreds of times per collection? For example: in the case, I am NFT Art maker, and for my collection I create 100 pcs NFT with the same policy ID but different attributes in metadata. Should I register one by one? Or we could register this 100pcs at once?

Thank you.

There was supposed to be the unit field in the token metadata, but it has been removed (reference). That field was supposed to be where we can specify the decimal places our tokens can have.

Without it, how can we specify decimals now?

I believe it was an engineering choice (coming from IOHK) to get rid of the ‘unit’ field. This is typical of other tokens out there, although mechanisms can be devised to work around.

1 Like

The current Cardano Token Registry implementation was not designed with NFTs in mind, but rather to serve as a registry for “coin-like” tokens. While the registry is technically able to support NFT registration, it might be tedious to register them individually.

You can register entire policyid subject see this PR
from the offchain-metadata-tools documentation:

The standard for wallet metadata is that the subject is equal to the hash of the policy concatenated to the base16-encoded asset name (which can be empty).

But for distinguishing the assets from themselves, then you would want to register them individually, yes.

The “authentic” aspect of the token itself is guaranteed by the blockchain, the registry has nothing to do with it! The Registry facilitates the linking of other attributes that can be attached to the token itself, which are picked up by existing ecosystem tools (i.e. Daedalus) - things like name, Ticker, Description.

3 Likes

In ERC20 tokens, the metadata includes the number of decimal places a token can have. Why don’t we have this at the outset for the native tokens here in Cardano?

Also, wouldn’t it be better if we can just attach the token metadata to the token policy or as a trx metadata when minting? Seems cumbersome or inefficient and counter to the idea of decentralization that we need to have a centralized and off-chain registry for the details of on-chain assets/tokens.

2 Likes

So, how to use this registry?

1 Like

If you have your sining keys etc handy i have created a small tool, which generates the file wich hast to be submitted to the repository: CardanoToolsFrontend

1 Like

Hi Nimrod - a follow on conversation has happened and a ‘decimals’ field should be reintroduced for the registry shortly - thank you for your patience from here!

1 Like

please refer to the wiki (how to prepare / submit)
or
Cardano Doc’s entry for the Cardano Token Registry

1 Like

Sorry, I forgot to closed this post. The problem is now solved. All running well. In fact, I would like to give you some PIGY Token. If you want :smiley:

1 Like

Hi! I’m looking for clarification on the decimals question: When I mint, do I need to account for the decimals ahead of time and then add the decimals value to the registry metadata? Or the other way around:
example, if I want to mint 1,000 with 6 decimals, do I just mint 1000 and then add 6 to the registry metadata? Or do I need to mint 1,000,000,000 and then add 6 to the registry metadata?

Mint 1,000,000,000 and add 6 decimals to the registry metadata. The metadata registry doesn’t affect the storage on the blockchain: it just gives a hint to wallets on how to display the quantity.

If you browse the entries in the registry, you can probably find examples.

1 Like

Ok, thank you for the clarification!