# Mechanism

Heavenland's staking differs from other staking solutions users are used to. This section describes details of Heavenland's staking mechanism.
Heavenland's staking is fully managed by Staking Program on the Solana blockchain, which has been developed by the Heavenland team. To enable staking on an account, the account must be first initialized to reserve some space on the Solana blockchain to store account staking data. Any account can create a fixed limit of 100 stakes. The initialization is a one-time payment of approx. 0.05 SOL.
The Staking Program is composed of 2 parts - one that holds the staked assets (HTO and NFTs) and that's been already audited, and the part that handles the rest of the staking logic, which is, at the time of writing, under security audit.

## HTO Release Rate [RR]

The total staking reward distributed among all active stakers comes from the in-game economy and pre-mine, which will be distributed in the first five years according to Tokenomics. The pre-mine source should incentivize early staking, while the in-game source will dominate the later stages. In the first months, the pre-mine source is derived from the expected number of HTO in circulation to give early stakers up to a 10% monthly reward.
RR defines how many HTOs should be distributed among stakers every hour. RR will be changed once per 30 days, and its change will be announced a minimum 5 weeks ahead.

## Heavenland Constant [$c_{HL}$]

Heavenland defines
$c_{HL}$
, the Heavenland factor, that is common to all stakable assets. The primary purpose of
$c_{HL}$
is to limit the maximum number of HTOs that can be staked in total.
$c_{HL}$
will be derived from the circulating HTO as Heavenland wants to prohibit staking all HTO in the early stages on just a few selected NFTs and will increase from the initial value of
$c_{HL} = 30$
as the HTO circulating supply increases.
All the changes to
$c_{HL}$
will be announced at least 2 weeks in advance.

## NFT Constant [$c_{NFT}$]

To define the staking limit for each NFT, Heavenland introduces
$c_{NFT}$
, a constant derived from NFT attributes.
$c_{NFT}$
together with cHL defines the total number of HTOs that can be staked on a given asset as
$c_{HL} \cdot c_{NFT}$
Unlike
$c_{HL}$
, which will increase over time,
$c_{NFT}$
won't change at all. Details for registered collections are described in the Stakable NFTs section.

## Staking Multiplier [F]

The stake allows for periods of different duration, multiples of 30 days, with the shortest period being 30 days and the longest period being 180 days. The period defines your staking multiplier F.
For the shortest period of 30 days, F = 1. Every 30 days added to the staking period increases F by 0.2, so F = 2 for the longest period of 180 days.

## Weighted HTO [wHTO]

The number of your staked HTO, together with the staking multiplier F, defines weighted HTO, wHTO, which is crucial for calculating the staking reward and voting power in DAO.
$wHTO = F \cdot HTO.$
For further calculations, it's helpful to introduce
$\Sigma wHTO$
, which is the sum of wHTO of all stakes.

## Reward [R]

Let's assume a stake with wHTO runs from
$t_{start}$
to
$t_{end}$
(interval between these times will be 30, 60, … or 180 days), and let
$t_{claim}$
be the time of the last claim (before the first claim,
$t_{claim} = t_{start}$
). In time
$t_{now} = \min(t_{now}, t_{end})$
, staker executes claim function. Let's denote T as the interval (in hours) between
$t_{claim}$
and
$t_{now}$
. His reward R will be
$R = wHTO \cdot RR / \Sigma wHTO \cdot T.$