Investments (Farm Miner) 및 TIP tiers

현재 시스템에서 (지금 작동 방식)

1) 투자 생성의 핵심 규칙

  • 시스템에 active assets가 있을 때만 투자가 생성됩니다:
    • USDT (BSC) 및 USDO (Internal)
  • 투자 사용자는 referredByUserId를 가져야 합니다 (즉, invite code로 등록해야 함).
  • 투자에는 investmentInviteCode(8 characters, A-Z/0-9)가 필요합니다 — 이는 Yield tree의 placement code입니다.
  • 최소 투자금: 10 USDT.

2) TIP 분류 (TIP1/TIP2/TIP3)

TIP는 Block settings 기반으로 투자 금액에서 계산됩니다:

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

If:

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

중요: 사용자의 overall programTier모든 ACTIVE farm miners의 principal 합계로 계산됩니다 (단일 투자만이 아님). 이로 인해 다중 투자를 통한 TIP upgrade가 가능합니다.

3) Farm Miner term/return 및 “hourly mint”

투자 후 다음 로직으로 FarmMiner가 생성됩니다:

  • termMonthsreturnMinPercent/returnMaxPercent는 TIP 기반 settings에서 옴.
  • returnPercent에는 두 레이어가 있음:
    • 투자 시 초기 returnPercent 설정 (random in [min, max]).
    • earn worker는 각 mint/credit 시 returnPercent재랜덤화할 수 있으며 마지막 값을 저장.
  • profitBase = principal * returnPercent / 100
  • totalMintBase = principal + profitBase
  • Mint interval은 farmMinerMintIntervalMinutes에서 옴 (default: 60 minutes).

Earn/mint는 경과 시간 기준 prorata로 계산됩니다:

  • worker가 경과 hours(또는 interval < 60이면 minutes)와 totalMintBasemintedTarget 계산.
  • 이후 mintDue = mintedTarget - mintedBase를 사용자 USDO 잔액에 적립 (ledger entry).
  • term 종료 또는 mintedBase >= totalMintBase이면 miner는 COMPLETED가 됨.

4) Investment placement (LEFT/RIGHT)

investmentInviteCode는 어떤 사용자에게 속해야 합니다:

  • 해당 사용자의 inviteCodeLeft와 같으면 → placementSide=LEFT
  • inviteCodeRight와 같으면 → placementSide=RIGHT

UI에서는 보통 USDOL (LEFT), USDOR (RIGHT)로 표시됩니다.

5) 첫 투자 후 investment invite code 잠금

  • 사용자가 이미 투자 이력이 있고 investmentInviteCodeLocked=true이면, 이후 투자에서도 동일 investmentInviteCode를 사용해야 합니다.
  • 첫 투자 후 backend는 선택한 placement code를 항상 저장/잠금합니다.

6) Referral (direct/word-of-mouth) bonus

현재 시스템에서 referral commission은 marketing inviter(referredByUserId)에게 지급됩니다 — 즉 등록 시 사용한 invite code의 소유자:

  • Referral percent는 settings에서 옴 (referralPercent, default: 10%).
  • 자격은 수령자의 TIP에 의존:
    • TIP1 → 0% (수령 불가)
    • TIP2/TIP3 → 수령 가능, 단 최대 cap (tip2ReferralMaxBase / tip3ReferralMaxBase) 존재.

7) Multiple miners 및 “upgrade” (increase-only)

  • 사용자는 여러 farm miners(다중 투자)를 가질 수 있습니다.
  • 현재 API에서는 기존 miner의 principal 증액(upgrade)이 가능합니다. 이 경우:
    • principal 증가
    • 새 principal 기준 TIP 변경 가능
    • term 및 returnPercent 재계산 (returnPercent는 다시 random)
    • miner가 “지금부터” 재시작 (mintedBase=0, accruedHours=0, endsAt 재계산)