Offering Architecture
Investment offerings with built-in compliance modules.
Overview
Features:
Hybrid escrow (investor protection + issuer control)
Compliance presets (506b, 506c, Reg S, Reg A+)
Automated token issuance
Modular compliance system
Document management
Diamond Structure
OfferingDiamond
├── DiamondCutFacet
├── DiamondLoupeFacet
├── AccessControlFacet
├── OfferingCoreFacet - Core offering logic
├── OfferingComplianceFacet - Compliance coordinator
└── OfferingDocumentsFacet - Document managementPlus separate compliance module contracts.
Core Interface
Offering Configuration
Investment Flow
1. Investor Invests
2. Compliance Checks
Automatically checked:
KYC verification
Accreditation (if required)
Document signing
Investor limits
Whitelist (if enabled)
3. Issuer Countersigns
4. Or Issuer Rejects
Compliance Modules
Module Interface
Built-in Modules
KYCComplianceModule:
Checks investor has KYC attestation
Verifies attestation not expired/revoked
WhitelistComplianceModule:
Checks investor on approved list
Issuer controls whitelist
InvestorLimitsComplianceModule:
Enforces max investor count (e.g., 99 for 506b)
Tracks total investors
AccreditationComplianceModule:
Requires accreditation attestation
For 506(c) offerings
DocumentComplianceModule:
Requires signed subscription agreement
Checks document signatures
Example: KYC Module
Hybrid Escrow
Investor Protection
If issuer doesn't countersign within grace period:
Issuer Control
Issuer can reject unqualified investors:
Deployment
Via OfferingFactory
Storage
OfferingCoreStorage
Events
Security
Access control on admin functions
Reentrancy protection
Pausable
Compliance checks before accepting investment
Gas Costs
On Base:
Offering deployment:
13M gas ($0.20)Invest:
500k gas ($0.005)Countersign:
300k gas ($0.003)
Testing
Resources
Last updated
Was this helpful?