Standards

Built on standards already in production.

Kanon doesn’t invent a new credential format. It implements the AnonCreds VDR interface that the Aries ecosystem already uses, on any EVM chain.

W3C DID Core 1.0

did:kanon method.

DIDs are W3C DID Core 1.0 compliant. The did:kanon method binds an identifier to a controller address with sender-bound update authority. Resolvable through any DID resolver that understands the method.

W3C VC Data Model

VC Data Model 2.0 compatible.

Credentials carry W3C-compliant proofs. Selective disclosure follows the AnonCreds CL or BBS+ paths depending on credential format, both standard.

Hyperledger AnonCreds

AnonCreds VDR — drop-in.

Implements the AnonCredsRegistry interface for Credo. Schemas, credential definitions, and per-credential status all stored on-chain. The four CKS-revocation methods are intentionally rejected; we use per-credential status lookup instead.

Hyperledger Aries

Credo + ACA-Py compatible.

Credo agents talk to Kanon through a standard plugin. Issuance and revocation surface as normal AnonCreds operations; the on-chain calls happen via Credo events and a wrapped AnonCredsVerifierService.

Any EVM chain

Solidity 0.8.24, Cancun target.

The contracts are EVM-portable. Reference deployment is Hyperledger Besu 26.5 with EIP-2537 BLS12-381 precompiles, but the same bytecode runs on Ethereum mainnet, Arbitrum, Optimism, Polygon zkEVM, Base, and any private EVM rollup that supports the same opcodes.

Groth16 / BN254

Mode B uses Groth16 over BN254.

Circom 2 circuit compiled with snarkjs. The on-chain verifier is generated by snarkjs from a multi-contributor Powers-of-Tau ceremony. BN254 keeps verification gas low and works on any EVM chain.

Compare with cheqd, Indy, ethr.