SINGLE STEAK

PulseChain Single-Sided Staking Platform

User Guide v1.0


Overview

Single Steak is a decentralized platform built on PulseChain that allows token creators to establish single-sided staking pools for their tokens. This platform enables projects to offer staking rewards to their holders without requiring liquidity pairing, reducing impermanent loss risks while incentivizing holding. This guide explains how to use the platform for both token stakers and pool creators.


Table of Contents

  1. Introduction
  2. Technical Overview
  3. How Reward Distribution Works
  4. User Guide: Staking Tokens
  5. Creating Your Own Staking Pool
  6. Advanced Technical Details
  7. FAQ
  8. Troubleshooting

1. Introduction

Single Steak is a decentralized platform built on PulseChain that allows token creators to establish single-sided staking pools for their tokens. This platform enables projects to offer staking rewards to their holders without requiring liquidity pairing, reducing impermanent loss risks while incentivizing holding.

Key Features

  • Single-Sided Staking: Users stake only a single token type, eliminating impermanent loss
  • Customizable Rewards: Pool creators set and can adjust reward rates
  • No Lock-up Period: Users can unstake their tokens at any time
  • User-Friendly Interface: Easy-to-use dashboard for both stakers and pool creators
  • PulseChain Native: Optimized for PulseChain's low fees and fast transactions

2. Technical Overview

Contract Architecture

Single Steak uses a factory contract pattern:

  1. StakingPoolFactory: The main contract that deploys individual staking pools
  2. StakingPool: Individual pool contracts that handle token staking and reward distribution

Factory Contract Functionality

The factory contract serves as:

  • A registry for all created staking pools
  • A management system for pool creation fees
  • A deployer for new staking pool contracts

Pool creation incurs a small PLS fee (viewable on the creation page) which helps maintain the platform.

Staking Pool Contract Functionality

Each staking pool contract:

  • Holds staked tokens and reward tokens
  • Calculates and distributes rewards based on stake proportion
  • Manages staking, unstaking, and reward claiming
  • Applies a 24-hour timelock on reward rate changes (for security)

3. How Reward Distribution Works

Reward Math Explained

The reward system uses a pro-rata distribution model based on the proportion of tokens each user has staked:

  1. Global Reward Rate: Each pool has a fixed reward rate (tokens per second) that applies to the entire pool
  2. Proportional Distribution: Rewards are distributed proportionally based on each user's percentage of the total staked tokens
  3. Fair Share Calculation: Your rewards = (Your Stake / Total Stake) * Reward Rate * Time Staked

Example:

  • If a pool has a reward rate of 10 tokens per second
  • Total staked in the pool = 1000 tokens
  • Your stake = 100 tokens (10% of the pool)
  • You will earn 1 token per second (10% of the 10 tokens/second)

APY Calculation

Annual Percentage Yield is calculated as:

APY = (Reward Rate * Seconds in Year / Total Stake) * 100

Important points about APY:

  • Same Percentage: All stakers in a pool earn the same APY percentage
  • Different Amounts: Larger stakes earn more tokens (but same percentage return)
  • Dynamic Value: As more tokens are staked, the APY changes for all participants
  • Initial Estimate: When creating a pool, the APY estimate is based on the initial reward amount and rate

4. User Guide: Staking Tokens

Connecting Your Wallet

  1. Visit singlesteak.com
  2. Click the "Connect Wallet" button in the top-right corner
  3. Select your preferred wallet (MetaMask, OKX Wallet, or Rabby Wallet)
  4. Ensure you're connected to PulseChain (Chain ID: 369 or 0x171)
  5. Approve the connection request in your wallet

Exploring Available Pools

  1. Browse the available staking pools in the "Explore Pools" section
  2. Use the search bar to find specific token pools
  3. Sort pools by APY, TVL, or newest using the dropdown
  4. Each pool card shows:
    • Token name and symbol
    • Current APY (annual percentage yield)
    • TVL (total value locked)
    • Your current stake and pending rewards (if connected)

Staking Your Tokens

  1. Find the pool for the token you wish to stake
  2. Click the "View Details" button
  3. In the pool details modal, enter the amount you wish to stake
    • Use the "MAX" button to stake your entire balance
  4. Click "Stake"
  5. Approve the token spending in your wallet when prompted
  6. Confirm the staking transaction
  7. Your stake will be visible in the "Your Position" section once confirmed

