Skip to main content

Reward Distribution and Staking Guidelines


Reward Allocation

100,000,000 IAG has been allocated as rewards for this program. The maximum return will be capped at 30% APY until a minimum of 30M IAG has been staked; the actual return will be based on the aggregate performance score of the nodes. After the minimum IAG stake is met, the following allocations will be used as rewards for the program, with rewards still being distributed based on performance.

YearAllocationsPercent of total
  • *to be reduced to distribute rewards to initial nodes

Rewards Calendar

Staking Rewards for epoch n are calculated at n+1 epoch but distributed at epoch n+73 epoch. Rewards can be claimed as they are available.

To calculate fees and rewards, node performance metrics calculations are used.

Calculation of Tokens to be Staked

As a storage provider, staking IAG tokens demonstrates your commitment to the network. The staking amount depends on both your storage capacity and the current IAG token price. Let's break it down:

  1. Base USD Staked per GB:

    • Initially set at $0.5 per gigabyte (GB) committed.
    • Represents the minimum staking requirement in USD for each GB of storage.
  2. Alpha Coefficient:

    • Alpha determines how sensitive the staking requirement is to the IAG token price.
    • Currently preset at 0.9 (subject to adjustment based on market research).
  3. Formula:

    • Calculate the IAG tokens to be staked:
      IAG to be staked = Storage (in GBs) * (Base USD Staked per GB + (Alpha * Base USD Staked per GB / IAG Value))
  4. Advantages:

    • If the IAG token price drops, staking requirements in terms of tokens increase, reducing circulating supply and potentially supporting price stability.
    • If IAG price rises, staking becomes more accessible for new providers, fostering inclusiveness.

Remember, this dynamic adjustment balances commitment and accessibility within the Iagon network.

Staking Period

To ensure the reliability and availability of storage services, a minimum staking period is established. For instance, storage providers stake their tokens; they can apply for withdrawal(Retire) instantly and the withdrawal is ready only after 3 months after they “Retire” and that’s only when they can withdraw. That’s a total of 3 months token lock period.

This policy promotes a commitment to the network. This precaution safeguards against abrupt token removal, which could disrupt file availability, inconveniencing users.

Note: The total 3 months lock period is applicable for transactions after Jan 16, 2024, 4:45 UTC. The transactions before the time had total 6 months of lock period.

Node Performance Metrics

  1. IAG Token Rewards:

    • Storage providers receive IAG as their fee.
    • These tokens accumulate alongside the rewards from the IAG they've staked.
    • It's like a little bonus for being part of the ecosystem.
  2. How Rewards Are Calculated:

    • The calculation involves several factors:
      • Storage Amount: How much data the provider stores.
      • Overall Bandwidth: The capacity to move data in and out.
      • Uptime: How consistently the provider's node is active.
      • Read/Write Speed: How fast data can be accessed.
    • All these elements contribute to the final reward.
  3. The Math Behind It:

    • We use these metrics to calculate the reward for each storage provider.
    • The more efficient and reliable the provider, the better their reward.

So, in a nutshell: storage providers get IAG tokens, and their performance determines how sweet those rewards are!

Following are the detailed formulas for the factors.

Read/Write time

It takes into consideration the storage and read/write speed. Read speed will carry greater weightage compared to write speed because read operations are more frequently utilized and hold greater significance.

TR = (a / r) / s
TW = (a / w) / s

TR is the Read time
TW is the Write time
a is the Storage committed by the user
r is the Read speed
w is the Write speed
s is the time in seconds

Read/Write score​

It calculates to normalized read/write performance.

SR = 100 * e^( - CR * TR)
Sw = 100 * e^( - CW * TW)

SR is the Read score
SW is the Write score
TR is the Read time
TW is the Write time
CR is the read constant
CW is the write constant
e is the exponential constant

In mathematical terms, read/write score is an exponential function with 100 as initial value, read/write constant controlling the score. The longer the read/write time, the worse the read/write score is.

Upload/download time

