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 functions

Key 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?