Investments (Farm Miner) und TIP tiers

Im aktuellen System (so funktioniert es derzeit)

1) Kernregeln für das Erstellen einer Investition

  • Eine Investition wird nur erstellt, wenn das System aktive assets hat:
    • USDT (BSC) und USDO (Internal)
  • Der investierende Nutzer muss referredByUserId haben (d. h. er muss sich mit einem invite code registriert haben).
  • Die Investition erfordert einen investmentInviteCode (8 Zeichen, A-Z/0-9) — dies ist der placement code für den Yield tree.
  • Mindestinvestition: 10 USDT.

2) TIP-Klassifizierung (TIP1/TIP2/TIP3)

TIP wird aus dem Investitionsbetrag anhand der Block settings berechnet:

  • tier1MaxBase (Standard: 480 USDT)
  • tier2MaxBase (Standard: 975 USDT)

Wenn:

  • amount ≤ tier1Max → TIP1
  • amount ≤ tier2Max → TIP2
  • ansonsten → TIP3

Wichtig: Das gesamte programTier des Nutzers wird berechnet, indem der principal aller ACTIVE farm miners summiert wird (nicht nur einer Investition). Das ermöglicht TIP-upgrades über mehrere Investitionen.

3) Farm Miner Laufzeit/Rendite und „hourly mint“

Nach der Investition wird ein FarmMiner mit folgender Logik erstellt:

  • termMonths und returnMinPercent/returnMaxPercent kommen aus den settings basierend auf TIP.
  • returnPercent hat zwei Ebenen:
    • Zum Investitionszeitpunkt wird ein initiales returnPercent gesetzt (random in [min, max]).
    • Der earn worker kann returnPercent bei jedem mint/credit neu randomisieren und speichert den zuletzt verwendeten Wert.
  • profitBase = principal * returnPercent / 100
  • totalMintBase = principal + profitBase
  • Das mint interval kommt aus farmMinerMintIntervalMinutes (Standard: 60 Minuten).

Earn/mint wird prorata anhand der verstrichenen Zeit berechnet:

  • Der worker berechnet mintedTarget aus verstrichenen Stunden (oder Minuten, falls interval < 60) und totalMintBase.
  • Dann schreibt er mintDue = mintedTarget - mintedBase dem USDO-Guthaben des Nutzers gut (ledger entry).
  • Wenn die Laufzeit endet oder mintedBase >= totalMintBase, wird der miner COMPLETED.

4) Investment placement (LEFT/RIGHT)

investmentInviteCode muss zu einem Nutzer gehören:

  • Wenn er dem inviteCodeLeft dieses Nutzers entspricht → placementSide=LEFT
  • Wenn er dem inviteCodeRight entspricht → placementSide=RIGHT

In der UI wird dies üblicherweise als USDOL (LEFT) und USDOR (RIGHT) angezeigt.

5) Investment invite code wird nach der ersten Investition gesperrt

  • Wenn ein Nutzer bereits eine Investition hat und investmentInviteCodeLocked=true, muss für weitere Investitionen derselbe investmentInviteCode verwendet werden.
  • Nach der ersten Investition speichert/sperrt das Backend immer den gewählten placement code.

6) Referral (direkt/Mundpropaganda) bonus

Im aktuellen System geht die referral commission an den marketing inviter (referredByUserId) — also an die Person, deren invite code der Nutzer bei der Registrierung verwendet hat:

  • Referral percent kommt aus den settings (referralPercent, Standard: 10%).
  • Eligibility hängt vom TIP des Empfängers ab:
    • TIP1 → 0% (erhält nichts)
    • TIP2/TIP3 → erhält etwas, aber es gibt ein maximales cap (tip2ReferralMaxBase / tip3ReferralMaxBase).

7) Mehrere miners und „upgrade“ (nur Erhöhung)

  • Ein Nutzer kann mehrere farm miners haben (mehrere Investitionen).
  • In der aktuellen API ist es möglich, den principal eines bestehenden miners zu erhöhen (upgrade). In diesem Fall:
    • principal steigt
    • TIP kann sich basierend auf dem neuen principal ändern
    • Laufzeit und returnPercent werden neu berechnet (returnPercent wird erneut random)
    • der miner startet „ab jetzt“ neu (mintedBase=0, accruedHours=0, endsAt neu berechnet)