Subscription Order Calculation Handbook

This article provides an overview of how investment calculations are handled when a user enters different input values: Token Amount (T), Net Investment Amount (IA), or Amount to Pay (AP). It outlines the formulas, fee calculations, and rounding rules for each scenario.

Glossary:

  • AP: Amount to pay
  • IA: Net investment amount
  • T: Tokens
  • TP: Token price
  • EX: Exchange rate
  • (IC): Investment currency
  • (BC): Base currency

Case 1: User Enters Token Amount (T)

When a user inputs the Token Amount (T), the following calculations are applied:

Fixed feeFee % Amount to PayFee % Investment Amount
Token Amount (T)TTT
Net Investment Amount (IA) in investment currencyIA(IC) = T * TP(BC) * EX(IC/BC)IA(IC) = T * TP(BC) * EX(IC/BC)IA(IC) = T * TP(BC) * EX(IC/BC)
Fees (F) in investment currencyF(IC) = F(BC) * EX(IC/BC)F (IC) = %AP(IC) = AP(IC) - IA(IC)F(IC) = % IA(IC) = AP(IC) - IA(IC)
Amount to Pay (AP) in investment currencyAP(IC) = IA(IC) + F(IC)AP(IC) = IA(IC) / (1-%)AP(IC) = IA(IC) + F(IC)

Rounding Rules:

  • Token Amount (T): No rounding.
  • Fees (F) and Amount to Pay (AP): Always ROUND UP.
    • If IC is FIAT → 2 decimals.
    • If IC is crypto → decimals based on crypto.
  • Net Investment Amount (IA): Always ROUND UP.
    • If IC is FIAT → 2 decimals.
    • If IC is crypto → decimals based on crypto.

Case 2: User Enters Net Investment Amount (IA)

When a user inputs the Net Investment Amount (IA), the following calculations apply:

Fixed feeFee % Amount to PayFee % Investment Amount
Token Amount (T)T= (IA(IC) * EX(BC/IC)) / TP(BC)T= (IA(IC) * EX(BC/IC)) / TP(BC)T= (IA(IC) * EX(BC/IC)) / TP(BC)
Net Investment Amount (IA) in investment currencyIA(IC)IA(IC)IA(IC)
Fees (F) in investment currencyF(IC) = F(BC) * EX(IC/BC)F (IC) = %AP(IC) = AP(IC) - IA(IC)F(IC) = % IA(IC) = AP(IC) - IA(IC)
Amount to Pay (AP) in investment currencyAP(IC) = IA(IC) + F(IC)AP(IC) = IA(IC) / (1-%)AP(IC) = IA(IC) + F(IC)

Rounding Rules:

  • Token Amount (T): Always ROUND DOWN.
    • Decimals of the token are defined at the blockchain level.
  • Fees (F) and Amount to Pay (AP): Always ROUND UP.
    • If IC is FIAT → 2 decimals.
    • If IC is crypto → decimals based on crypto.
  • Net Investment Amount (IA): No rounding (as it is input).

Case 3: User Enters Amount to Pay (AP)

When a user inputs the Amount to Pay (AP), the backend calculates the values as follows:

Fixed feeFee % Amount to PayFee % Investment Amount
Token Amount (T)T= (IA(IC) * EX(BC/IC)) / TP(BC)T= (IA(IC) * EX(BC/IC)) / TP(BC)T= (IA(IC) * EX(BC/IC)) / TP(BC)
Net Investment Amount (IA) in investment currencyIA(IC) = AP(IC) - F(IC)IA(IC) = AP(IC) - F(IC)IA(IC) = AP(IC) / (1+%)
Fees (F) in investment currencyF(IC) = F(BC) * EX(IC/BC)F (IC) = %AP(IC) = AP(IC) - IA(IC)F(IC) = % IA(IC) = AP(IC) - IA(IC)
Amount to Pay (AP) in investment currencyAP(IC)AP(IC)AP(IC)

Rounding Rules:

  • Token Amount (T): Always ROUND DOWN.
    • Decimals of the token are defined at the blockchain level.
  • Fees (F): Always ROUND UP.
    • If IC is FIAT → 2 decimals.
    • If IC is crypto → decimals based on crypto.
  • Investment Amount (IA): Always ROUND DOWN.
    • If IC is FIAT → 2 decimals.
    • If IC is crypto → decimals based on crypto.
  • Amount to Pay (AP): No rounding (as it is input).

Conclusion

This guide provides a structured approach to calculating token investments based on user inputs. By following the defined formulas and rounding rules, accurate and transparent investment calculations can be ensured. If you have any questions or need further clarification, please refer to the support documentation or contact customer service.