MintThrottleController
The MintThrottleController is a system-critical component that governs the controlled expansion of TRN supply and the responsive staking of BRN within the TRN ecosystem. It ensures the stability of the token economy by coordinating with the TRNUsageOracle
, TRN↔BRN Internal AMM
, and MerkleBatchVault
systems.
Purpose
To prevent runaway inflation, TRN minting is not arbitrary. It is throttled based on real-time metrics, pending distributions, AMM pressure, and Merkle drop balances. The MintThrottleController
exists to ensure new TRN is only minted or BRN is staked when necessary and only in amounts required to maintain systemic balance.
Core Functions
1. Minting New TRN
Trigger: When TRN supply is insufficient to fulfill daily earnings and fruit distributions.
Constraints:
Must pass a compliance check with the
TRNUsageOracle
.Only allowed if doing so would not cause the
TRN↔USD AMM
to deviate >2%.Must not exceed the daily throttle limit.
Throttle Logic: Throttle weight is dynamically calculated based on:
Total pending earnings across all users.
Current TRN reserves in the DAO vault.
Time elapsed since last Merkle cycle.
TRN debt ratio in the Merkle index.
Historical volatility metrics (e.g. sudden usage spikes).
2. Staking BRN Instead of Minting TRN
Fallback Mechanism: When minting TRN would violate AMM slippage or throttle limits.
Behavior:
Platform converts eligible future TRN earnings into staked BRN credits.
These BRN units are not transferred to the user — they are only held as offset records.
Settled via Merkle drop once TRN liquidity permits.
Objective: Absorb user activity without expanding TRN supply.
3. Swap Management Guard
Any user-initiated swap of BRN→TRN or TRN→BRN will trigger validation through this module.
Prevents swaps that would:
Violate the 1:1 peg plus ±2% allowed margin.
Deplete vault reserves below required levels.
If rejected:
The transaction is held until the next Merkle reconciliation.
The user is notified of delay and potential reprocessing.
Coordination with TRNUsageOracle
The MintThrottleController always defers to the TRNUsageOracle
to assess:
Available balance.
Debt ratio per user.
Global pending distribution needs.
Eligibility for mint or stake.
This ensures all system state decisions remain in sync with real-time usage.
AMM Pressure Handling
If large transaction volumes (e.g. withdrawals, swaps, earnings) would unbalance the internal AMM pools:
Minting is blocked.
BRN staking is triggered.
Oracle reweights supply caps for next epoch.
This limits the impact of whale activity or abnormal usage spikes.
Merkle Integration
Fruit credits are calculated from real-time TRNUsageOracle balances.
If the user has pending BRN (from throttled settlements), they are prioritized in the Merkle drop when conditions improve.
The controller flags backlogged BRN debt to be burned once TRN mint is permitted.
Governance Control
The DAO may configure:
Daily mint caps.
Allowed slippage limits (default ±2%).
Emergency override parameters.
Any override is recorded on-chain with a reference in
GovernanceLog
.
Related Modules
TRNUsageOracle
Provides real-time user balances and system-wide TRN debt/credit info.
TRN↔BRN AMM
The internal pegged swap mechanism where mint/stake decisions directly affect liquidity.
MerkleBatchVault
The distribution and reconciliation engine for earnings and post-cycle settlements.
Last updated