Maximus TEAM is a contract which distributes incomes received by the contract equally amongst TEAM stakers.

The primary income source to the TEAM contract are the Perpetual Pools - hex stake pools deployed by the TEAM contract that send half of their Bigger Pays Better Bonus HEX earnings plus the accrued HDRN to the Team Contract. If users successfully stake per the Staking Rules, they are eligible to claim their portion of the incomes.

The Maximus TEAM and Perpetual Pool contracts are fully trustless and have no admin keys. This means that users are responsible for the operation of the contract by running certain scheduled functions on behalf of the contract when the time comes.

Deployment and Contract Operation

  1. Day 0: Initial TEAM Contract Deployment
    1. Dip Catcher will run this function. Users should read through the contract themselves to ensure everything is as expected. During deployment the following actions are completed:
    2. Activate the TEAM Minting Phase
    3. Deploy Perpetual Pools
    4. Deploy Stake Reward Distribution Contract
  2. Day 21: Run finalizeMinting() function and run startStake() for each of the Perpetuals
    1. Anyone can run these public functions. Whoever runs it clicks one button and the following are completed:
    2. Disable new TEAM Minting
    3. Burn 20% of the MAXI in the TEAM Contract
    4. Deploy the 369 MAXI Escrow Contract and send it 30% of MAXI in TEAM Contract
    5. Schedule the MAXI redistributions from the Escrow Contract in years 3, 6, and 9
    6. Deploy Mystery Box Smart Contract and send it 50% of MAXI in TEAM Contract and the copy of the TEAM minted
  3. Day 386 and then every time BASE stake ends: prepareClaims() function
    1. Anyone can run prepareClaims() and one person needs to run it before stake rewards from a completed period are claimed. This does the following:
    2. For each token in the Supported Tokens list, record the TEAM Contract’s balance of each coin
    3. Calculate Redemption Rate for each coin. Think of redemption rate as “Number of Tokens claimable per TEAM staked that period”
    4. Transfer the tokens from the TEAM contract to the Stake Reward Distribution Contract.
  4. Every time a Perpetual Pool stake ends run mintHedron() and endStake()

TEAM Minting Rules

TEAM Staking Rules

Staking

  1. To stake liquid TEAM in your wallet, run stakeTeam(amount). This function:
    1. Creates a stake record with a unique Stake ID for the next staking period, or adds to a stake record for the period if you have already staked into the next staking period.
    2. Increments the Global and User Amount Staked Tallies
    3. Increments the Global and User Active Stake per Period Tallies
    4. Sets the expiry period on their Stake Record
    5. burns the amount of TEAM staked