> For the complete documentation index, see [llms.txt](https://yieldzcc.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yieldzcc.gitbook.io/docs/tutorials/deploy-staking.md).

# Deploy Staking

## **Tutorial**

### **Step 1: Connect Your Wallet**

Before you begin, you need to connect your wallet to the platform.

{% hint style="info" %}
Make sure your wallet is compatible with the selected network
{% endhint %}

<figure><img src="/files/Q3XHiO2VXYPseRr8YM5Q" alt="" width="375"><figcaption></figcaption></figure>

#### Network Configurations

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

* **Network name**: Sonic
* **RPC URL:** [**https://rpc.soniclabs.com**](https://rpc.soniclabs.com/)
* **Explorer URL:** [**https://sonicscan.org**](https://sonicscan.org/)
* **Chain ID**: 146
* **Currency symbol**: S
  {% endtab %}

{% tab title="Sonic Blaze Testnet" %}

* **Network name**: Sonic Blaze Testnet
* **RPC URL:** [**https://rpc.blaze.soniclabs.com**](https://rpc.blaze.soniclabs.com)
* **Explorer URL:** [**https://testnet.sonicscan.org**](https://testnet.sonicscan.org)
* **Chain ID**: 57054
* **Currency symbol**: S
  {% endtab %}
  {% endtabs %}

### **Step 2: Select the Network**

Choose the network where your staking protocol will be deployed.

<div data-full-width="false"><figure><img src="/files/uWD3v20CkFcpaIKOS7MU" alt="" width="375"><figcaption></figcaption></figure></div>

### **Step 3: Enter the Staking Token Address**

Here, you must enter the **address of the token** that will be staked. The system will automatically detect the token name. This will help you to double check if the token you've entered is actually the desired token you wanted to.

<figure><img src="/files/K8RcpRkaRBUg0qIE4Pd3" alt="" width="375"><figcaption></figcaption></figure>

### **Step 4: Choose a Staking Option**

Now, you can choose the type of staking pool. Several options are available:

#### Option 1: Simple Staking Option

This option does not need any more additional configurations:

* **Classic staking model**: Users stake tokens and receive rewards immediately.
* **No lock-up period**, allowing users to deposit and withdraw at any time.
* Ideal for **simple staking processes without additional mechanics or restrictions**.

<figure><img src="/files/MMGjyUyXXeMNGVLP6pXQ" alt="" width="375"><figcaption></figcaption></figure>

#### **Option 2: Custom Reward**

* Users stake **Token A** and receive **Token B as a reward**.
* This option is useful for **governance token distribution, liquidity incentives, or strategic distributions**.
* After selecting this option, you will need to enter the **Reward Token**. The system will automatically detect the token name as well, for double checking.

<figure><img src="/files/j4qKeofPqciZeCb8norg" alt="" width="375"><figcaption></figcaption></figure>

#### **Option 3: Time-based Distribution**

* Rewards are **distributed over a predefined period** instead of being paid out immediately.
* You will need to specify:
  * **Reward Token**
  * **Reward Amount** in Wei (due to decimals, you can choose an option to additionally show the number you've enterer in Wei, Gwei, or Normal)
  * **Lock Period (in days)** (e.g., **30 days**)
* If you create this protocol, you have to follow a setup process that's documented in the ["Manage Staking" section](/docs/tutorials/manage-staking.md#manage-a-time-based-distribution-protocol)

<figure><img src="/files/qxHdyYKmNqaSxI6o7rdM" alt="" width="375"><figcaption></figcaption></figure>

#### **Option 4: Action Fees**

* Allows you to **apply fees (up to 10%)** for key staking actions:
  * **Deposit Fee** (fee for staking)
  * **Withdraw Fee** (fee for withdrawing funds)
  * **Restake Fee** (fee for restaking rewards)
* These fees are **automatically redistributed among all active stakers**, rewarding long-term participants.
* You can change the fees in the management area. More information on how to do that, you can find in our ["Manage Staking" section](/docs/tutorials/manage-staking.md#manage-a-action-fee-protocol)

<figure><img src="/files/sQgqVd61NY3Z1aNjA6UY" alt="" width="375"><figcaption></figcaption></figure>

#### **Stake Locks**

* This option enforces a **fixed lock-up period** for staked tokens.
* Stakers can only withdraw their tokens **after the lock period ends**.
* During the lock period, they **continue to earn rewards**.
* If **restaking is enabled**, each new staking action resets the lock-up period.
* You need to specify:
  * the **Reward Token**&#x20;
  * and **Lock Period (in days)**

<figure><img src="/files/ry8tbZ5rD2jHnrnI1qSR" alt="" width="375"><figcaption></figcaption></figure>

### **Step 5: Customize Your Staking Protocol**

Depending on the selected staking option, you need to configure additional values:

* **Reward Token**: Address of the token used as a reward
* **Reward Amount** (for Time-based Distribution)
* **Lock Period** (for Stake Locks)
* **Fees (bps)** (for Action Fees)

### **Step 6: Deploy the Staking Protocol**

Once all fields are completed, click **"CREATE NOW"** to deploy the staking protocol.

:thumbsup: **Success!** Your staking protocol is now ready for use. :rocket:

You still have to active it in the management section.

***

With yieldz.cc, you can easily and flexibly create various staking models – from simple pools to advanced time-based and fee-based systems  🚀
