Documentation Portal
Project Home
  • Core Documentation
    • Overview
    • Whitepaper
      • Abstract
      • I. Introduction
      • II. Protocol
        • II.I Operation
          • II.I.I Generation of M
          • II.I.II Protocol Fees
          • II.I.III Cancel and Freeze
          • II.I.IV Retrieving Free Collateral
          • II.I.V The Earn Mechanism
          • II.I.VI Removing a Permissioned Actor
          • II.I.VII Example Interactions and Flows
        • II.II Governance Controlled Protocol Actors
        • II.III Governance Controlled Protocol Parameters
      • III. Governance
        • III.I Inputs
        • III.II Operation
          • III.II.I Epochs
          • III.II.II Proposals
            • III.II.II.I Standard Proposals
            • III.II.II.II POWER Threshold Proposals
            • III.II.II.III ZERO Threshold Proposals
            • III.II.II.IV Proposal Matrix
          • III.II.III Checkpoints and Voting
          • III.II.IV Proposing
          • III.II.V Inflation Mechanics
          • III.II.VI Dutch Auction
          • III.II.VII Delegation
          • III.II.VIII ZERO Claiming of Residual Value
        • III.III Governance Controlled TTG Parameters
        • III.IV Immutable TTG Parameters
        • III.V Immutable POWER Parameters
        • III.VI Immutable ZERO Parameters
      • IV. The M0 Economy
        • IV.I Minters
        • IV.II Validators
        • IV.III Earners
      • V. Off-Chain Ecosystem
        • V.I Guidance
        • V.II Off-Chain Actors and Components
    • Adopted Guidance
      • Adopted Guidance v1.30
        • 1. Description of the Adopted Guidance
          • 1.1. Purpose of the Adopted Guidance
          • 1.2. Change Process for the Adopted Guidance
        • 2. Ecosystem Description
          • 2.1. Actors
          • 2.2. Mandatory Contracts
          • 2.3. Duty of Transparency
          • 2.4. Core Operational Flows
            • 2.4.1. Update Collateral Process
            • 2.4.2. Minting M
            • 2.4.3. Retrieval of Collateral
          • 2.5. High-Risk Jurisdictions
        • 3. Eligible Collateral
          • 3.1. Criteria for Eligible Collateral
          • 3.2. Valuation Policy for Eligible Collateral
          • 3.3. Collateral Storage
          • 3.4. Approved Jurisdictions
            • 3.4.1. Bankruptcy Remoteness
            • 3.4.2. Non-Petition and Non-Seizure Provisions
            • 3.4.3. Priority of Payments and Subordination
            • 3.4.4. Regulatory Compliance
            • 3.4.5. Legal and Regulatory Framework
            • 3.4.6. Political Stability
            • 3.4.7. Dispute Resolution
            • 3.4.8. Asset Segregation
            • 3.4.9. Limited Recourse
            • 3.4.10. Investor Protection
            • 3.4.11. Operational Infrastructure
            • 3.4.12. Custody Relationship
            • 3.4.13. Audit
        • 4. SPV Operators
          • 4.1. Contact Information of Currently Approved SPV Operators
          • 4.2. Eligibility Criteria for Approved SPV Operators
          • 4.3. Obligations of SPV Operators
            • 4.3.1. Obligations in the Normal Course of Business
            • 4.3.2. Obligations Outside of the Normal Course of Business
              • 4.3.2.1. Amicable Wind Down Process
              • 4.3.2.2. Non-Amicable Wind Down Process
              • 4.3.2.3. Minter Insolvency
              • 4.3.2.4. Unauthorized Termination of Minter – SPV Operator Agreement
            • 4.3.3. Operational Obligations of SPV Operators
              • 4.3.3.1. Co-signature of the SPV for significant payments
              • 4.3.3.2. Cooperation with Validators
              • 4.3.3.3. Maintenance of Administrative Buffer
              • 4.3.3.4. No Wire Back Instructions
          • 4.4. Guidelines for Submission of Approval Requests
        • 5. Validators
          • 5.1. Contact Information of Currently Permissioned Validators
          • 5.2. Eligibility Criteria for Permissioned Validators
          • 5.3. Obligations of Validators
          • 5.4. Guidelines for Submission of Permissioning Requests
        • 6. BD Minters and Minters
          • 6.1. Contact Information of Currently Permissioned Minters
          • 6.2. Eligibility Criteria for Permissioned Minters
          • 6.3. Obligations of Minters
          • 6.4. BD Minter and Minter Compliance Requirements
          • 6.5. Guidelines for Submission of Permissioning Requests
        • Adopted Guidance PDF Version
      • Adopted Guidance v1.20 (deprecated)
        • Adopted Guidance PDF Version
    • Glossary
    • Disclosures
    • Whitepaper PDF Version
  • Technical Documentation
    • Protocol Technical Specification
      • Main Invariants
      • Variables
        • Protocol Variables Controlled by TTG
        • Protocol Variables And Definitions
        • Protocol Variables Used For Interest Accruals
      • Protocol And M Token Actors And Actions
        • Protocol Core Functions
          • Minter Gateway
            • updateCollateral
            • proposeMint
            • mintM
            • cancelMint
            • freezeMinter
            • burnM
            • proposeRetrieval
            • activateMinter
            • deactivateMinter
          • M Token
            • startEarning
            • stopEarning
            • transfer
          • Interest Calculations And Indices
            • MinterGateway.updateIndex
            • MinterGateway.currentIndex
            • MToken.updateIndex
            • MToken.currentIndex
            • activeOwedM
          • Interest Rate Models
            • Stable Earner Interest Rate Model Contract
            • Minter Interest Rate Model Contract
    • TTG Technical Specification
      • Main Invariants
      • Core Architecture
        • 1. Registrar
          • Registrar Variables and Getters
          • Registrar Core Functions
        • 2. TTG Governors
          • Matrix Of TTG Proposals
          • 2.1 Standard Governor
            • Variables And Getters
            • Governor Proposal State Transitions
            • Core Functions
            • Core Governance Proposals
          • 2.2 Emergency Governor
            • Emergency Governor Variables And Getters
            • Governor Proposal State Transitions
            • Core functions
              • propose(targets[], values[], callDatas[], description): proposalId
              • castVote(proposalId, support): weight
              • castVotes(proposalIds[], supports): weight
              • execute(targets[], values[], callDatas[], description): proposalId
              • setThresholdRatio(newThresholdRatio)
              • getProposal(proposalId)
              • state(proposalId)
            • Core Governance Proposals
          • 2.3 ZERO Governor
            • Variables And Getters
            • Core Functions
            • Core Governance Proposals
        • 3. POWER Token
          • Variables And Getters
          • POWER Token Core Functions
        • 4. ZERO Token
          • ZERO Token Core Functions
        • 5. Distribution Vault
          • Variables And Getters
          • Core Functions
    • Source Code Reference
      • Protocol
        • Protocol Contracts
          • Core Protocol Contracts
            • MToken
            • MinterGateway
          • Abstract Protocol Contracts
            • ContinuousIndexing
          • Protocol Interfaces
            • IContinuousIndexing
            • IMToken
            • IMinterGateway
            • IRateModel
            • ITTGRegistrar
          • Libs
            • ContinuousIndexingMath
            • TTGRegistrarReader
          • Rate Models
            • Contracts
              • EarnerRateModel
              • MinterRateModel
            • Interfaces
              • IEarnerRateModel
              • IMinterRateModel
      • TTG
        • TTG Contracts
          • Core TTG Contracts
            • DistributionVault
            • Registrar
            • Governors
              • EmergencyGovernor
              • StandardGovernor
              • ZeroGovernor
            • Tokens
              • PowerBootstrapToken
              • PowerToken
              • ZeroToken
          • Abstract TTG Contracts
            • ERC5805
            • Governors
              • BatchGovernor
              • ThresholdGovernor
            • Tokens
              • EpochBasedInflationaryVoteToken
              • EpochBasedVoteToken
            • Interfaces
              • IBatchGovernor
              • IERC5805
              • IERC6372
              • IEpochBasedInflationaryVoteToken
              • IEpochBasedVoteToken
              • IGovernor
              • IThresholdGovernor
          • Deployers
            • EmergencyGovernorDeployer
            • PowerTokenDeployer
            • StandardGovernorDeployer
          • TTG Interfaces
            • IDistributionVault
            • IRegistrar
            • Deployers
              • IDeployer
              • IEmergencyGovernorDeployer
              • IPowerTokenDeployer
              • IStandardGovernorDeployer
            • Governors
              • IEmergencyGovernor
              • IStandardGovernor
              • IZeroGovernor
            • Tokens
              • IPowerBootstrapToken
              • IPowerToken
              • IZeroToken
          • Libs
            • PureEpochs
      • Common
        • Contracts
          • Main
            • ContractHelper
            • ERC20Extended
            • ERC3009
            • ERC712Extended
            • StatefulERC712
          • Interfaces
            • IERC1271
            • IERC20
            • IERC20Extended
            • IERC3009
            • IERC712
            • IERC712Extended
            • IStatefulERC712
          • Libs
            • SignatureChecker
            • UIntMath
    • 🏁Audits
    • 🔛Deployments
