Investments (Farm Miner) and TIP tiers
In the current system (how it works now)
1) Core rules for creating an investment
- An investment is created only if the system has active assets:
- USDT (BSC) and USDO (Internal)
- The investing user must have
referredByUserId(i.e., they must have registered with an invite code). - The investment requires an
investmentInviteCode(8 characters, A-Z/0-9) — this is the placement code for the Yield tree. - Minimum investment: 10 USDT.
2) TIP classification (TIP1/TIP2/TIP3)
TIP is calculated from the investment amount based on Block settings:
tier1MaxBase(default: 480 USDT)tier2MaxBase(default: 975 USDT)
If:
- amount ≤ tier1Max →
TIP1 - amount ≤ tier2Max →
TIP2 - otherwise →
TIP3
Important: the user’s overall programTier is calculated by summing the principal of all ACTIVE farm miners (not just one investment). This allows TIP upgrades through multiple investments.
3) Farm Miner term/return and “hourly mint”
After investing, a FarmMiner is created with the following logic:
termMonthsandreturnMinPercent/returnMaxPercentcome from settings based on TIP.returnPercenthas two layers:- At investment time, an initial
returnPercentis set (random in[min, max]). - The earn worker may re-randomize
returnPercenton each mint/credit and stores the last used value.
- At investment time, an initial
profitBase = principal * returnPercent / 100totalMintBase = principal + profitBase- Mint interval comes from
farmMinerMintIntervalMinutes(default: 60 minutes).
Earn/mint is calculated prorata based on elapsed time:
- The worker computes
mintedTargetfrom elapsed hours (or minutes if interval < 60) andtotalMintBase. - Then it credits
mintDue = mintedTarget - mintedBaseto the user’s USDO balance (ledger entry). - When the term ends or
mintedBase >= totalMintBase, the miner becomesCOMPLETED.
4) Investment placement (LEFT/RIGHT)
investmentInviteCode must belong to some user:
- If it equals that user’s
inviteCodeLeft→placementSide=LEFT - If it equals
inviteCodeRight→placementSide=RIGHT
In the UI this is usually shown as USDOL (LEFT) and USDOR (RIGHT).
5) Investment invite code is locked after the first investment
- If a user already has an investment and
investmentInviteCodeLocked=true, then for subsequent investments the sameinvestmentInviteCodemust be used. - After the first investment, the backend always stores/locks the chosen placement code.
6) Referral (direct/word-of-mouth) bonus
In the current system, referral commission goes to the marketing inviter (referredByUserId) — i.e., the person whose invite code the user used at registration:
- Referral percent comes from settings (
referralPercent, default: 10%). - Eligibility depends on the recipient’s TIP:
- TIP1 → 0% (does not receive)
- TIP2/TIP3 → receives, but there is a maximum cap (
tip2ReferralMaxBase/tip3ReferralMaxBase).
7) Multiple miners and “upgrade” (increase-only)
- A user can have multiple farm miners (multiple investments).
- In the current API, it is possible to increase an existing miner’s principal (upgrade). In that case:
- principal increases
- TIP can change based on the new principal
- term and
returnPercentare recalculated (returnPercentbecomes random again) - the miner restarts “from now” (
mintedBase=0,accruedHours=0,endsAtrecalculated)