Role Guide

Compliance Officer Guide

Define and enforce compliance policies, manage KYC credentials, and monitor transfer eligibility.

Smart Contract: ComplianceModule
File: ComplianceModuleFacet.sol
Role Required: COMPLIANCE_OFFICER_ROLE

Compliance Framework

LAYER 1

Identity Verification

Every participant has on-chain identity with KYC level, residency, and credential expiry

LAYER 2

Transfer Eligibility

Both parties must have valid KYC, meet minimum level, allowed residency, within limits

LAYER 3

Exposure Tracking

Protocol tracks each investor's holdings and enforces maximum exposure limits

Key Operations

Set Fund Policy

const policy = {
minKycLevel: 2,
requireAccredited: true,
allowedJurisdictions: ["US"],
maxInvestorExposure: ethers.parseUnits("1000000", 18),
maxSingleTicket: ethers.parseUnits("100000", 18)
};
await complianceModule.setFundPolicy(policyId, policy);
📄 Smart Contract: ComplianceModuleFacet.sol, Function: setFundPolicy() at line 67

Bind Investor KYC

await complianceModule.bindInvestorKyc(
fundId,
investorAddress,
credentialId
);
📄 Smart Contract: ComplianceModuleFacet.sol, Function: bindInvestorKyc() at line 101