Skip to main content
The customers module covers the full investor lifecycle: creating customer records, verifying identities on-chain via the contract, sending KYC verification links, and bulk-synchronizing with your existing databases.

Sub-modules

KYC Proofs

The core journey: generate zk-STARK KYC proofs locally, verify customers on-chain with the root hash, add proof-backed claims.

Management

Create, update, search, and archive customer records. Link wallets to pre-registered customers. Query by name, address, external ID, or reference key.

Identity Verification

Verify identities on-chain, manage claims, check KYC status, run transfer compliance checks. Single and batch operations with full transaction receipts.

ID Links

Generate and manage Sumsub-powered KYC verification links. Send via email or SMS, optionally charge a fee, track status, revoke or resend.

Verification Profiles

Read the reusable KYC requirement sets configured on your instance (beta).

Database Sync

Bulk-import customer records from existing systems. Configurable conflict resolution, optional on-chain verification, progress tracking.

Typical integration flow

A bank onboarding existing customers onto tokenized assets typically follows this sequence:
1

Import existing customers

Use sync.importRecords to batch-import customer records from your core banking system, mapped by your internal customer ID (externalId). Customers without a wallet address receive a referenceKey for later linking.
2

Generate KYC proofs locally

Run the KYC proof tool against the customers you have already KYC’d. It produces a proof bundle and a root hash per customer - no KYC data ever leaves your infrastructure.
3

Collect wallets

For customers who already have a wallet, use manage.linkWallet to associate their address with their Trusset record. For investors who still need identity verification, send hosted KYC links via idLinks.create instead - they complete Sumsub and connect a wallet themselves.
4

Verify on-chain

Call identity.verifyFromManifest per customer, or identity.batchVerify with each subject’s root hash, to register identities on the IdentityRegistry contract. This enables compliant token transfers for those addresses.
5

Add claims

Use identity.addClaimsFromProof to attach proof-backed claims (KYC, residency, citizenship, accreditation) and identity.addClaim for your own attestations (AML, sanctions, PEP, tax residency).
6

Ongoing compliance

Use identity.canTransfer before token operations to check real-time compliance. Use identity.getStatus to monitor KYC expiry and on-chain state.