• SettleMintSettleMint
    • Introduction
    • Market pain points
    • Lifecycle platform approach
    • Platform capabilities
    • Use cases
    • Compliance & security
    • Glossary
    • Core component overview
    • Frontend layer
    • API layer
    • Blockchain layer
    • Data layer
    • Deployment layer
    • System architecture
    • Smart contracts
      • SMART protocol (ERC-3643)
      • Asset contracts
      • Identity & compliance
      • Addon modules
      • Factory patterns & upgradeability
    • Application layer
    • Data & indexing
    • Integration & operations
    • Performance
    • Quality
    • Getting started
    • Asset issuance
    • Platform operations
    • Troubleshooting
    • Development environment
    • Code structure
    • Smart contracts
    • API integration
    • Data model
    • Deployment & ops
    • Testing and QA
    • Developer FAQ
Back to the application
  1. Documentation
  2. Architecture
  3. Smart contracts

Asset token contracts - Bonds, equities, funds, and more

ATK Assets are tokenization contracts that represent real-world assets (RWAs) as compliant security tokens. Built on the SMART Protocol foundation, each asset type provides specific functionality for different financial instruments while maintaining regulatory compliance and interoperability.

What are ATK assets?

ATK Assets provide smart contract implementations for five core financial instrument types. Each asset type extends the SMART Protocol with specialized functionality for specific use cases. All assets share common compliance and identity management infrastructure while providing unique features tailored to their financial instrument type.

Design principles

  • Regulatory compliance - Full ERC-3643 compliance with modular rules
  • Operational flexibility - Role-based access control and emergency procedures
  • Extensibility - Modular extension system for custom functionality
  • Security - Access controls and secure patterns
  • Interoperability - Full ERC-20 compatibility for ecosystem integration

Asset types

ATK provides five distinct asset types, each optimized for specific financial use cases:

Bond tokens

Fixed-term debt instruments with maturity dates and redemption features.

Key features:

  • Fixed maturity date and face value
  • Denomination asset backing (collateral)
  • Yield distribution capabilities
  • Redemption at maturity
  • Historical balance tracking
  • Supply cap management

Extensions used:

ExtensionPurpose
PausableEmergency stop functionality
BurnableAdmin token destruction
CustodianFreeze accounts and forced transfers
RedeemableUser-initiated token burning at maturity
YieldDividend/interest distribution
Historical balancesSnapshot capabilities
CappedMaximum supply limits

Bond-specific features:

Maturity management

  • Maturity date - Fixed timestamp when bond matures
  • Face value - Redemption value per token
  • Underlying asset - Collateral backing for redemption
  • Maturity process - Admin-triggered maturation after maturity date

Yield distribution

  • Yield basis - Face value per token
  • Yield token - Underlying asset used for payments
  • Schedule management - Configurable yield distribution schedule

Redemption mechanics

  • Maturity requirement - Only redeemable after maturation
  • Proportional redemption - Tokens redeemed for proportional denomination assets

Use cases:

  • Corporate bonds
  • Government securities
  • Asset-backed securities
  • Structured products

Equity tokens

Tokenized shares with voting rights and governance capabilities.

Key features:

  • Voting rights through ERC20Votes
  • Governance participation
  • Shareholder privileges
  • Dividend distribution capabilities

Extensions used:

ExtensionPurpose
PausableEmergency stop functionality
BurnableAdmin token destruction
CustodianFreeze accounts and forced transfers
VotingGovernance and voting rights

Equity-specific features:

Governance rights

  • Voting power - ERC20Votes implementation
  • Proposal participation - Token holders can vote on proposals
  • Delegate support - Vote delegation to representatives
  • Snapshot mechanism - Historical voting power tracking

Use cases:

  • Company shares
  • Startup equity tokens
  • DAO governance tokens
  • Voting securities

Deposit tokens

Tokenized deposit certificates implementing core compliance and custodial controls.

Key features:

  • Identity-based deposit certificates
  • Compliance-enforced transfers
  • Custodial freeze and recovery capabilities
  • Emergency pause functionality

Extensions used:

ExtensionPurpose
PausableEmergency stop functionality
BurnableAdmin token destruction
CustodianFreeze accounts and forced transfers

Deposit-specific features:

The deposit token implements the standard SMART Protocol extensions without additional specialized features beyond the core compliance framework. Deposit-specific requirements such as collateral backing or time-lock periods can be enforced through:

  • Compliance modules - Use CountryAllowList or IdentityVerification modules for eligibility
  • Time-lock module - Apply TimeLockComplianceModule for holding period requirements
  • Custom modules - Implement collateral verification through custom compliance modules that verify OnchainID claims

