# Getting Started

Welcome to the Curio Parachain Wiki!

Our wiki has two main sections: **Learn** (with theoretical information) and **Guides** (with practical instructions for working with parachain)

## What is a parachain?

> A parachain is an application-specific data structure that is globally coherent and validatable by the validators of the Relay Chain. Most commonly a parachain will take the form of a blockchain, but there is no specific need for them to be actual blockchains. They take their name from the concept of parallelized chains that run parallel to the Relay Chain. Due to their parallel nature, they are able to parallelize transaction processing and achieve scalability of the Polkadot system. They [share in the security](https://wiki.polkadot.network/docs/learn-security) of the entire network and can communicate with other parachains through [XCMP](https://wiki.polkadot.network/docs/learn-crosschain).
>
> Parachains are maintained by a network maintainer known as a [collator](https://wiki.polkadot.network/docs/learn-collator). The role of the collator node is to maintain a full-node of the parachain, retain all necessary information of the parachain, and produce new block candidates to pass to the Relay Chain validators for verification and inclusion in the shared state of Polkadot. The incentivization of a collator node is an implementation detail of the parachain. They are not required to be staked on the Relay Chain or own DOT tokens unless stipulated to do so by the parachain implementation.
>
> :book: [Polkadot Wiki](https://wiki.polkadot.network)

You can read more about it at: <https://wiki.polkadot.network/docs/learn-parachains>.


# Staking

Here you will learn about what staking is, why it is important and how it works on the Curio Parachain.

Blockchain networks use consensus mechanisms to finalize blocks on the chain. Consensus is the process of agreeing on something, in this case, the progression of the blockchain or how blocks are added to the chain.

### Why do we need Consensus? <a href="#why-do-we-need-consensus" id="why-do-we-need-consensus"></a>

Consensus is a method for agreeing to a shared state. For the state of the blockchain to continue to build and move forward, all nodes in the network must agree and come to a consensus. It is the way that the nodes in a decentralized network can stay synced with each other. Without consensus for the decentralized network of nodes in a blockchain, there is no way to ensure that the state one node believes is true will be shared by the other nodes. Consensus aims to provide an *objective* view of the state among participants who each have their *subjective* views of the network. It is the process by which these nodes communicate and come to agreement, and can build new blocks.

### What are PoW and PoS? <a href="#what-are-pow-and-pos" id="what-are-pow-and-pos"></a>

Proof of Work (PoW) and Proof of Stake (PoS) have been inaccurately used as shorthand to refer to consensus mechanisms of blockchains, but that does not capture the full picture. PoW is the method for agreeing on a block author and part of the fuller Nakamoto consensus that also encompasses a chain selection algorithm (longest chain rule in Bitcoin). Similarly, PoS is a set of rules for selecting the validator (or collator) set and does not specify a chain selection rule or how a chain might reach finality. PoS algorithms have traditionally been paired with an algorithm for coming to a Byzantine agreement between nodes. For example, Tendermint (consensus of Cosmos) is a practical Byzantine fault-tolerant algorithm that uses PoS as its validator set selection method.

### Why not Proof of Work? <a href="#why-not-proof-of-work" id="why-not-proof-of-work"></a>

Although simple and effective in coming to a decentralized consensus on the next block producer, proof of work with the Nakamoto consensus consumes an incredible amount of energy, has no economic or provable finality, and has no effective strategy for resisting cartels.

### What is staking in PoS networks? <a href="#why-not-proof-of-work" id="why-not-proof-of-work"></a>

In PoS networks like Polkadot the security of the network depends on the amount of capital locked on the chain: the more the capital locked, the lower the chance of an attack on the network, as the attacker needs to incur a heavy loss to orchestrate a successful attack. The process of locking tokens on the chain is called **staking**.

Similar to the miners in PoW networks, PoS networks have validators (or collators), but they do not have to compete with each other to solve mathematical puzzles. They are instead pre-selected to produce the blocks based on the stake backing them. Token holders can lock funds on the chain and for doing so, they are getting **staking rewards**. There is thus an economic incentive for token holders to become active participants who contribute to the economic security and stability of the network. PoS networks in general are therefore more inclusive than PoW networks, as participants do not need to have either technical knowledge about blockchain technology or experience in running mining equipment.

{% hint style="info" %}
Curio Parachain implements an improved PoS consensus mechanism compared to the [Nominated Proof-of-Stake](https://wiki.polkadot.network/docs/learn-consensus#nominated-proof-of-stake) (NPoS) mechanism used in the Polkadot network. The consensus mechanism in Curio Parachain is called **Limited Delegated Proof of Stake** (LDPOS).  The native token of the Curio Parachain network is the **Curio Governance Token** (**CGT**). CGT is used in the staking mechanism as a staking token and reward token. The Curio chain is connected to the Kusama network as a parachain, making the Curio chain even [more secure](https://wiki.polkadot.network/docs/learn-architecture#shared-security).
{% endhint %}

## Limited Delegated Proof of Stake (LDPoS) <a href="#id-69af" id="id-69af"></a>

Limited Delegated Proof of Stake (LDPoS) is a Delegated Proof of Stake (DPoS) consensus mechanism that limits the number of delegators and the number of collators to whom they can delegate their stake.

In LDPoS, the network has **collators** (similar to validators in the Polkadot ecosystem). The network also has **delegators**. Similar to nominators in the [NPoS](https://wiki.polkadot.network/docs/learn-consensus#nominated-proof-of-stake) system (such as the Polkadot network), delegators use their CGT tokens to back collators that they trust in the system.

In this way, collators can be supported by token holders in the community while they build up their stake.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FYW46UM6pZJI7qmf6j5Ex%2FDelegator-Collators%20diagram.png?alt=media&amp;token=4f2955ac-3fc2-4740-9bb9-9bedd5e6d43a" alt="" width="375"><figcaption></figcaption></figure>

### Collators <a href="#id-6561" id="id-6561"></a>

**Collators** are the most important members of the Curio Parachain as collator nodes hold the blockchain data, collecting transactions and building blocks. The blocks of data they verify are passed via the validators to the Relay Chain of the wider network (Kusama or Polkadot in the future) to be finalised and become the state of truth.

Running as a collator requires technical skill, hardware and commitment to the project. Collators are rewarded for every block they verify. The first group of official collators for Curio Parachain has been selected, and we have around 8 active collators at launch.

### Delegators <a href="#id-1134" id="id-1134"></a>

**Delegators** are CGT token holders who choose to back collators with their tokens. In the LDPoS consensus, delegators play an important role in filtering the pool of candidates for honest, trusted and well-performing collators.

The requirements to become a delegator are much less than those for collators. You only need to stake a relatively low number of tokens and decide on a collator candidate. Once the collator you have backed with your stake authors a block and thus receives a reward, you and all the other delegators of this collator also receive a reward.

{% hint style="info" %}
**INFO**

The amount of delegators per collator is limited. Currently, each delegator can only stake to one collator per account. This may change if the community decides to enable multiple delegations per account.
{% endhint %}

## Staking parameters of the Curio Parachain

### Staking currency

The native token - Curio Governance Token (CGT) - is used as a staking token and reward token.

### Inflation config

{% hint style="info" %}
Configuration of inflation includes:

* Collators' stake max rate: **30%**
* Collators' annual reward rate: **20%**
* Delegators' stake max rate: **30%**
* Delegators' annual reward rate: **16%**
  {% endhint %}

The stake max rate is a percentage value that defines how much of the total supply can be staked without reducing reward. Therefore we reach configured inflation when we reach this max rate of total supply are staked. If we exceed this value then the staking reward is reduced in a way that makes inflation constant and equal to the configured value.

Collators APY dependence on total collators stake:

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FJMpegI6v3BbIdlyPmJID%2Fchart.svg?alt=media&amp;token=b0a46142-68d5-49ae-9c13-3013f653f2b0" alt="" width="450"><figcaption></figcaption></figure>

Delegators APY dependence on total delegators stake:

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F1kdNM4X8wk0FbCovjfGZ%2Fchart%20(1).svg?alt=media&amp;token=ece20cfb-dfa1-487f-9ee7-3fe3247ad257" alt="" width="450"><figcaption></figcaption></figure>

### Staking configuration

<table><thead><tr><th width="259">Setting</th><th width="348">Description</th><th>Value</th></tr></thead><tbody><tr><td>MinBlocksPerRound</td><td>Minimum number of blocks in one round.</td><td>300</td></tr><tr><td>DefaultBlocksPerRound</td><td>Default number of blocks validation rounds last, as set in the genesis configuration.</td><td>600</td></tr><tr><td>StakeDuration</td><td>The number of blocks for which unstaked balance will still be locked before it can be unlocked by actively calling the extrinsic.</td><td>7 days</td></tr><tr><td>ExitQueueDelay</td><td>Number of rounds a collator has to stay active after submitting a request to leave the set of collator candidates. Must be at least 1.</td><td>2</td></tr><tr><td>MinCollators</td><td>Minimum number of collators selected from the set of candidates at every validation round.</td><td>8</td></tr><tr><td>MinRequiredCollators</td><td>Minimum number of collators which cannot leave the network if there are no others.</td><td>4</td></tr><tr><td>MaxDelegationsPerRound</td><td>The maximum number of delegations which can be made within the same round.</td><td>1</td></tr><tr><td>MaxDelegatorsPerCollator</td><td>The maximum number of delegators a single collator can have.</td><td>70</td></tr><tr><td>MinCollatorStake</td><td>Minimum stake required for any account to be elected as validator for a round.</td><td>10`000 CGT</td></tr><tr><td>MinCollatorCandidateStake</td><td>Minimum stake required for any account to be added to the set of candidates. Normally should be equal to MinCollatorStake</td><td>10`000 CGT</td></tr><tr><td>MaxTopCandidates</td><td>Maximum size of the top candidates set. Must be bigger than max number of collators with sufficient gap.</td><td>150</td></tr><tr><td>MinDelegatorStake</td><td>Minimum stake required for any account to become a delegator.</td><td>100 CGT</td></tr><tr><td>MaxUnstakeRequests</td><td>Maximum number of concurrent requests to unlock unstaked balance.</td><td>10</td></tr><tr><td>NetworkRewardRate</td><td>The rate in percent for the network rewards which are based on the maximum number of collators and the maximum amount a collator can stake.</td><td>10%</td></tr><tr><td>NetworkRewardStart</td><td>The starting block number for the network rewards. Once the current block number exceeds this start, the beneficiary will receive the configured reward in each block. Network reward is additional inflation that is being minted right to the NetworkRewardBeneficiary.</td><td>0</td></tr><tr><td>NetworkRewardBeneficiary</td><td>The beneficiary to receive the network rewards.</td><td>Treasury</td></tr><tr><td>MaxCandidateStake</td><td>Maximum collator stake (not including their delegators stake)</td><td>500`000 CGT</td></tr></tbody></table>


# How to create and connect the wallet to Curio Parachain

This guide shows you how to create and connect a wallet to Curio Parachain.

## **1. Install Polkadot JS Extension**

You will need Chrome, Brave, or Firefox browsers. You also need to install the Polkadot JS browser extension. Open the link below in your browser and install it.

For Google Chrome (and Chromium-based browsers like Brave): <https://chrome.google.com/webstore/detail/polkadot%7Bjs%7D-extension/mopnmbcafieddcagagdcbnhejhlodfdd?hl=en>

For Firefox: <https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/>

## **2. Open Polkadot JS apps for Curio parachain**

Open the link <https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer> in your browser and allow access to Polkadot JS Extension in the browser extension window that opens.

## **3. Update metadata for Polkadot JS Extension**

Go to `Settings > Metadata` (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/settings/metadata>) and click “Update metadata” if there is a notice about “upgradable extensions”.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FKKWtskS0LwANMF5G9Jt5%2FScreenshot%202023-10-16%20at%2019.18.26.png?alt=media&amp;token=8e23352e-0b5b-4683-b8dc-32d3b730292c" alt="" width="563"><figcaption></figcaption></figure>

Then, confirm the receipt of metadata from Curio Parachain into the browser extension.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F5vHc3FFp51GPTLkDgi6u%2FScreenshot%202023-10-16%20at%2019.20.48.png?alt=media&amp;token=913849e4-6db3-4dde-badd-f9303b3d23a4" alt="" width="375"><figcaption></figcaption></figure>

## **4. Create a new wallet or import the existing Substrate wallet in Polkadot JS Extension**

Open Polkadot JS Extension. You can click “Open extension in new window” on the Settings icon for convenience when creating a wallet. The browser extension will open in a new browser tab.

<img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fcurio-parachain-wiki%2F-MePTa_RGwTQylZta2Ia%2F-MePTzjrGO_ZWT0z7Dx-%2F2.png?generation=1626089455289981&amp;alt=media" alt="" width="375">

Next, you can generate a new wallet or import an existing one.

<img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fcurio-parachain-wiki%2F-MePTa_RGwTQylZta2Ia%2F-MePTzjsg1nyhOfYl1q8%2F3.png?generation=1626089455250193&amp;alt=media" alt="" width="375">

### **Create a new account**

A seed phrase will be generated for you, which must be saved safely and not lost. The phrase gives full access to your account and funds on it. Next, you need to select network "**Curio**", set any desired **name for the account**, and **password**. Click “Add the account with the generated seed” and your new wallet will be created.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FLuAw3KDHXkZvEFTUmYgj%2FScreenshot%202024-02-19%20at%2016.49.02.png?alt=media&amp;token=31b27e86-fa77-42ef-9919-181add68fdb0" alt="" width="375"><figcaption></figcaption></figure>

### **Use an existing account**&#x20;

You can use your existing account by clicking "Import account with pre-existing seed" (when you have a wallet mnemonic phrase). Enter your **seed phrase**, select the network "**Curio**", the **name of your account** and **password**. Enter a password for the account and click Next. Click on "Add the account with the supplied seed".

Your account should appear in the Polkadot JS browser extension.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FzI6Q06GpnyuP4e2G8LJK%2Fimage.png?alt=media&amp;token=233c1eea-9761-4c3a-bd2c-40adaa2f647a" alt="" width="375"><figcaption></figcaption></figure>


# How to use Capital DEX Bridge on Curio Parachain

This guide shows you how to transfer tokens between Ethereum and Curio Parachain.

Go to the Capital DEX Bridge page: <https://parachain.capitaldex.exchange/bridge>. You need to install and create a Polkadot wallet to interact with Capital DEX on Curio Parachain (see the guide "How to create and connect the wallet to Curio Parachain").

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FFUT19ZpVHmsbHr1jEgNf%2Fimage.png?alt=media&amp;token=dd5d4f56-3ae5-44ab-818c-4712b6b4631e" alt="" width="563"><figcaption></figcaption></figure>

### Transfer tokens from the Ethereum network to the Curio Parachain&#x20;

1. Connect your Ethereum and Polkadot wallets.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FIqx5lcR6a05UG4GMYwL6%2FScreenshot%202024-02-20%20at%2014.32.57.png?alt=media&amp;token=688010d7-4e86-4ca6-ac9d-2cd29fff9d87" alt="" width="563"><figcaption></figcaption></figure>

Select the desired account in your Metamask from which you will transfer tokens. Next, select your Polkadot wallet provider (e.g. Polkadot JS wallet):

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F1jfN6HM9LnGiMRHTtpUV%2Fimage.png?alt=media&amp;token=faa23073-dd67-4c0b-b321-4993092bd1ba" alt="" width="375"><figcaption></figcaption></figure>

Select the desired accounts in your Polkadot wallet to which you want to transfer tokens to Curio Parachain:

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FnD5gz4p9DHjjgmJ108Bf%2Fimage.png?alt=media&amp;token=7d9fa298-cf07-422c-8317-88b3a65eb9b0" alt="" width="375"><figcaption></figcaption></figure>

2. Select the desired token and the amount you want to transfer.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FJYpWa5xLJ3tWKrwqg2Od%2Fimage.png?alt=media&amp;token=c94bbf13-9442-4096-b9f1-d4fe2988f0ae" alt="" width="375"><figcaption></figcaption></figure>

3. First, do **Unlock** (Approve transaction), then **Transfer**. Both of these transactions will be executed on the Ethereum network, so you will need to have some ETH to pay the gas fee.
4. You will receive tokens on the Polkadot network ***within a few days***.

### Transfer tokens from the Curio Parachain to the Ethereum network

{% hint style="info" %}
**INFO**

To change the direction of tokens transfer, use the direction switcher:

![](https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FSnzht1PP9bxilwzu391s%2Fimage.png?alt=media\&token=3d740035-05d0-4413-bc11-541b6fdfab10)
{% endhint %}

1. Connect your Polkadot wallet (e.g. Polkadot JS wallet) and Ethereum wallet (e.g. Metamask). Select the desired accounts in your Polkadot wallet to which you want to transfer tokens to Curio Parachain. Select the desired account in Metamask from which you will transfer tokens.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FIqx5lcR6a05UG4GMYwL6%2FScreenshot%202024-02-20%20at%2014.32.57.png?alt=media&amp;token=688010d7-4e86-4ca6-ac9d-2cd29fff9d87" alt="" width="563"><figcaption></figcaption></figure>

2. Select the desired token and the amount you want to transfer.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FC7MQnZp6UscJskZ9jTwH%2Fimage.png?alt=media&amp;token=66764d8b-18ce-4f7d-a620-309278bec647" alt="" width="375"><figcaption></figcaption></figure>

3. Do **Transfer** action. This transaction will be executed on the Curio Parachain network, so you will need to have some CGT to pay the transaction fee.
4. You will receive tokens on the Ethereum network ***within a few days***.


# How to use Capital DEX on Curio Parachain

This guide shows you how to use Capital DEX application on Curio Parachain.

Go to <https://parachain.capitaldex.exchange/swap>. You need to install and create a Polkadot wallet to interact with Capital DEX on Curio Parachain (see the guide "How to create and connect the wallet to Curio Parachain").

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2Fni3zFfwW86fVCaDlI83B%2Fimage.png?alt=media&amp;token=7c6b8d7b-be9f-473a-81e0-ded6d2a51bdb" alt="" width="563"><figcaption></figcaption></figure>

### 1. Connect the wallet and select a wallet provider (e.g. Polkadot{.js} )

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F81rf9eV3Br9v8JQ9PDf6%2Fimage.png?alt=media&amp;token=45120b8c-5ccb-4d3d-864b-a058fb906566" alt="" width="375"><figcaption></figcaption></figure>

### 2. Choose the account which you wish to use on Capital DEX

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FmUNhZqnJHd0v9L2Y6p1s%2Fimage.png?alt=media&amp;token=e78cc43e-b730-4e7c-897d-fc5e2cd68cc9" alt="" width="375"><figcaption></figcaption></figure>

### 3. Use swaps and pools on the Capital DEX

Once your Polkadot wallet is connected, you can make swaps (**Swap page**) and add/remove liquidity on the **Pools page**, similar to how it works on the Ethereum network.

{% hint style="info" %}
**INFO**

You need to have CGT in your wallet on the Curio Parachain network to pay the transaction's gas fee.
{% endhint %}


# How to stake on Curio Parachain as Delegator

This guide shows you how to stake/unstake CGT as Delegator and adjust your delegation stake on Curio Parachain.

## Overview

In the **dPoS consensus**, delegators play an important role (at least in the infancy of the network) to filter the pool of candidates for honest, trusted and well-performing collators.

The requirements to become a delegator are much less than those for collators. You only need to stake a relatively low number of tokens and decide on a collator candidate. Once the collator you have backed with your stake authors a block and thus receives a reward, you and all the other delegators of this collator also receive a reward.

The following sections will guide you through the process of becoming a delegator, adjusting your stake, revoking a delegation and unstaking your tokens.

{% hint style="info" %}
**Info**

The amount of delegators per collator is limited. Currently, each delegator can only stake to one collator per account; this may change if the community decides to enable multiple delegations per account.
{% endhint %}

## Become a Delegator

In contrast to the rather difficult path to become a collator candidate, joining the delegator pool is rather simple. Anyone can delegate to a collator candidate by staking a minimum of **100 CGT**.

{% hint style="info" %}
**INFO**

You can either execute this transaction in Polkadot JS Apps or the **Capital DEX Staking** page, which serves as an in-house developed Frontend for all Curio Parachain staking activity. Below, we outline the steps for the Capital DEX Staking page and Polkadot JS Apps.
{% endhint %}

## Staking via Capital DEX Staking

Go to <https://parachain.capitaldex.exchange/staking>. You need to install and create a Polkadot wallet to interact with Capital DEX on Curio Parachain (see the guide "How to create and connect the wallet to Curio Parachain").

{% hint style="info" %}
**INFO**

You need CGT in your Curio Parachain network wallet to pay the transaction's gas fee.
{% endhint %}

### How to stake

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FtGnVrlf9Xmmcs7oNbMXM%2FFireShot%20Capture%20003%20-%20Capital%20DEX%20on%20the%20Curio%20Parachain%20-%20testnet.beta.capitaldex.exchange.png?alt=media&amp;token=df9ac916-bd25-4a72-b7f2-9a6a0d200c81" alt="" width="563"><figcaption></figcaption></figure>

* Connect the wallet and select a wallet provider (e.g. Polkadot{.js}).
* Choose the account with CGT amount which you wish to use for staking.
* Enter the stake amount and sign the transaction in Polkadot{.js} wallet (**Stake CGT** button). The minimum amount that must be staked for the first stake is **100 CGT**. Next, you can add CGT to the stake for any amount.
* You can make **Claim rewards** at any time.

### How to withdraw stake and unlock unstaked tokens

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F0NNQNHu3s09978wgXGio%2FFireShot%20Capture%20004%20-%20Capital%20DEX%20on%20the%20Curio%20Parachain%20-%20testnet.beta.capitaldex.exchange.png?alt=media&amp;token=ae527b99-19f0-49a1-be35-2acaa45b8387" alt="" width="563"><figcaption></figcaption></figure>

* Connect the wallet and select a wallet provider (e.g. Polkadot{.js}).
* Choose the account which you wish to use for staking.
* Enter the amount to unstake and sign the transaction in Polkadot{.js} wallet (**Unstake CGT** button). The minimum stake amount (100 CGT) must always be in the stake for staking to be active. You can unstake for an amount over 100 CGT, or unstake the entire staked amount.
* After completing the unstake transaction: the unstaked amount is blocked for **7 days**. The list of unstaked amounts is displayed in **Locked Amounts**. After 7 days you can **Withdraw** the unstaked amount and receive CGT to your wallet.
* Locked unstaked amount can be used to add to stake without waiting for the 7-day unlock period.

## Staking via Polkadot JS Apps

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Extrinsics -> Submission`  and call `parachainStaking -> joinDelegators`

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FJaketSTtSRLbaN4b9Wak%2Fimage.png?alt=media&amp;token=d132221f-c9c3-40d9-ba80-7d29d0604352" alt="" width="563"><figcaption></figcaption></figure>

1. Select the Curio Parachain address you want to delegate from as the extrinsic submitter (*using the selected account* field)
2. Select the appropriate extrinsic: `parachainStaking -> joinDelegators`
3. Select the `Id` option (the *MultiAddress (LookupSource) field*)
4. Select the collator account (the *Id: AccountId* field). You can see the collator accounts here: go to `Developer -> Chain state -> Storage`, then `parachainStaking -> topCandidates`. You need to select any collator account from the first 150 addresses from the list.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FSxjy7xabH4Jt7TZwtVFF%2FScreenshot%202023-10-16%20at%2020.06.46.png?alt=media&amp;token=66a5f6d3-7cc0-4373-841d-f6a853c89036" alt="" width="563"><figcaption></figcaption></figure>

5. Choose the desired stake amount. The minimum amount for delegation is **100 CGT**.
6. Sign and submit the extrinsic (the *Submit Transaction* button). The stake amount will be displayed in your wallet balance as Locked after successful transaction execution.

{% hint style="info" %}
**Info**

A recent change in the blockchain metadata resulted in a change in the UI regarding how balances are shown. In the current version of PolkadotJS Apps, specifying 1 CGT requires adding 18 trailing `0`s. So, for instance, 1 CGT needs to be written as `1,000,000,000,000,000,000`, while 10,000 CGT would be written as `10,000,000,000,000,000,000,000`.
{% endhint %}

### Happy Path <a href="#happy-path" id="happy-path"></a>

If your chosen collator candidate has at least one empty slot in their delegation pool (out of **150 maximum slots** at the time of writing), your delegation will be successful and you immediately start receiving rewards each time the collator you delegated produces a block.

{% hint style="info" %}
**Info**

If your chosen collator fails to produce blocks, neither the collator itself nor their delegators receive rewards. This can happen if the collator has connectivity issues or are not building blocks fast enough.
{% endhint %}

### Unhappy Path <a href="#unhappy-path" id="unhappy-path"></a>

If the delegation pool of your chosen collator candidate is full, you may still delegate to them if you stake more than the current lowest delegator stake of that pool. When that happens,

* The kicked delegator will be replaced by the delegator with a higher delegation (you) immediately
* The kicked delegator's stake is prepared for unstaking as if they revoked the delegation
* A delegator needs to wait **7 days** (in block time) to be able to unlock the stake. Please note that it can take longer in real time as the block times assume a constant block time of 12s, which is not guaranteed.

{% hint style="info" %}
**Info**

For now, an account can only delegate to one collator at any time! Moreover, you can only (re-) delegate, e.g., call `parachainStaking -> {joinDelegators, delegateAnotherCandidate}`, once per staking round.
{% endhint %}

## Check Your Delegation Stake

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Chain state -> Storage`. Then select `parachainStaking -> delegatorState`, select your delegation account and click `+`.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F9rgMUrcpDFY7pwAs6LHK%2FScreenshot%202023-10-16%20at%2020.11.32.png?alt=media&amp;token=0af8866e-59c2-4895-b8e5-5cee204d6f75" alt="" width="563"><figcaption></figcaption></figure>

## Adjust Your Delegation Stake

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Extrinsics -> Submission`.&#x20;

A delegator can increase and decrease their stake by calling either `parachainStaking -> delegatorStakeMore(more)` or `parachainStaking -> delegatorStakeLess(less)`. Your adjustment becomes effective immediately! If you increase your stake, you will instantly receive higher rewards for any blocks produced by your collator; if you decreased your delegation amount, the reverse applies and you receive less rewards.

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Extrinsics -> Submission`.

{% tabs %}
{% tab title="Stake more" %}

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FWe5Xwvgi3w3T9QBsu10L%2Fimage.png?alt=media&amp;token=ecbeeafe-2b9d-44f6-baea-b4b78ec30641" alt=""><figcaption></figcaption></figure>

1. Select the Curio Parachain address you want to delegate from as the extrinsic submitter (*using the selected account* field)
2. Select the extrinsic: `parachainStaking -> delegatorStakeMore`
3. Choose the desired amount of stake that you want to add to your current stake. You can add up to your maximum available balance.
4. Sign and submit the extrinsic (the *Submit Transaction* button)
   {% endtab %}

{% tab title="Stake less" %}

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2Fu25V0UmcwcJ1dgUZSOis%2Fimage.png?alt=media&amp;token=62df5c6a-26f6-44b6-8ee4-a062c036fad3" alt=""><figcaption></figcaption></figure>

1. Select the Curio Parachain address you want to delegate from as the extrinsic submitter (*using the selected account* field)
2. Select the extrinsic: `parachainStaking -> delegatorStakeLess`
3. Choose the desired amount of stake that you want to remove from your current stake. You can reduce down to the minimum delegation amount (**100 CGT**), e.g., any value up to the difference of your current stake and the minimum will be accepted.
4. Sign and submit the extrinsic (the *Submit Transaction* button)
   {% endtab %}
   {% endtabs %}

{% hint style="danger" %}
**CAUTION**

You cannot adjust your stake if your Collator candidate is in the leaving state, e.g., they want to stop collating. However, you can still **remove** your delegation (see the guide *"How to unlock unstaked tokens"*).
{% endhint %}

## Leave the Set of Delegators

A Delegator can revoke their delegation by calling `parachainStaking -> leaveDelegators`. As a result, you won't receive any rewards immediately after the transaction is successfully executed.

* Your previously delegated amount will be prepared for unstaking.
* You need to wait **7 days** (in block time) before you can unlock your unstaked tokens, see the section **Unlock Unstaked** for more information.
* Exiting does not count towards the limit of “1 delegation per round”.

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Extrinsics -> Submission`.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FZ9jHqhi7MPhDMy1NWTAT%2Fimage.png?alt=media&amp;token=c53555c4-7984-442d-a3f9-58d7e2f9c98f" alt=""><figcaption></figcaption></figure>

1. Select the Curio Parachain address you delegated from as the extrinsic submitter (*using the selected account* field)
2. Select the appropriate extrinsic: `parachainStaking -> leaveDelegators`.
3. Sign and submit the extrinsic (the *Submit Transaction* button)


# How to claim staking rewards

This guide shows you how to check and claim staking rewards on Curio Parachain.

The rewards are accounted to the collators and their delegators in each block. However, they need to be actively claimed by calling an extrinsic, similar to the pull-based approach on Polkadot. Since the rewards never expire, one does not need to rush to do so.

### How to claim <a href="#how-to-claim" id="how-to-claim"></a>

In order to move the staking rewards into your wallet, you need to call two different extrinsics: `increment{Collator, Delegator}Rewards` and `claimRewards`. This can be done sequentially or in a batch. To save transaction fees, we recommend the latter batched call.

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Extrinsics -> Submission`.

{% tabs %}
{% tab title="Delegator" %}

#### Prepare claiming <a href="#prepare-claiming" id="prepare-claiming"></a>

First, you need to convert your *reward points* into balance.

1. Select the delegator account for which you want to claim the rewards. It should have enough balance to cover the transaction fee which is around 0.0001 CGT (*using the selected account* field)
2. Select the appropriate extrinsic: `parachainStaking -> incrementDelegatorRewards()`
3. Sign and submit the extrinsic (the *Submit Transaction* button)

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FNreJSRjeldv2dYtxph96%2Fimage.png?alt=media&amp;token=f2bf658a-f9e7-44eb-9494-3eecedcea2ca" alt=""><figcaption></figcaption></figure>

#### Claim <a href="#claim" id="claim"></a>

Finally, you can claim your well deserved staking rewards.

1. Select the delegator account for which you want to claim the rewards. It should have enough balance to cover the transaction fee which is around 0.0001 CGT (*using the selected account* field)
2. Select the appropriate extrinsic: `parachainStaking -> claimRewards()`
3. Sign and submit the extrinsic (the *Submit Transaction* button)

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2Fkx79E7UcQn3DTDOKBRZ9%2Fimage.png?alt=media&amp;token=8b055bbb-a8d8-4ce2-a62f-faf7ff6dee31" alt=""><figcaption></figcaption></figure>

#### Recommendation: Batched call <a href="#recommendation-batched-call" id="recommendation-batched-call"></a>

We recommend to execute both extrinsics in a single batch to save on transaction fees:

1. Select the delegator account for which you want to claim the rewards. It should have enough balance to cover the transaction fee which is around 0.000112 CGT (the *using the selected account* field)
2. Select the batch extrinsic: `utility -> batch()`
3. Select the reward increment extrinsic: `parachainStaking -> incrementDelegatorRewards()`
4. Press the `+` button and add the reward claiming extrinsic: `parachainStaking -> claimRewards()`
5. Sign and submit the extrinsic (the *Submit Transaction* button)

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2Fkes2vM5WcTWKuJN6rkTK%2Fimage.png?alt=media&amp;token=c5793d79-d1b1-409f-8b47-66123cfc95c1" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}


# How to unlock unstaked tokens

This guide shows you how to unlock unstaked tokens on Curio Parachain.

Before you can unlock your previously staked tokens, you have to wait **7 days** (in block time).

{% hint style="info" %}
**INFO**

If you have unstaked amounts, then you can view their locking status as follows: go to `Developer -> Chain state -> Storage`, then select  `parachainStaking -> unstaking`, select your account and click `+`. You will see a list of unstaked amounts and the blocks on which each amount will be unlocked.&#x20;

<img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2FobXLMOrzDmC1ovbDFXpf%2FScreenshot%202023-10-16%20at%2020.34.18.png?alt=media&amp;token=58bdacc2-2ec3-449c-afb4-bb401dec5740" alt="" data-size="original">
{% endhint %}

In the Polkadot JS Apps (<https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fparachain.curioinvest.com%2F#/explorer>) go to `Developer -> Extrinsics -> Submission`.

<figure><img src="https://3995532231-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MV1VXXsfM-OSWA2aH3X%2Fuploads%2F0RFQKy5BH94U6kOZGzmW%2Fimage.png?alt=media&amp;token=c95ac6a6-5044-4753-a618-26e0c8f5d295" alt="" width="563"><figcaption></figcaption></figure>

{% tabs %}
{% tab title="Delegator" %}

1. Select any account with enough balance to cover the transaction fee, which is around 0.005 CGT (*using the selected account* field)
2. Select the appropriate extrinsic: `parachainStaking -> unlockUnstaked(target)`
3. Select the `Id` option (the *MultiAddress (LookupSource) field*)
4. Select the Curio Parachain address you delegated from (the *Id: AccountId* field)
5. Sign and submit the extrinsic (the *Submit Transaction* button)

{% hint style="info" %}
**INFO**

Even if you have not exited, reduced or removed your delegation, you can still have unstaked tokens. This can happen if either of the following events occurred

* You were kicked out of your collator candidate's delegation pool because all current delegators have a higher stake
* Your collator candidate intentionally left the collator pool.
  {% endhint %}
  {% endtab %}
  {% endtabs %}


