- type (required): A credential’s private data schema is referred to as “type”. Types act as a protective measure, preventing the addition of unauthorized fields and, as a result, the tampering of the Verifiable Credential. You can define your own.
-
encryption (required): The method chosen to protect the credential’s private data. If set to
none
the credential’s private data will be stored in plain text. To encrypt and protect the credential’s private data, read about the supported encryption modalities. - storage (required): The location where credentials defined by this template will be stored. Such storage can be on Crossmint, another company’s database, or decentralized storage. Read about the supported storage modalities.
- metadata (required): A template’s public name, description and imageUrl. Name is required, while the other attributes are optional.
- chain (required): The blockchain where the credential’s contract and associated NFTs will be registered. Verifiable Credentials supports all EVM chains. Interested in launching your verifiable credentials on a specific blockchain? Get in touch.
- delegatedSignature (optional): A non-custodial wallet of choice to be used for signing credential issuance. By default, the issuer’s Crossmint-managed custodial wallet will be used. Read more about delegated signatures here.
1. Create a Credential Template
To issue a Verifiable Credential you have to first create the template that this credential will adhere to. You can do so via a single API call (requires the API key scopetemplates.create
):
createTemplate.js
2. Check the status of your template
It takes a few seconds (up to a minute, depending on the blockchain and how congested it is) to deploy a template. To check the template’s status, you will need thenfts.create
API scope and run the following code.
checkTemplateStatus.js