Use cases:

  • Certificate of deposits
  • Digital deposit receipts
  • Institutional deposits
  • Bank deposit tokens

Fund tokens

Investment fund shares with management fees and governance.

Key features:

  • Management fee collection
  • Voting rights for fund decisions
  • Share class management
  • Performance tracking

Extensions used:

ExtensionPurpose
PausableEmergency stop functionality
BurnableAdmin token destruction
CustodianFreeze accounts and forced transfers
VotingFund governance rights

Fund-specific features:

Management fees

  • Fee basis points - Configurable management fee percentage
  • Time-based collection - Automatic fee calculation based on time elapsed
  • Fee distribution - Management fee collection mechanism

Governance integration

  • Voting rights - Fund decision-making participation
  • Share class management - Different fund share categories
  • Performance tracking - Historical performance data

Use cases:

  • Mutual funds
  • Hedge funds
  • Index funds
  • Investment trusts

StableCoin tokens

Fiat-pegged tokens with collateral backing.

Key features:

  • Collateral backing requirements
  • Price stability mechanisms
  • Regulatory compliance
  • Minting/burning controls

Extensions used:

ExtensionPurpose
PausableEmergency stop functionality
BurnableAdmin token destruction
CustodianFreeze accounts and forced transfers
CollateralBacking requirements

StableCoin-specific features:

Price stability

  • Collateral backing - Claim-based collateral verification
  • Peg maintenance - Mechanisms to maintain price stability
  • Reserve management - Underlying asset reserve tracking

Use cases:

  • USD-pegged stablecoins
  • Multi-collateral stablecoins
  • Algorithmic stablecoins
  • Central bank digital currencies (CBDCs)

Extension comparison

All asset types share a common foundation but use different combinations of extensions:

ExtensionBondEquityDepositFundStableCoinPurpose
SMART core✅✅✅✅✅Base token functionality
Access managed✅✅✅✅✅Role-based permissions
Pausable✅✅✅✅✅Emergency stop
Burnable✅✅✅✅✅Admin token destruction
Custodian✅✅✅✅✅Freeze & recovery
Collateral❌❌❌❌✅Backing requirements
Redeemable✅❌❌❌❌User burn at maturity
Yield✅❌❌❌❌Dividend distribution
Historical✅❌❌❌❌Balance snapshots
Capped✅❌❌❌❌Supply limits
Votes❌✅❌✅❌Governance rights

Role-based access control

All ATK Assets use a unified role-based access control system with five primary roles that provide granular control over token operations.

Role definitions

DEFAULT_ADMIN_ROLE (0x00)

Role administration and management capabilities:

  • Grant and revoke all other roles
  • Manage role hierarchy and permissions
  • Does not grant operational permissions (must be explicitly assigned other roles)

GOVERNANCE_ROLE (keccak256("GOVERNANCE_ROLE"))

Token governance and compliance management capabilities:

  • Set onchain identity contracts
  • Configure identity registry
  • Manage compliance settings
  • Add/remove compliance modules
  • Configure module parameters

SUPPLY_MANAGEMENT_ROLE (keccak256("SUPPLY_MANAGEMENT_ROLE"))

Token supply operations capabilities:

  • Mint new tokens
  • Burn existing tokens
  • Batch mint/burn operations
  • Set supply caps (Bond only)

CUSTODIAN_ROLE (keccak256("CUSTODIAN_ROLE"))

Custodial operations and asset protection capabilities:

  • Freeze/unfreeze addresses
  • Freeze/unfreeze partial token amounts
  • Execute forced transfers
  • Initiate wallet recovery
  • Batch custodial operations

EMERGENCY_ROLE (keccak256("EMERGENCY_ROLE"))

Emergency response and system protection capabilities:

  • Pause/unpause token operations
  • Recover stuck ERC20 tokens
  • Emergency system interventions

Permission matrix

