> For the complete documentation index, see [llms.txt](https://docs.zerolabs.green/zerolabs-tokenization-module/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zerolabs.green/zerolabs-tokenization-module/domain-definitions/smart-contracts/certificate-registry.md).

# Certificate Registry

**Certificate Registries** are smart contracts that allow users to issue ERC-1155/ERC-1888 type of NFTs.\
\
Multiple Issuers can connect to the same Registry and issue NFTs on it.

Only a single Issuer (smart contract or blockchain account) can issue NFTs with a specific [topic](/zerolabs-tokenization-module/domain-definitions/issuer/topics.md).\
\
Each topic can have a separate agreed-upon NFT [metadata](https://app.gitbook.com/s/J1hmZlUO8raciusperMH/~/changes/MQ7T6VtrjPWiHnuzLbWf/domain-definitions/smart-contracts/certificate-registry/issuance-metadata) structure upon issuance.

### Class Diagram

Source code: [https://github.com/zerolabsgreen/tokenization/blob/develop/packages/contracts/contracts/CertificateRegistry.sol](https://github.com/zerolabsgreen/token/blob/develop/packages/contracts/contracts/CertificateRegistry.sol)

![](/files/HVntO7fHFIWpnBaj0i18)
