Defines the on-chain securities compliance framework based on ERC-3643 (Token for Regulated EXchanges). This standard enables fully compliant security token issuance, transfer, and lifecycle management. The framework provides modular compliance through pluggable identity verification, transfer restriction, and jurisdiction enforcement modules.
SecurityToken (ERC-3643)
|-- IdentityRegistry (KYC/AML verification status)
|-- ComplianceModule[] (pluggable transfer rules)
|-- TrustedIssuersRegistry (authorized KYC providers)
|-- ClaimTopicsRegistry (required claim types per token)
Maps on-chain addresses to verified identities:
isVerified(address) | Returns true if address has all required claims |registerIdentity(address, IIdentity, uint16 country) | Register verified identity |deleteIdentity(address) | Remove identity (blocks all transfers) |Pluggable modules enforcing transfer rules:
Each token specifies required claim topics. A holder must have valid claims for ALL required topics to receive tokens:
mint(address, amount) | Token agent (issuer) |burn(address, amount) | Token agent |forcedTransfer(from, to, amount) | Token agent (regulatory) |pause() / unpause() | Token agent (emergency) |freezePartialTokens(address, amount) | Token agent (lockup) |1. Identity verification is off-chain (Hanzo IAM). On-chain registry stores attestation results only.
2. Forced transfers bypass compliance for regulatory seizure. Access is tightly controlled via role-based permissions.
3. Trusted issuers are managed by the token issuer. Adding a malicious issuer would compromise compliance.
4. The framework is compatible with both Reg D (US private placement) and MiFID II (EU regulated markets).
github.com/luxfi/standard/contracts/securities/ |github.com/luxfi/standard/contracts/securities/IdentityRegistry.sol |Copyright (C) 2018-2026, Lux Partners Limited. All rights reserved.
Licensed under the MIT License.