How to Implement KYC/AML Compliance in a Tokenization Platform
Implement KYC/AML compliance on a tokenization platform — from off-chain identity verification to on-chain enforcement via ERC-3643. Technical architecture & EU regulatory requirements.

Kai Firschau
CTO

How to Implement KYC/AML Compliance in a Tokenization Platform
KYC and AML compliance in tokenization is not a single integration. It is a full-stack engineering problem that spans identity verification, encrypted data handling, on-chain identity contracts, and transfer-level enforcement — all of which must work together before a single token can be issued or moved.
Short answer: Implementing KYC/AML in a tokenization platform requires three connected systems: an off-chain identity verification layer that handles document checks, biometric verification, and sanctions screening; a data layer that stores and encrypts personally identifiable information (PII) in compliance with privacy regulations; and an on-chain identity layer that maps verified investors to blockchain-native identity contracts, enabling the token's smart contract to enforce compliance automatically at every transfer. For security tokens under EU regulation, the standard approach is ERC-3643, which embeds identity verification directly into the token's transfer logic.
Most guides on this topic treat KYC as a checkbox — integrate a provider, collect documents, move on. That framing misses the architectural complexity. A tokenization platform serving regulated securities must handle individual investors and institutional entities differently, synchronize verification status in real-time, deploy blockchain-native identity contracts, sign cryptographic compliance claims, and enforce all of this at the protocol level before any token changes hands. The gap between "we have a KYC provider" and "our platform enforces compliance on-chain" is where most implementations stall.
What KYC/AML Means in a Tokenization Context
In traditional finance, KYC and AML are back-office processes: verify a customer's identity, screen them against sanctions lists, monitor transactions for suspicious activity. The results live in internal databases and compliance reports.
Tokenization changes the enforcement model fundamentally. Because token transfers happen on a blockchain — a system that is by default permissionless — compliance must be embedded in the transfer logic itself. A standard ERC-20 token allows any address to send tokens to any other address. A regulated security token cannot afford that. It must verify, before every transfer, that both parties are identified, verified, and eligible to hold the asset.
This requirement creates a two-layered compliance architecture. The identity and compliance layer is one of the five core layers in any tokenization platform architecture, and arguably the one that determines whether a platform can operate in regulated markets at all. The first layer is off-chain: the actual identity verification, document collection, biometric checks, and AML screening that determine whether an investor passes compliance requirements. The second layer is on-chain: the identity contracts, compliance claims, and registry lookups that the token's smart contract checks before executing a transfer. Neither layer works without the other. Off-chain verification without on-chain enforcement means compliance is advisory, not automatic. On-chain enforcement without proper off-chain verification means the system is checking empty credentials.
Off-Chain Verification: The Foundation
The off-chain layer is where actual identity verification happens. A regulated KYC provider performs document checks (passport, national ID), biometric verification (selfie matching or liveness detection), proof-of-address validation, and sanctions/PEP screening. The platform integrates this provider via API, typically following a pattern where the platform creates an applicant record with pre-collected user data, generates an access token for the provider's verification widget, and receives results asynchronously through webhooks.
The webhook integration pattern deserves particular attention. Real-time status synchronization — where the provider pushes verification results to the platform as they become available — is architecturally superior to polling-based approaches. When a verification completes, the provider sends a signed webhook containing the applicant ID, review result, and status. The platform verifies the webhook signature (HMAC-SHA256 is standard), extracts the external user ID, fetches the latest applicant data from the provider's API, and updates the investor's compliance status in the database.
Signature verification on incoming webhooks is non-negotiable. Without it, any actor could forge a verification result and mark an unverified investor as compliant.
PII Handling and Data Encryption
A frequently underestimated requirement is how personally identifiable information is stored. Under GDPR and equivalent privacy regulations, investor data — names, birth dates, addresses, document numbers — must be encrypted at rest. The naive approach of storing PII in plaintext database columns creates a compliance liability regardless of how good the KYC provider integration is.
A robust pattern uses envelope encryption: a key management service generates a data encryption key, the platform encrypts the PII payload before writing it to the database, and decryption happens server-side only when explicitly needed (for example, when pre-populating an applicant record with the KYC provider). This means that even a database breach exposes only encrypted blobs, not usable personal data.
The architectural consequence is that profile updates involving PII follow a different code path than non-sensitive updates. Non-encrypted fields (country, KYC status, referral codes) can be written directly. Encrypted fields require a full decrypt-merge-encrypt cycle, which is slower but necessary.
Individual KYC vs. Institutional KYB
Most tokenization KYC guides assume every investor is an individual. In practice, a significant portion of capital in regulated offerings comes from institutional investors — companies, funds, family offices — which require a fundamentally different verification flow.
Individual KYC is relatively straightforward: one person, one identity document, one biometric check. The result maps directly to a single wallet address and a single on-chain identity contract.
Institutional KYB (Know Your Business) introduces multiple layers of complexity. The platform must verify the legal entity itself (company registration documents, commercial register extracts, articles of association), identify and verify all Ultimate Beneficial Owners (UBOs) — the natural persons who ultimately own or control the entity — and potentially verify the authorized representative who is acting on the company's behalf.
Each UBO typically needs to complete their own individual KYC process, which creates an operational challenge: these are external persons who may not have accounts on the platform. A common pattern is to generate secure, time-limited verification links (JWT-based, with expiration) that the platform emails to each UBO. The UBO clicks the link, completes identity verification through the embedded provider widget, and the result propagates back to the parent company's compliance status via webhooks.
The platform must track both dimensions — company document verification and individual UBO verification — and consider the entity fully verified only when both are complete. This is a state machine, not a boolean.
The Bridge: Connecting Off-Chain Verification to On-Chain Identity
This is the layer that most existing content either ignores or treats abstractly. The question is concrete: once an investor passes KYC off-chain, how does that status become enforceable on the blockchain?
The ERC-3643 standard provides the most widely adopted answer for regulated security tokens. The mechanism works through three connected components.
First, each verified investor receives an on-chain identity contract — commonly called an ONCHAINID. This is a smart contract deployed to the blockchain that can hold cryptographic claims about the investor. The platform's service wallet deploys this contract, typically using an Identity Factory that ensures each wallet address maps to exactly one identity contract. If the investor already has an ONCHAINID from a previous issuance, the existing contract is reused (idempotent design).
Second, the platform signs a compliance claim and attaches it to the investor's ONCHAINID. A claim is a cryptographic attestation — signed by a trusted entity — that the investor has satisfied a specific verification requirement (for example, "basic KYC passed"). The claim is written to the identity contract on-chain. Importantly, the claim contains no personal data. It is a signed statement that verification occurred, not the verification data itself.
Third, the investor's wallet address is registered in the token's Identity Registry, which maps wallet addresses to their corresponding ONCHAINID contracts. The Identity Registry also records metadata like the investor's country code (in ISO 3166-1 numeric format), which the compliance module uses for jurisdictional restrictions.
Once these three steps are complete, the token's smart contract can verify the investor's eligibility before any transfer by calling the Identity Registry's verification function, which checks that the wallet has a registered ONCHAINID with valid claims from a trusted issuer.
Transfer-Level Enforcement
With the identity infrastructure in place, compliance enforcement happens automatically at the protocol level. When a token transfer is initiated — whether through minting, a peer-to-peer transfer, or a marketplace trade — the token contract executes a two-step check before the transfer proceeds.
The first check queries the Identity Registry: are both the sender and receiver registered with verified ONSCHAINIDs that carry valid, non-revoked claims from authorized issuers? If either party fails this check, the transfer reverts.
The second check queries the Compliance Contract: does this specific transfer comply with the issuer's configured rules? These rules can include country-based restrictions (blocking transfers to or from certain jurisdictions), maximum holder limits, balance caps, and transfer cooldown periods. The compliance contract is modular — rules can be added, removed, or updated without redeploying the token contract.
This design means a stolen private key cannot be used to transfer security tokens to an unverified wallet. The tokens are effectively bound to the regulatory whitelist, not just to the cryptographic key. For asset issuers operating under securities law, this property is not optional — it is a core requirement.
The compliance module also supports administrative functions that regulated securities require: forced transfers (to comply with court orders), token freezing (per address or globally), and token recovery mechanisms. These capabilities exist because securities regulation demands that issuers retain certain controls — a reality that purely permissionless token designs cannot accommodate.
EU-Specific Requirements
For platforms operating under EU regulation, several compliance requirements directly affect the KYC/AML architecture.
Under GDPR, all personal data must be encrypted at rest and processed only with a lawful basis. The envelope encryption pattern described earlier is not a best practice — it is a legal obligation. Platforms must also support data deletion requests, which in practice means the encrypted PII blob can be wiped while the on-chain identity contract (which contains no personal data) remains intact.
Germany's BaFin requires video identification for certain financial products and investor categories. This means the KYC provider integration must support a video ident flow — a live video call where an operator verifies the investor's identity against their documents in real-time. This is architecturally different from basic document verification: it requires a separate verification level, a distinct database status field, and provider-side configuration for video call scheduling and operator assignment.
MiFID II introduces investor classification requirements. Platforms must distinguish between retail investors and professional investors, with different disclosure requirements, risk warnings, and investment limits for each category. This classification propagates into the token's compliance configuration — certain assets may be restricted to professional investors only, enforced at the compliance module level.
The interplay between these requirements means that a platform's compliance architecture is not a single integration point but a network of connected systems: the KYC provider handles identity verification, the database encrypts and stores PII, the on-chain identity layer maps verification to blockchain-native contracts, and the compliance module enforces classification and transfer rules at the protocol level.
How ONINO Implements the Full Pipeline
To illustrate how these layers connect in practice, consider the ONINO platform.
The off-chain verification layer handles both individual KYC (document + selfie or video identification) and a custom KYB solution for institutional investors with per-UBO verification via secure, time-limited links. Webhook-based synchronization ensures verification results propagate in real-time, and all PII is encrypted using envelope encryption with a managed key service.
At the on-chain identity layer, the platform deploys the full ERC-3643 (T-REX) identity stack per asset: ONCHAINID contracts for each verified investor, signed KYC claims from the platform's trusted issuer identity, and Identity Registry registration mapping wallets to verified identities with country codes for jurisdictional enforcement.
The issuance pipeline automates the entire bridge between off-chain and on-chain: the system checks investor eligibility, deploys or retrieves ONCHAINID contracts, signs compliance claims, registers identities, and constructs a batch mint transaction — all before the issuer signs a single transaction. For teams evaluating whether to build this infrastructure themselves, the operational complexity of this pipeline is often the deciding factor.
The platform supports configurable regulatory frameworks (EU MiFID II, German VermAnlG §2a), dual custody models (regulated custodial and self-custodial), and white-label deployment — meaning multiple issuers can operate their own branded platform with independent compliance configurations on shared infrastructure.
FAQ
What is tokenization of KYC? In the context of security tokens, "tokenization of KYC" refers to representing an investor's verified compliance status as an on-chain credential — typically a signed claim attached to an identity contract — that the token's smart contract can check before allowing transfers. The actual KYC data (documents, biometrics) stays off-chain; only a cryptographic attestation that verification occurred lives on the blockchain.
What are the 4 pillars of AML KYC? The four pillars are Customer Identification Program (CIP), Customer Due Diligence (CDD), Enhanced Due Diligence (EDD) for high-risk customers, and ongoing monitoring of transactions and accounts. In a tokenization platform, CIP and CDD map to the identity verification integration, EDD applies to institutional KYB and UBO verification, and ongoing monitoring is handled through sanctions screening updates and on-chain transfer enforcement.
What are the 4 steps of KYC process? The standard KYC process follows four steps: identity verification (document + biometric check), risk assessment (country, PEP/sanctions screening), approval or rejection of the applicant, and ongoing monitoring. In tokenization, a fifth step is added: the on-chain identity setup, where verification results are translated into blockchain-native identity contracts and compliance claims that enable protocol-level enforcement.
What is an AML token? An AML token is not a specific asset class. The term usually refers to a compliance mechanism where a token standard (like ERC-3643) embeds AML checks into its transfer logic — blocking transactions involving wallets that have not passed Anti-Money Laundering screening. In this model, AML compliance is enforced automatically by the smart contract, not manually by an operations team.
Summary
KYC/AML in tokenization is a full-stack problem spanning off-chain verification, encrypted data storage, on-chain identity contracts, and transfer-level enforcement
Off-chain identity providers handle document checks and biometric verification; results must synchronize via webhooks with signature verification, not polling
Institutional KYB with per-UBO verification is architecturally different from individual KYC and requires separate state tracking
ERC-3643 bridges off-chain verification to on-chain enforcement through ONCHAINID contracts, signed claims, and Identity Registry lookups
EU platforms must address GDPR encryption requirements, BaFin video identification, and MiFID II investor classification — all of which propagate into the compliance architecture

Kai Firschau
CTO
Share
Read related Articles
Implement KYC/AML compliance on a tokenization platform — from off-chain identity verification to on-chain enforcement via ERC-3643. Technical architecture & EU regulatory requirements.
