Token Architecture
CapSign tokens are ERC-7752 securities tokens with lot-based accounting.
Overview
Features:
ERC-20 compatibility
ERC-7752 lot tracking
Transfer restrictions
Compliance modules
Administrative controls
Diamond Structure
TokenDiamond
├── DiamondCutFacet
├── DiamondLoupeFacet
├── AccessControlFacet
├── TokenERC20Facet - ERC-20 functions
├── TokenBalancesFacet - Balance tracking
├── TokenLotsFacet - Lot management (ERC-7752)
├── TokenTransferFacet - Transfer logic
├── TokenComplianceFacet - Compliance checks
├── TokenMetadataFacet - Token metadata
└── TokenAdminFacet - Admin functionsKey Interfaces
ERC-20
Standard ERC-20 functions:
ERC-7752 Lots
Lot-based accounting:
Compliance
Transfer restrictions:
Lot Structure
Each lot tracks:
Transfer Types
Compliance Modules
Condition Contracts
Separate contracts that check transfers:
Built-in Conditions
LockupCondition - Time-based lockup
VestingCondition - Linear vesting
Rule144Condition - SEC Rule 144 holding period
ROFRCondition - Right of first refusal
Example: Lockup
Deployment
Via TokenFactory
Issuance (Minting)
Create lots for recipients:
Transfers
ERC-20 Transfer
Simple transfers (uses oldest lot FIFO):
ERC-7752 Transfer
Specify which lot:
Storage
TokenBalancesStorage
TokenLotsStorage
Events
Security
Reentrancy protection on all transfers
Access control on admin functions
Pausable for emergencies
Compliance checks before every transfer
Gas Costs
On Base:
Token deployment:
6M gas ($0.10)Create lot:
200k gas ($0.002)ERC-20 transfer:
100k gas ($0.001)ERC-7752 transfer:
300k gas ($0.003)
Testing
Resources
Last updated
Was this helpful?