Powered by GitBook

M0 Project

  • Home
  • Research

Legal

  • Terms & Conditions
  • Privacy Policy

Copyright 2025 M0 Foundation

On this page
  1. Technical Documentation
  2. Protocol Technical Specification
  3. Variables

Protocol Variables Controlled by TTG

PreviousVariablesNextProtocol Variables And Definitions

Last updated 23 days ago

Name

Definition

Notes & Examples

The list of Minters’ addresses

TTG name:

[0xbCcA4494d525008f70Ba72Ac8D1A57B4D1908FcF, ...]

The list of Validators’ addresses

TTG name:

[0xbCcA4494d525008f70Ba72Ac8D1A57B4D1908FcF, ...]

The list of whitelisted Earners’ addresses

TTG name:

[0xbCcA4494d525008f70Ba72Ac8D1A57B4D1908FcF, ...]

The ratio that defines the amount of

a Minter may maintain relative to their

TTG name:

There is $10,000 of the and the is 95%.

The Minter may mint up to $M 9,500 without incurring penalty charges.

Yearly Interest rate that continuously accrues on M owed to the protocol

Smart contract that implements logic for calculation of It implements method that returns value of in BPS

TTG name:

APY % in BPS

= 100 bps

Yearly Interest rate that continuously accrues on M owned by Smart contract that implements the logic for calculation of safe It implements method that returns value of in BPS

