ERC-8143: Smart Credentials - Uniform Credential Resolution Interface

We need metadata records about users (including AI agents) that are not controlled by the user. Records like KYC and Proof of Personhood must be managed by secure third parties, but there’s no unified standard for clients to resolve credentials uniformly.

ERC-8143 defines Smart Credentials, a minimal interface with a single function:

interface ISmartCredential {
    function getCredential(string calldata key) external view returns (bytes memory result);
}

Use cases: KYC, Proof of Personhood, reputation systems, and privacy-preserving ZKPs.

Example:

const credentialBytes = await credentialContract.getCredential("kyc: 0x76F1Ff0186DDb9461890bdb3094AF74A5F24a162");
const credential = decodeCredential(credentialBytes, "(string)");