It takes into consideration the storage and upload download speed. Download speed will carry greater weight compared to upload speed because download operations are more frequently utilized and hold greater significance in terms of data retrieval.

TU = (a / u) / s
TD = (a / d) / s

TU is the Upload time
TD is the Download time
a is the Storage committed by the user
u is the upload speed
d is the download speed
s is the time in seconds

Bandwidth score​

Bandwidth speed is scored on a scale of 100, factoring in upload and download speeds.

SU = 100 * e^( - CU * TU)
SD = 100 * e^( - CD * TD)

SU is the Upload score
SD is the Download score
TU is the upload time
TD is the download time
CU is the upload constant
CD is the download constant
e is the exponential constant

Similar to read write score, it uses bandwidth constant & total transfer time needed to determine the score.

Demand Score​

The demand score for a region is calculated based on the specific demand from subscriptions in that region.

DS = 100 * (TD / TS)

DS is the storage score
TD is the total subscription demand in a region
TS is the total supply in the region

If the total subscription demand exceeds the total supply, the demand score remains 100, but the team receives an alert indicating that the region requires more nodes.
If the demand score of a region is lower than the global demand, the global demand is taken into consideration.

Uptime Score​

It is a score calculated for the node based on its overall availability. It is required that nodes retain a very high uptime. It's important to note that for Uptime Score, if uptime score falls below 90% reward will be discontinued for that period.

UP = (Actual Uptime (in hours) / 24 ) * 100%
US = 100 * e^( - D * (100 - UP))
Here, D is derived from UP,
If UP = 100%
D = 0
D = (100 - UP)/100

UP is the Uptime percentage
US is the Uptime score
D is Constant value

Used Storage Score

The storage score evaluates the degree to which a user has supplied the storage to the network.

SS = 100 * US / CS

SS is the storage score
US is the Used storage
CS is the Committed storage

** Other factors may be introduced later

There are factors that will be introduced later, for example the price of electricity. It is a score calculated for the price of electricity specific to the region. Due to regional disparities in electricity prices, the resource score is used to account for this variability.


Likely a proper hierarchical model (ontology) is needed to structure the network for a proper GDPR compliance, where each node is able to provide more-or-less specific information about their commitment to the network, and customers are able to select similarly specific information for their storage needs.

Performance Score

The performance score is the culmination of scores and weightages for all scores, determining the reward.

Rewards are calculated using the following formula:

P = ( SUT*WUT ) + ( SCS*WCS ) + ( SR*WR ) + ( SW*WW ) + ( SU*WU ) + ( SD*WD ) + ( SDE*WDE )

P = Performance score
SUT = Uptime Score
WUT = Uptime Weight
SCS = Committed Storage Score
WCS = Committed Storage Weight
SR = Read Score
WR = Read Weight
SW = Write Score
SW = Write Weight
SU = Upload Score
WU = Upload Weight
SD = Download Score
WD = Download Weight
SDE = Demand Score
WDE = Demand Weight

The performance score represents a composite score based on various metrics, including uptime and reliability, storage capacity, and other factors. It's normalized to a range of 0 to 100, with 100 indicating optimal performance.

Weightage Division​

Each score contributes to the reward calculation with assigned weightages:

MetricWeightage (%)
Uptime Weightage10%
Committed Storage Weightage10%
Upload Weightage50%
Download Weightage30%
Read Weightage50%
Write Weightage30%
Demand Weightage20%

Metrics and weightage values depend on:

  • New read/write constant: 0.4
  • New upload/download constant: 0.08


Note: The values of the constants and weights may change in the future after further market research.

Total Performance Weight​

Finally, the reward for a storage provider is calculated using the total factor, IAG staked by the provider and the total amount of IAG staked by all storage providers. It gives the daily reward earned by the provider which will add up to the reward staked by them.

Performance Weight = (IAG to be staked * Performance score) / Total IAG Staked

IAG to be staked is calculated from tokens to be staked section here

This formula aims to reward only those nodes whose storage is used or can be used and will assure rewards for the available storage only. Failure to meet the required criteria regarding the overall performance will lead up to significantly low reward.