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

# Staking technical design

### Overview

Kanpai NFT Staking allows users to earn rewards based on their NFTs without requiring the application to take custody of their assets. This soft staking mechanism operates off-chain, so users retain full control of their NFTs within their wallets. The system supports multiple chains, including Solana and EVM-compatible chains, and monitors ownership and transfers across all supported chains.

***

### Supported Collections

The staking platform supports the following collections:

* Kanpai Pandas
* Infinity Pandas

These collections are eligible for staking across all supported chains.

**Note:** Honoraries are not eligible.

***

### Staking Mechanics

#### 1. Daily STRIKE Earnings

Rewards are calculated using the simplified formula:

```
dailyStrike = nftDailyEarning × 0.20832063
```

* `nftDailyEarning` is a value embedded in the NFT metadata and reflects rarity.
* The multiplier `0.20832063` is based on the amount of STRIKE allocated for staking, proportioned to the original Panda Point reward system.

#### 2. Score and Rewards Updates

* Rewards accumulate daily and are tracked per NFT.
* Each NFT’s staking streak (consecutive days staked) contributes to monthly bonus calculations.
* The system updates daily to reflect new earnings.

#### 3. Ownership Transfers

If an NFT is transferred, even between a user’s own wallets:

* The staking streak and score reset to 0.
* This applies across all supported chains.

#### 4. Unstaking

* Unstaking pauses staking streak and reward accumulation.
* Existing rewards remain claimable.
* If an NFT is transferred while unstaked, streak and eligibility reset.

#### 5. Listing NFTs

* Listed NFTs are treated as unstaked.
* All progress is reset.

***

### Authentication

Users must authenticate via wallet connection and message signing:

* **SIWE (Sign-In with Ethereum)** for EVM chains.
* **SIWS (Sign-In with Solana)** for Solana chains.

This ensures wallet integrity and links staking progress to user profiles.

***

### Cross-Chain Monitoring

The app continuously tracks NFT ownership across Solana and EVM chains:

* Real-time updates detect any transfer events.
* Transfers reset staking streaks and scores.

***

### Key Notes

* **Daily rewards** reflect NFT rarity and staking activity.
* **Ownership transfers** reset staking streaks — even self-transfers.
* **Unstaking pauses**, but transferring while unstaked resets everything.
* **Listed NFTs** are ineligible.
* **Soft staking** means NFTs never leave the user’s wallet.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kanpai-labs.gitbook.io/kp-docs/staking/staking-technical-design.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
