Staking
Overview
In CryptoCortex, Staking refers to the act of locking funds on a user account within the DTS. The purpose of staking is to reclaim the locked amount along with interest at the end of a specified expiration period or recurrently in case of infinite staking.
The Staking screen in the User Profile allows you to initiate or cancel staking and view the staking history, starting from the most recent operations. To view statistics, refer to the My Portfolio section.
Create
To create staking
-
On the Staking screen, in Currency, select a currency.
-
In Plan, select one of the available staking plans.
-
In Quantity, enter the staking amount. This amount will be reserved on your account balance and subtracted from the Free balance.
-
Select the Auto Stake check box to automatically add gainings to the staking amount. Note: This option can be enabled only for staking plans with infinite duration. Contact your admin to find out whether this feature is enabled for any of your staking plans.
-
Click Create. New staking appears on the screen in PENDING state. Once approved, staking acquires IN PROGRESS state.
Staking Dashboard
The Staking dashboard has the following information:
Column | Description |
---|---|
Currency | Staking currency. |
Staked | The staked amount presented in both the staking currency and the reporting currency. |
Annual Interest | Interest rate APY of the staking. |
Gaining | The expected earnings presented in both the staking currency and the reporting currency for the staking period. |
Type | In this column you can view whether the staking is returnable or not. Refer to Partial Unstake to learn more. |
Start Date | Staking initiation date and time. |
End Date | Staking expiration date and time. In case of infinite staking, it's the date when interest will be paid out to a trader, and the staking would be prolonged. |
Status | In this column you can view status of the staking operation. Refer to Lifecycle to learn more. |
Days Left | A progress bar, indicating the number of days left before the staking expires. Staking that has not been approved by an operator before its expiration date is marked as EXPIRED in the Days Left column. |
Staking Details
You can view the details of the active staking by opening a Staking Details from the staking menu:
Column | Description |
---|---|
Currency | Staking currency. |
Staked | The staked amount presented in both the staking currency and the reporting currency. |
Minimum staking amount | The least amount of funds that can be staked denominated in the staking currency. |
Expected annual gaining | The annual staking earnings rate APY. |
Administration Interest Fee | A percentage of the interest that will be deducted as an administrative commission from the earnings. |
Start Date | Staking initiation date and time. |
End Date | Staking expiration date and time. In case of infinite staking, it's a date when interest will be paid to a trader, and the staking would be prolonged. |
Free Unstaking Period | During this period, users have the flexibility to cancel their staking and have their funds returned instantly. |
Unstaking Penalty | These penalties can be applied when you partially or fully unstake funds. |
Instant Unstaking Penalty | These penalties can be applied when you choose the instant cancellation when unstaking. |
Unstaking after the Free Period | Indicates whether it is possible to unstake after the Free Unstaking Period expires. |
Cumulative Gainings | A sum of all staking gainings up to the date. |
Cumulative Fees | A sum of all staking fees up to the date. |
Additional Information | Staking additional details. |
Unstake
When allowed by staking plan, staking can be cancelled (in-full or partially) when it is in the APPROVED or IN PROGRESS states. When unstaking is possible, the Unstake button appears on the screen. Note: Infinite staking is always returnable.
Within the safe cancellation period, staking can be cancelled always and it implies instant return of funds. The amount returned is determined by the corresponding staking plan. During unbonding, Unstake is disabled.
In case cancelled by a trader, whether staking earnings are accredited to the account depends on configuration of your staking plan. Contact your admin for more information.
To Unstake
-
Click Unstake to invoke a dialog window.
-
If available, select cancellation type: Standard or Instant.
-
If partial unstaking is available, enter the amount of funds that you want to unstake. Click the Gears to select from presets. Refer to Partial Unstake to learn more about unstaking options.
-
Click Unstake.
-
In the confirmation window, click Confirm to approve your action.
When staking is cancelled, the Free balance is updated accordingly: instantly in case of instant cancellation or after the end of the unbonding period in case of standard cancellation. If cancelled during safe period, staking funds are returned instantly in both standard and instant cancellation types.
Gainings Payout
When Full Unstake is enabled, traders receive partial gainings payout when they cancel a returnable staking manually.
It is calculated as:
partial_payout = p/100 * interest * total * time_elapsed/time_total
where:
-
interest
is the interest rate. -
p
is the value of the percent of gainings to be paid depending on the cancellation type. -
total
is a total amount of interest for the staking. -
time_elapsed
is the number of milliseconds between current time and staking open time. -
time_total
is the number of milliseconds between staking close time and staking open time (staking actual duration in milliseconds).
Partial Unstake
Staking plan can allow a partial unstake, full unstake, either of these two or neither of them.
In case of a partial unstake, the interest is calculated for the unstaked amount and the total staking amount is recalculated.
Therefore, four combinations are possible:
-
Returnable with partial unstaking available: full and partial unstaking are available at any moment. Can be infinite.
-
Returnable without partial unstaking: full unstaking is available at any moment. Partial unstaking is not possible. Can be infinite.
-
Non-returnable with partial unstaking available: partial unstaking is available at any moment, up to minimum staking amount. Full unstaking is available only within free cancellation period. Cannot be infinite.
-
Non-returnable without partial unstaking: Partial unstaking unavailable. Full unstaking is available only within safe cancellation period. Cannot be infinite.
When full unstake is prohibited, staking details will show: Full unstaking after Free Period: Not Possible. In this case, if a partial unstake is allowed, Unstake button will be enabled. If it is not allowed - disabled.
Gainings Payout
When Partial Unstake is enabled, traders receive partial gainings payout.
It is calculated as follows:
partial_payout = p/100 * interest * unstaked * time_elapsed/time_total
where:
-
p
is the Unstake penalty or Instant unstake penalty, depending on the cancellation type. -
unstaked
is the amount of money being unstaked. -
time_elapsed
is the number of milliseconds between current time and staking open time. -
time_total
is the number of milliseconds between staking close time and staking open time (staking actual duration in milliseconds).
The following payouts are calculated basing on the remaining amount of funds.
Auto Stake
This option can be configured for infinite staking plans and allows you automatically add your gaining to the staking amount.
To enable Auto Stake, select the checkbox when creating a new staking:
When Auto Stake is enabled, the rewards for the related staking are not released to your account immediately after generation; they are added to the same staking and will produce more rewards in the next period.
The flow is as follows:
-
When infinite staking generates rewards, they are locked on your account.
-
After the bonding period, staking amount changes, and the rewards for the next period of the infinite staking are recalculated according to the formula below:
rewards = oldRewards + deltaAmount * (endTime - currentTime)/period * percentage
where:-
rewards
are recalculated gainings for the new period of staking, -
oldRewards
are gainings for the previous period, -
deltaAmount
is the amount of funds that is added to the staking through the restake operation, -
endTime
is the end of the new period of staking, -
currentTime
is the time when the restake operation has been created, -
period
is the duration of the staking period, -
percentage
is the interest set in the corresponding staking plan.
-
If you cancel the original staking when the gainings are locked for the bonding period, the funds are unlocked on your account.
Stake More
Use Stake More to manually increase the amount of the active staking. Funds will be added to the staking after the bonding period.
Staking that has not been approved by an operator before its expiration date is marked as EXPIRED in the Days Left column. Stake More is disabled for EXPIRED stakings and during the unbonding period of the parent staking in case it is unstaked in full.
To add more funds to existing staking:
-
Click the three vertical dots menu.
-
Select Stake More.
-
In the dialog, enter the amount of funds you want to add to the staking. Note: There is no minimal amount for this action.
-
Click Stake.
Recurring Staking
Use Recurring Staking to add funds to your staking based on a recurring schedule. Refer to Recurring Purchases to learn more.
To create a recurring staking
-
When creating a new Recurring Purchases task, specify the name of a staking plan in the corresponding box of the Recurring Purchase form.
-
You can add only one recurring staking for each staking plan.
-
For recurring plans involving a BUY action, the staking plan's currency must be the BASE currency (for example, in the BTCUSD pair, it is BTC).
-
For recurring plans involving a SELL action, the staking plan's currency must be the TERM currency (for example, in the BTCUSD pair, it is USD).
Flow
When you create a recurring purchase task with a staking plan, the system will start placing market orders according to the recurring schedule. You can find all filled orders in the Closed Orders report.
As orders get filled, the system will add their size to the staking. If there is no active staking for this plan, the system will create a new one. As the scheduled orders proceed to be completed, the staking amount and gainings from the staking are recalculated after the end of the bonding period. In case when the recurrent purchase order is rejected, the staking is not created or modified. Contact your operator to resend the order.
Staking Plan
A staking plan defines staking conditions and is created per currency. You can select one of the available staking plans after selecting a currency in the Plan dropdown list.
Parameter | Description |
---|---|
Currency | A currency staking plan is created for. |
Minimum Staking Amount | The smallest amount a staking can be created for or that can be left after a partial unstake. |
Expected Annual Gainings | The annual staking earnings rate. The actual paid out interest depends on the staking plan and can be a subject for fees and penalties. |
Administration Interest Fee | A fee taken from the interest earned after applicable penalties. The calculation order: interest - penalty -fee = the actual interest paid out |
Free Unstaking Period | A period of a so-called safe cancellation. During this period, you can always cancel staking and funds are returned instantly. The amount of the returned gainings depends on the staking plan configurations. |
Unstaking Penalty | A penalty taken from the gained interest. Depends on the staking plan configurations. |
Instant Unstaking Penalty | A penalty taken from the gained interest in case of an instant cancellation. Depends on the staking plan configurations. |
Unstaking after the Free Period | Indicates whether it is allowed by the staking plan to unstake funds after the safe cancellation period. |
Gainings, Fees, and Penalties
Gainings refer to the staking earnings rate expressed in Annual Percentage Yield (APY). Within the staking form and staking details, you can also see the expected gaining for the period. This represents the anticipated staking yield for the duration of the staking period. The actual funds credited to your account may be subject to additional fees and penalties, which are always deducted from the earned interest.
All fees and penalties are subtracted only from the gained interest. If staking has not gained any interest, penalties and fees cannot be charged.
There are several types of fees and penalties that can be imposed on staking:
-
Administration fee: It refers to a percentage of the interest that will be deducted as an administrative commission from the earnings. This fee is configured in the staking plan. Taken in the last turn after all penalties deducted from the gained interest.
-
Cancellation penalties: These penalties can be applied when you partially or fully unstake funds. The penalties are expressed as a percentage of the earned interest. Such penalties are configured in the staking plan for both standard and instant cancellation types.
Normal staking gaining is calculated as
amount * realReturn
where realReturn = interest * (1 - fee)
.Unstake gaining (for both full and partial unstake) is calculated as
unstakeAmount * realReturn * elapsedPeriod / totalPeriod
where
realReturn = interest * return * (1 - fee)
where return depends on a cancellation type.
unstakeAmount
equals to staking amount
in case of full unstake.Let's say, we have a staking with amount = 1000, interest = 10%, return = 50%, fee = 5%, period = 365 days.
-
If the user waits for it to finish, he or she will receive
1000 * 0.1 * (1 - 0.05) = 95
-
If the user decides to cancel the plan completely after 30 days, he or she will receive
1000 * 0.1 * 0.5 * (1 - 0.05) * 30 / 365 = 3.9
.
You can view all your earned interest in the Transactions Report by selecting Interest in the Type column of the report. This allows you to keep track of your interest gains for staking activities.
In staking details, you can view a sum of all fees and revenues of the selected staking on the specific date.
Duration
Duration, it is a time period during which staking is active and can gain interest. In staking plan, it is defined by Start and End Date.
-
Infinite staking: Staking is called Infinite, when it is not closed automatically at the End Date. In this case, at the End Date, you receive gainings and the staking is automatically prolonged. Infinite staking can be closed or partially unstaked at any time.
-
Staking with a limited duration: Staking with a limited duration is closed automatically by the system at End Date.
Safe Cancellation Period
Safe period: During this period, users have the flexibility to cancel their staking and have their funds returned instantly. Staking gains interest during this period. The specific amount of interest returned in case of cancellation is determined by the staking plan according to configured unstaking penalties. In staking plan, safe cancellation period is defined as Free Unstaking Period.
Cancellation Types
There are two main cancellation types that are offered to a user prior the staking cancellation:
-
Standard cancellation: the funds can be returned with a configured delay defined by Unbonding Period parameter in staking plan. The amount of interest returned to the user's account is defined by Unstaking Penalty parameter in staking plan.
-
Instant cancellation: the unstaked funds are returned to the user's account at once. The amount of interest returned to the user's account is defined by the Instant Unstaking Penalty parameter in staking plan.
Bonding and Unbonding
When staking starts to gain interest and when the unstaked amount with interest is paid out are defined via so-called bonding periods, configured in staking plan.
-
Bonding: During the bonding period, the staked funds are temporarily held or locked up as part of the staking process. During this period, the funds do not accrue any interest. Essentially, bonding acts as a delay between the initiation of staking by traders and the actual commencement of the staking activity. Note: Bonding period can overlap with Free cancellation period. Since staked funds do not earn profit during bonding, any cancelation during this period is free. A moment when your staking actually starts "working" can be defined as Start Date + Bonding Period.
-
Unbonding: This is the period of delay in releasing the unstaked funds, including any rewards that were earned. During this period, the funds and the rewards associated with them are in a pending state. This means that they are not engaged in the staking process and do not earn any additional rewards. Unbonding starts after the staking expiration or, in case of a Standard cancellation, after the full or partial unstaking of funds, including during Safe period. In infinite staking, Unbonding period is recurrent and is a delay between the staking autorenewal and a payout. The actual moment when funds with interest are accredited to your account can be defined as End Date + Unbonding Period. During unbonding, Unstake is disabled.
Staking is marked as UNBONDING if it has been completed and funds are in the release phase, or if there is a minimum of one unstake operation in the unbonding state. If a partial unstake occurs, the staking status reverts to IN PROGRESS once the unstaked funds are released and the remaining staked amount exceeds the minimum staking threshold.
Minimum Amount
Minimum Amount is the least amount of funds that can be staked. In staking plan, it is defined via Minimum Staking Amount parameter. In case of a partial unstaking, no less than a minimum amount can be left in staking.
Lifecycle
If a trader cancels staking, the moment when the reserved account balance associated with that staking instance is updated depends on the type of cancellation and unbonding period.
-
When a trader creates a new staking, it initially appears in the PENDING status. A PENDING staking can be rejected by a system administrator. Note: In the PENDING status of the operation, the balance is reserved on the user account.
-
An APPROVED staking, if not cancelled or rejected, progresses to the IN PROGRESS state after the end of the bonding period.
-
If a user partially unstakes funds, staking amount is recalculated.
-
An IN PROGRESS staking, if not cancelled, proceeds to its expiration period. Once the expiration period ends, the staking with limited duration acquires the SUCCEEDED state and the reserved balance, along with the earned interest, is accredited to the account. The staking with infinite duration is automatically prolonged for another period, it stays in the IN PROGRESS status, and gainings are accounted to the trader's balance. The staking amount in this case stays reserved.
Staking that has not been approved by an operator before its expiration date is marked as EXPIRED in the Days Left column.
Limits
The system configuration determines the limits on the total amount of stakes and rewards per currency for a certain time period.
If you stake an amount or expect to earn interest that goes beyond the set limits, your staking may not be accepted. When you create a new staking, the system checks all previous stakings in the same currency within a certain time frame. If the total staked and total earned from all these stakings, including your new one, stay within the limits, you can create the new staking. If not, your new staking will be turned down.
Restake and unstake operations are also taking into account when the total amount staked and total earnings are calculated. For example:
-
When you increase amount of an existing staking, which originally was within limits, the system checks that the new amount and earnings don't exceed the limits. If the limits aren't exceeded, the system will update total amounts accordingly. If the limits were exceeded, the operation will be rejected.
-
When you unstake some funds from an existent staking, the system updates total amounts of staked funds and earnings accordingly.
The system can be configured as well to require a manual approval of stakings that overpass the limits. Contact your administrator for details.
Example 1
Prerequisite: Staking within the limit is automatically approved. However, if the limit is exceeded, manual approval from the operator is required.
-
Total Staking Amount for USD is limited to $100 000, for BTC - 1
-
Total Reward Amount for USD is limited to $1000, for BTC - 0.1
-
Time Period, where limits are applicable, is 1 day
For example, there are already two stakings in USD that where created 12 hours ago and another one created 2 hours ago.
Their amounts and rewards are as follows:
Staking | Total Amount, USD | Reward | Created |
---|---|---|---|
First | 50 000 | 500 | 12 hours ago |
Second | 40 000 | 400 | 12 hours ago |
Third | 9 000 | 90 | 2 hours ago |
-
A trader creates fourth USD staking with a total amount of $10 000 and a reward of $9. It is put on hold and its status changes to PENDING because a USD limit for Total Staking Amount is exceeded (
($50 000 + $40 000 + $9 000 + $10 000) > $100 000
). -
The trader creates fifth USD staking with a total amount of $999 and a reward of $11. It is put on hold and its status changes to PENDING because a USD limit for Total Reward Amount is exceeded (
($500 + $400 + $90 + $11) > $1000
). -
The trader creates first BTC staking with a total amount of 0.1 BTC and a reward of 0.001 BTC. It is approved as both BTC limits are not exceeded.
-
The trader creates sixth USD staking with a total amount of $999 and a reward of $9. It is approved as both USD limits are not exceeded.
-
In 13 hours, the trader creates USD seventh staking with a total amount of $10 000 and a reward of $100. It is approved as the first and the second stakings are no longer counted because they were created 25 hours ago, which is more than the limit period.
Example 2
A total amount of staked funds is 10 000 USD. A limit for total amount staked is 15 000 USD.
-
A trader wants to add 7 000 USD to one of the existing stakings. The system rejects that operation because the limit for total amount staked has been exceeded. The trader adds 5 000 USD to the staking instead. The operation is approved, because the limit isn't exceeded. The total amount staked is updated to 15 000 USD. Rewards are recalculated accordingly.
-
A trader unstakes 3 000 USD from one of the existing stakings. The system updates the total amount staked to 12 000 USD, and rewards are recalculated accordingly.