Skip to main content
The identity register is the only contract shared across all instances. Each issuer controls one identity registry used by all their tokens and instances—enabling consistent KYC enforcement without duplicating verification data. The register stores zero-knowledge proofs about user identity and compliance status without exposing personal information.

Architecture

Unlike instance-specific contracts, the identity register operates at the issuer level. All tokens you deploy across multiple instances query the same registry for verification status. This architecture prevents verification fragmentation while maintaining privacy—users verify once and transfer tokens across all your instances without re-verification.
The identity register eliminates redundant KYC processes. One verification grants access to all tokens within your organization while preserving instance-level compliance rule isolation.

Identity Issuers

Only authorized identity issuers can write verification proofs to the registry. To become an authorized issuer, request identity verification service during registration or contact our team for existing accounts. Authorization ensures only trusted institutions submit verification data preventing unauthorized or fraudulent proofs.

Stored Data Structure

Each verification stores minimal data on-chain using cryptographic commitments:
FieldDescription
userWallet address being verified
kycHashSHA256 hash of KYC documents (passport, address proof)
countryHashSHA256 hash of ISO 3166-1 alpha-2 country code
investorTypeClassification: retail, accredited, institutional, or qualified
expiryUnix timestamp when verification expires (0 = never)
The registry never stores raw personal data—only cryptographic hashes proving data existence without revealing contents. Smart contracts verify these proofs during transfers without accessing underlying information.

Cross-Instance Verification

When a user attempts a token transfer, the token contract queries the identity register for verification status. The register returns proof validity without exposing personal data. This check adds approximately 5,000 gas to each transfer but enables automatic compliance enforcement across all your tokens. Expired verifications fail automatically at the contract level. Revoked verifications prevent transfers immediately across all instances. Update verification status once and the change propagates to every token you’ve deployed.

Identity Proofs

Learn how zero-knowledge proofs protect customer data

Customer Management

Manage verifications through portal or API