Skip to main content
Stock Tokens bring traditional equity on-chain with full regulatory compliance. Built on ERC-3643, these tokens integrate identity verification, transfer restrictions, and corporate actions directly into the smart contract—enabling 24/7 trading while maintaining securities law compliance.

Why Institutions Tokenize Stocks

Regulatory Compliance

ERC-3643 standard ensures transfers only occur between verified, eligible investors

24/7 Markets

Enable round-the-clock trading with instant settlement instead of T+2 cycles

DeFi Integration

Authorize lending markets and other contracts to interact with your securities

Collateral Unlock

Transform equity into instant lending collateral without selling shares

Architecture

Identity Registry

Every transfer validates both sender and receiver against the Identity Registry. The registry tracks:
  • KYC verification status
  • Investor accreditation level
  • Jurisdiction restrictions
  • Verification expiry dates
Transfers automatically fail if either party lacks valid verification.

Compliance Module

Optional rules engine for additional transfer restrictions:
  • Maximum holder limits
  • Minimum/maximum transfer amounts
  • Lock-up periods
  • Country-based restrictions
The compliance module evaluates transfers after identity checks pass.

Authorized Contracts

DeFi protocols (lending markets, trading pools) can be authorized to hold and transfer tokens without individual KYC. This enables:
  • Collateral deposits to lending markets
  • Liquidity pool participation
  • Automated market making
Authorized contracts bypass identity checks but remain subject to compliance rules.

Role System

Stock Tokens use role-based access control for different operational responsibilities:
RoleCapabilities
IssuerFull control: pause, configure, grant roles, authorize contracts
Sub-IssuerMint and redeem tokens, manage token supply
ControllerFreeze tokens, force transfers (regulatory enforcement)
Legal OperatorContract upgrades (requires separate authorization)
Sub-Issuers enable multiple institutions to issue tokens against the same underlying asset. All sub-issuers mint from the same contract, creating unified liquidity across institutions.

Token Identification

Each Stock Token carries standard securities identifiers:
FieldDescription
ISINInternational Securities Identification Number
NameFull token name (e.g., “Tokenized Apple Inc.”)
SymbolTrading symbol (e.g., “tAAPL”)
Metadata URILink to prospectus, terms, and documentation

Transfer Validation

Every transfer passes through validation checks:
1

Pause Check

Transfers blocked if token is paused
2

Balance Check

Sender must have sufficient unfrozen balance
3

Sender Verification

Identity Registry confirms sender is verified (unless authorized contract)
4

Receiver Verification

Identity Registry confirms receiver is verified (unless authorized contract)
5

Compliance Check

Compliance Module evaluates additional rules (if configured)
The canTransfer function returns specific rejection codes:
CodeMeaning
SUCCESSTransfer allowed
PAUSEDToken transfers paused
INSUFFICIENT_BALANCENot enough tokens
SENDER_TOKENS_FROZENSender balance frozen
SENDER_NOT_ELIGIBLESender KYC invalid or expired
RECEIVER_NOT_ELIGIBLEReceiver KYC invalid or expired
COMPLIANCE_REJECTEDCompliance module blocked transfer

Corporate Actions

Stock Tokens support on-chain corporate actions:

Stock Splits

Adjust the split ratio without modifying individual balances:
Split Ratio = Numerator / Denominator

Example: 2:1 split (numerator=2, denominator=1)
- 100 tokens represent same ownership
- Price per token halves
- Trading and display systems read split ratio
The contract tracks cumulative split multipliers. External systems query splitRatio() to display adjusted values.

Token Freezing

Controllers can freeze specific token amounts for regulatory holds:
  • Frozen tokens cannot be transferred
  • transferableBalance = balance - frozenTokens
  • Partial freezes supported (freeze 50 of 100 tokens)

Force Transfers

Controllers can execute forced transfers for:
  • Court-ordered seizures
  • Estate settlements
  • Regulatory enforcement
Force transfers bypass normal validation and automatically unfreeze required amounts.

DeFi Integration

Authorizing Lending Markets

Before a lending market can accept Stock Tokens as collateral:
Issuer calls: addAuthorizedContract(lendingMarketAddress)
Authorized contracts can:
  • Receive tokens without KYC (collateral deposits)
  • Transfer tokens to verified addresses (collateral returns)
  • Hold tokens indefinitely (lending pool reserves)

Removing Authorization

Issuer calls: removeAuthorizedContract(contractAddress)
Existing holdings remain, but the contract can no longer receive new tokens.

Deployment

Navigate to Tokenization → Create Token → Stock TokenConfigure:
  • Name: Full token name
  • Symbol: Trading ticker
  • ISIN: Securities identifier
  • Metadata URI: Link to documentation (IPFS recommended)
  • Issuer Address: Primary control wallet
  • Legal Operator: Upgrade authorization wallet
The system deploys a minimal proxy pointing to the verified implementation, then initializes with your parameters.

Supply Management

Issuing Tokens

Sub-Issuers mint new tokens to verified addresses:
OperationDescription
issueMint to single recipient with reason code
batchIssueMint to multiple recipients (max 200 per tx)
Reason codes (bytes32) provide audit trail context for each issuance.

Redeeming Tokens

Burn tokens to remove from circulation:
OperationDescription
redeemHolder burns their own tokens
redeemFromSub-Issuer burns from any address
Redemptions require unfrozen, transferable balance.

Compliance Best Practices

Metadata Maintenance

Keep Metadata URI updated with current prospectus and terms

Registry Monitoring

Ensure Identity Registry reflects current KYC status

Role Separation

Use different wallets for Issuer, Controller, and Legal Operator roles

Authorized Contract Audits

Only authorize audited contracts for DeFi integration
Frozen tokens and paused states affect user experience. Use these controls judiciously and communicate clearly with token holders when restrictions apply.

Integration with Lending

Stock Tokens integrate directly with Trusset lending markets:
  1. Authorize Market: Issuer adds lending market as authorized contract
  2. Deposit Collateral: Users deposit tokens to open loans
  3. Liquidation Handling: Authorize liquidation router for seized collateral
  4. Collateral Return: Market returns tokens on loan repayment
See Lending Documentation for complete integration details.

Identity Registry

KYC and investor verification system

Lending Markets

Use Stock Tokens as lending collateral