ActionRole RequiredBondEquityDepositFundStableCoin
Governance
Set OnchainIDGOVERNANCE_ROLE✅✅✅✅✅
Set identity registryGOVERNANCE_ROLE✅✅✅✅✅
Set complianceGOVERNANCE_ROLE✅✅✅✅✅
Add compliance moduleGOVERNANCE_ROLE✅✅✅✅✅
Remove compliance moduleGOVERNANCE_ROLE✅✅✅✅✅
Set yield scheduleGOVERNANCE_ROLE✅❌❌❌❌
Mature bondGOVERNANCE_ROLE✅❌❌❌❌
Supply management
Mint tokensSUPPLY_MANAGEMENT_ROLE✅✅✅✅✅
Burn tokensSUPPLY_MANAGEMENT_ROLE✅✅✅✅✅
Batch mintSUPPLY_MANAGEMENT_ROLE✅✅✅✅✅
Batch burnSUPPLY_MANAGEMENT_ROLE✅✅✅✅✅
Set supply capSUPPLY_MANAGEMENT_ROLE✅❌❌❌❌
Custodial operations
Freeze addressCUSTODIAN_ROLE✅✅✅✅✅
Freeze partial tokensCUSTODIAN_ROLE✅✅✅✅✅
Forced transferCUSTODIAN_ROLE✅✅✅✅✅
Recover tokensCUSTODIAN_ROLE✅✅✅✅✅
Batch operationsCUSTODIAN_ROLE✅✅✅✅✅
Emergency operations
Pause contractEMERGENCY_ROLE✅✅✅✅✅
Unpause contractEMERGENCY_ROLE✅✅✅✅✅
Recover ERC20EMERGENCY_ROLE✅✅✅✅✅
User operations
Transfer tokensToken Holder✅✅✅✅✅
Redeem tokensToken Holder✅❌❌❌❌
Vote on proposalsToken Holder❌✅❌✅❌
Claim yieldToken Holder✅❌❌❌❌

Directory structure

assets/
├── ATKAssetProxy.sol                    # Base proxy for all assets
├── ATKAssetRoles.sol                    # Role definitions
├── bond/                                # Fixed-term debt instruments
│   ├── ATKBondImplementation.sol
│   ├── ATKBondFactoryImplementation.sol
│   ├── ATKBondProxy.sol
│   ├── IATKBond.sol
│   └── IATKBondFactory.sol
├── equity/                              # Tokenized shares with voting
│   ├── ATKEquityImplementation.sol
│   ├── ATKEquityFactoryImplementation.sol
│   ├── ATKEquityProxy.sol
│   ├── IATKEquity.sol
│   └── IATKEquityFactory.sol
├── deposit/                             # Collateral-backed deposits
│   ├── ATKDepositImplementation.sol
│   ├── ATKDepositFactoryImplementation.sol
│   ├── ATKDepositProxy.sol
│   ├── IATKDeposit.sol
│   └── IATKDepositFactory.sol
├── fund/                                # Investment fund shares
│   ├── ATKFundImplementation.sol
│   ├── ATKFundFactoryImplementation.sol
│   ├── ATKFundProxy.sol
│   ├── IATKFund.sol
│   └── IATKFundFactory.sol
└── stable-coin/                         # Fiat-pegged stablecoins
    ├── ATKStableCoinImplementation.sol
    ├── ATKStableCoinFactoryImplementation.sol
    ├── ATKStableCoinProxy.sol
    ├── IATKStableCoin.sol
    └── IATKStableCoinFactory.sol

Implementation architecture

All asset tokens follow a consistent implementation pattern:

Common architecture

  1. Implementation contract - Contains the core logic for the asset type
  2. Factory contract - Deploys new instances of the asset
  3. Proxy contract - Upgradeable proxy for deployed instances
  4. Interface - Defines the public API for the asset
  5. Factory interface - Defines the factory deployment API

Deployment flow

Rendering chart...

Upgrade safety

Assets use upgradeable proxies with the following safety features:

  • Immutable proxy addresses - User-facing addresses never change
  • Access-controlled upgrades - Only authorized roles can upgrade
  • Storage layout preservation - Upgrades maintain state compatibility
  • Initialization protection - Prevents re-initialization attacks

Conclusion

ATK Assets provide compliant tokenization solutions built on the SMART Protocol foundation. Each asset type is optimized for specific use cases while maintaining:

  • Regulatory compliance - Full ERC-3643 compliance with modular rules
  • Operational flexibility - Role-based access control and emergency procedures
  • Extensibility - Modular extension system for custom functionality
  • Security - Role-based access controls and custodian safeguards
  • Interoperability - Full ERC-20 compatibility for ecosystem integration

The unified architecture ensures consistent behavior across all asset types while providing specialized functionality for different financial instruments.

SMART protocol (ERC-3643)
Identity & compliance
llms-full.txt

On this page

What are ATK assets?Design principlesAsset typesBond tokensEquity tokensDeposit tokensFund tokensStableCoin tokensExtension comparisonRole-based access controlRole definitionsPermission matrixDirectory structureImplementation architectureCommon architectureDeployment flowUpgrade safetyConclusion