Skip to main content

Public Credentials for Assets

Given that with AssetDIDs there is now a way to uniquely identify assets regardless of the chain they live on or their current owner, KILT also allows owners of an on-chain DID with an assertion key (a.k.a. attesters) to issue credentials to those assets.

Public credentials are not very different in their structure from traditional KILT credentials. The main difference is that, since they are public, public credentials do not have any selective disclosure capabilities, hence all the cryptographic information required to enable those is stripped away from the credential content. Everything else remains as for regular credentials, including the requirement for its structure to match a given CType, and optionally the presence of some delegation information.

Public credential example
{
"claims": {
"name": "Alice",
"age": 29
},
"cTypeHash": "0x4f1d68ac46daf4613181b33b16faaf10cf94879dc2246d7485dc2ccbb843641d",
"delegationId": null,
"subject": "did:asset:eip155:1.erc721:0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb:1005"
}
Anyone can be an attester!

While traditional KILT credentials are held in the wallet of their owner, who then decides what credential to share with whom, public credentials are, as the name suggests, public by design. This means that when reading all the credentials issued for a given asset, consumers should be aware of the level of trust they have towards the issuer of each credential, as is the case for traditional KILT credentials.