Claiming Rewards

  1. Open the pool details for a pool where you have staked tokens
  2. View your pending rewards in the "Rewards" section
  3. Click "Claim Rewards" to transfer earned tokens to your wallet
  4. Confirm the transaction in your wallet
  5. Rewards will be sent to your wallet as the same token type as the staked token

Unstaking Tokens

  1. Open the pool details for a pool where you have staked tokens
  2. In the "Unstake Tokens" section, enter the amount you wish to unstake
    • Use the "MAX" button to unstake all your staked tokens
  3. Click "Unstake"
  4. Confirm the transaction in your wallet
  5. Your tokens will be returned to your wallet once the transaction is confirmed

5. Creating Your Own Staking Pool

Prerequisites

To create a staking pool, you need:

  • A PulseChain ERC20 token with sufficient supply for rewards
  • PLS to pay for transaction fees and pool creation fee
  • Control of the token contract or sufficient token supply

Step-by-Step Pool Creation

  1. Connect your wallet to Single Steak
  2. Navigate to the "Create Pool" section
  3. Enter your token contract address
    • The app will auto-detect the token name and symbol
  4. Set the initial reward rate (tokens per second)
    • This determines how quickly rewards are distributed
  5. Set the initial rewards amount
    • This is the initial allocation of reward tokens
  6. Enter a cash tag for your pool (used for generating a pool icon)
  7. Review the estimated APY based on your settings
  8. Click "Create Pool"
  9. Approve the token spending for initial rewards
  10. Confirm the creation transaction (includes the pool creation fee in PLS)
  11. Once confirmed, your pool will be visible in the "My Dashboard" section

Managing Your Pool

As a pool creator/owner, you can:

  1. Add More Rewards:
    • Navigate to your pool in the dashboard
    • Click "View Details"
    • In the "Pool Management" section, enter the amount to add
    • Approve and confirm the transaction
  2. Update Reward Rate:
    • In the pool details, find the "Update Reward Rate" section
    • Enter the new rate (tokens per second)
    • Click "Schedule Update"
    • After the 24-hour timelock expires, return to apply the update
    • Click "Apply Update" to finalize the change

6. Advanced Technical Details

Reward Rate Updates

For security reasons, reward rate changes are subject to a 24-hour timelock:

  1. Owner schedules a rate update by calling scheduleRewardRateUpdate
  2. After 24 hours, the owner can call applyRewardRateUpdate to implement the change
  3. The pending update can be viewed in the pool management section

Reward Calculation Formula

The contract uses a "reward per token" system to efficiently track rewards:

  • rewardPerToken = rewardPerTokenStored + (rewardRate * (timestamp - lastUpdateTime) / totalStaked)
  • User rewards are calculated as: rewards[user] + (balanceOf[user] * (rewardPerToken - userRewardPerTokenPaid[user]))

This method ensures rewards are fairly calculated regardless of when users stake or claim.

7. FAQ

General Questions

Is there a lock-up period for staked tokens?

No, you can unstake your tokens at any time.

Are rewards automatically compounded?

No, rewards must be manually claimed. You can then re-stake them if desired.

What happens if the reward pool runs out?

When rewards are depleted, users will stop earning new rewards until the pool owner adds more.

APY Questions

Why does the APY change over time?

APY varies based on the total amount staked in the pool. As more tokens are staked, the same reward rate is distributed across more tokens, reducing the APY.

Does everyone in the pool get the same APY?

Yes, all stakers receive the same percentage return (APY), but the absolute number of tokens earned is proportional to their stake.

How is the estimated APY calculated during pool creation?

The initial APY estimate is calculated based on the reward rate and initial rewards: (Yearly Rewards / Initial Rewards) * 100.

Technical Questions

Can I use any ERC20 token to create a pool?

Yes, any PulseChain-compatible ERC20 token can be used.

Is the contract code audited?

[Include audit information if available]

What fees are involved?

There is a one-time pool creation fee paid in PLS. There are no ongoing fees for staking or unstaking.

8. Troubleshooting

Common Issues

Transaction Failing

  • Ensure you have enough PLS for gas
  • Check that you've approved enough tokens for the transaction
  • Verify you're connected to PulseChain

Pool Not Showing

  • Refresh the page
  • Reconnect your wallet
  • Clear browser cache and try again

Rewards Not Updating

  • Rewards are calculated in real-time but UI may need refreshing
  • Check that the pool has sufficient reward tokens
  • Verify the reward rate is not set to zero

Support

For additional help: