LogoLogo
  • Welcome to Stobox
  • Stobox Company
    • Overview
      • Key Tokenization Trends
      • Tokenization Market Challenges in 2025
      • Stobox’s Mission and Business Objectives
      • Business Model Framework
      • Market Demand & Business Cases
      • Compliance & Security
      • Advantages
      • Values
      • Social Impact
    • Stobox Assets
      • Stobox Token (STBU)
      • Stobox Security Token (STBX)
    • Investor Relations
  • PRODUCTS
    • Stobox 4
      • Introduction
      • Stobox 4 Platform Roadmap 2025
      • Key Features
        • Wallet Management
          • Understanding MPC-CMP
          • Multi-Device Security
          • Multi-Blockchain Support
          • Full Private Key Takeover 🔥
          • Supported Assets
        • Blockchain dApps Connectivity
        • Compliance and Regulatory Framework
        • Asset Tokenization Module
        • Tokenization AI Framework
        • Roles and User Management System
        • Financial Operations, Integration, and Settlement Mechanics
        • Trust, Transparency, and Audits
      • Integrations
        • Blockchains
        • Protocols
        • Assets
    • Stobox V3
      • DS Dashboard V3
      • DS Swap
      • STV2 Stobox Protocol
        • Roles
        • Limits
        • Mint, Burn and Treasury Management
        • Lock-Ups
        • Contract Governance
    • STV3 Stobox Protocol
    • Stobox DID
    • Stobox Oracle
  • ENTERPRISE
    • Stobox API
    • Stobox 4 Whitelabel
  • TURN-KEY SERVICES
    • Stobox 3 Tokenization Suite
      • FAQ
  • CONCEPTS
    • Tokenization of Time
      • Introduction
      • Exploring the Benefits of Time Tokenization
      • Mechanism of Time Tokenization
      • Liquidity in Professional Services
      • Global Impact and Solutions to Systemic Issues
      • Time-Backed Securities and Investment Funds
    • The Power of Single Ledger Settlement
      • Chapter 1: Introduction to Single Ledger Settlement: Understanding the Basics
      • Chapter 2: Tokenization: The Digital Transformation of Assets
      • Chapter 3: How Single Ledger Settlement Works
      • Chapter 4: Revolutionizing the Auto Dealership Industry
      • Chapter 5: Supply Chain and Logistics – Enhancing Transparency and Efficiency
      • Chapter 6: Tokenization in Real Estate – Simplifying Transactions and Ownership
      • Chapter 7: Healthcare – Streamlining Patient Data and Payments
      • Chapter 8: Smart Contracts – Automating and Simplifying Business Processes
      • Chapter 9: Digital Payments – The New Era of Instant, Transparent Transactions
      • Chapter 10: Tokenization and Payroll – A New Frontier in Employee Compensation
      • Chapter 11: Reducing Costs with Single Ledger Settlement
      • Chapter 12: Legal Implications and Compliance
      • Chapter 13: Overcoming Challenges in Adopting Single Ledger Settlement
      • Chapter 14: Case Studies – Real-World Applications of Single Ledger Settlement
      • Chapter 15: The Future of Business Operations – A Unified Ledger for the Global Economy
  • DeFi
    • Staking Program
Powered by GitBook
On this page

Was this helpful?

  1. PRODUCTS
  2. Stobox V3
  3. STV2 Stobox Protocol

Mint, Burn and Treasury Management

The smart contract has two main entities that refer to the emission, distribution and destruction of security tokens:

  • Corporate official wallet-address named “Corporate Treasury”

/// @notice oficial corporate wallet of the Company, to which tokens are minted and then distributed
    address private _corporateTreasury;
  • and the role of Financial Manager.

Both these parameters are defined in the Constructor of the smart contract when it deploys and can be changed and governed by the SuperAdmin role :

replacementOfCorporateTreasury(address _newTreasury),

grantRole(bytes32 role, address account) where: bytes32 role = FINANCIAL_MANAGER_ROLE

revokeRole(bytes32 role, address account)where: bytes32 role = FINANCIAL_MANAGER_ROLE

These functions have some complicated logic. It was done on purpose, not to let users make certain mistakes, to reduce the likelihood of fraud with these changes, and to make it easier to interact with the smart contract.

replacementOfCorporateTreasury(address _newTreasury) consists of such steps in one function:

  • checks newAddress of Treasury not to be zero-address;

  • adds newTreasury to whitelist;

  • transfers all the balance of oldTreasury to new one;

  • checks if that balance was correctly replaced;

  • resets the limits(secondary trading and transction count) of oldTreasury to the default values;

  • sets the address of newTreasury as the proper parameter of smart contract(_corporateTreasury);

  • sets the maximum limits for the newTreasury (2**256-1);

  • removes oldTreasury from Whitelist

At first, a Smart contract is created without preminted tokens. They have to be minted already after deploying.

Function mint() is for just this purpose. It is called by the Recovery Manager Role .

/// @notice Mints `_amount` of tokens to the address `_to`
    /// @dev Allowed only for RecoveryManager
    /// @param _to address to mint on it tokens
    /// @param _amount amount of tokens to mint
    function mint(address _to, uint256 _amount) external onlyRecoveryManager {
        _mint(_to, _amount);
    }

At first necessary amount of tokens has to be minted exactly to the Corporate Treasury.

From which all tokens can be transferred further to the proper addresses by the Financial Manager (functions transferFromTreasuryToInvestor(), transferFromTreasuryLockedTokens()).

Also, the contract has standard functions:

transfer(), transferFrom() - which certainly can move tokens from address to address;

Functionality is available only for the Recovery Manager role:

  • mint() - to mint tokens as usually done in ERC-20 contracts

Destruction of tokens is also specified in the smart contract. Burning of tokens can be done by the functions

  • burn() and

  • redemption() .

The difference between them is that using burn() you have to clearly indicate the amount of tokens to burn, and using redemption() - it will be enough to input address(es) and the whole balance of tokens on it (them) will be burnt.

  • transferFunds() which also allowed only for the Recovery Manager role and can move any _amount of tokens from any _from address to any whitelisted _to address.


PreviousLimitsNextLock-Ups

Last updated 9 months ago

Was this helpful?