TTG name:

APY % in BPS

= 500 bps

A discrete fee that is levied on:

  1. if was not updated on time. Penalty is charged only once per every missed

  2. if it is present after was updated

TTG name:

penalty = 0.1% in BPS

= 10 bps

The amount of time by which a mint request is delayed before it can be executed

TTG name:

= 14,400 sec

The amount of time that mint request can remain live before it can no longer be executed

TTG name:

= 3,600 sec

The amount of time that stays frozen after one call

TTG name:

= 21,600 sec

The length of time in seconds that Minter has to call , from the previous time it was called by that minter, before they will incur the penalty.

TTG name:

= 108,000 sec

The number of validators required to verify the validity of data.

TTG name:

= 1

Reserved for future use to be able to drop any whitelisting checks for earners

TTG name:

MintersListMintersListMintersList
mintersmintersminters
ValidatorsListValidatorsListValidatorsList
validatorsvalidatorsvalidators
EarnersListEarnersListEarnersList
earnersearnersearners
mintRatiomintRatiomintRatio
MRMRMR
owedMminterowedM_{minter}owedMminter​
(collateralValueminter−totalRetrievalAmount)(collateralValue_{minter} - totalRetrievalAmount)(collateralValueminter​−totalRetrievalAmount)
mint_ratiomint\_ratiomint_ratio
CVCVCV
MRMRMR
minterInterestRateModelminterInterestRateModel minterInterestRateModel
minterRateminterRateminterRate
minterRateminterRateminterRate
getRate()getRate()getRate()
minterRateminterRateminterRate
minter_rate_modelminter\_rate\_modelminter_rate_model
minterRateminterRateminterRate
earnerInterestRateModelearnerInterestRateModel earnerInterestRateModel
earnerRateearnerRateearnerRate
earnersearnersearners
earnerRateearnerRateearnerRate
getRate()getRate()getRate()
earnerRateearnerRateearnerRate
earner_rate_modelearner\_rate\_modelearner_rate_model
earnerRateearnerRateearnerRate
penaltyRatepenaltyRatepenaltyRate
owedMminterowedM_{minter}owedMminter​
CVminterCV_{minter}CVminter​
updateCollateralIntervalupdateCollateralIntervalupdateCollateralInterval
excessiveOwedMminterexcessiveOwedM_{minter}excessiveOwedMminter​
CVminterCV_{minter}CVminter​
penalty_ratepenalty\_ratepenalty_rate
penaltyRatepenaltyRatepenaltyRate
mintDelaymintDelaymintDelay
mint_delaymint\_delaymint_delay
mintDelaymintDelaymintDelay
mintTTLmintTTLmintTTL
mint_ttlmint\_ttlmint_ttl
mintTTLmintTTL mintTTL
minterFreezeTimeminterFreezeTimeminterFreezeTime
minterminterminter
freezefreezefreeze
minter_freeze_timeminter\_freeze\_timeminter_freeze_time
minterFreezeTimeminterFreezeTimeminterFreezeTime
updateCollateralIntervalupdateCollateralIntervalupdateCollateralInterval
updateCollateralupdateCollateralupdateCollateral
update_collateral_intervalupdate\_collateral\_intervalupdate_collateral_interval
updateCollateralIntervalupdateCollateralIntervalupdateCollateralInterval
updateCollateralValidatorThresholdupdateCollateralValidatorThresholdupdateCollateralValidatorThreshold
updateCollateralupdateCollateralupdateCollateral
update_collateral_thresholdupdate\_collateral\_thresholdupdate_collateral_threshold
updateCollateralThresholdupdateCollateralThresholdupdateCollateralThreshold
isEarnersListIgnoredisEarnersListIgnoredisEarnersListIgnored
earners_list_ignoredearners\_list\_ignoredearners_list_ignored
earnersListIgnored=falseearnersListIgnored = falseearnersListIgnored=false