---
updatedAt: 2026-08-07T01:38:48.000Z
agentTools:
  projectIndex: https://docs.onechain.nexus/llms.txt
---

# ONE Rewards

Stake WCROSS, harvest reward tokens, and read pool state with one sentence. Single-pool multi-reward staker on ONE Chain.

<br />

<Callout icon="✨" theme="default">
  ### **Stake WCROSS and harvest rewards with one sentence.**

  Drives the single-pool, multi-reward staker at `0xd9767038…7300` on ONE Chain (`612055`). Deposit WCROSS (with optional native CROSS → WCROSS wrap), claim accrued rewards, read pool / user state.
</Callout>

***

## 1. Install

The block below is a **natural-language prompt to paste into your AI agent** — not a terminal command.

```text Paste-into-agent prompt
Clone https://github.com/to-nexus/skill-cross-rewards into a temporary directory and run the install.sh script inside it to install the cross-rewards skill into my environment. Tell me the result in one line when you're done.
```

<Callout icon="🚧" theme="warn">
  ### **Bash execution required.**

  Stake / harvest sign real on-chain transactions.
</Callout>

### Install all ONE skills at once

```text Paste-into-agent prompt
Clone https://github.com/to-nexus/cross-skills-suite into a temporary directory and run the bootstrap.sh script inside it to install every ONE skill into my environment. Tell me which skills succeeded and which failed.
```

***

## 2. Where it runs

### ✅ Supported · CLI agents with Bash access

Claude Code (CLI) · OpenClaw · Cursor Composer · Codex CLI · Aider · Goose · Gemini CLI · OpenInterpreter · any other Bash-capable CLI.

### ❌ Not supported · Browser / hosted only

Claude.ai (web) · ChatGPT (web) · Gemini (web) · Copilot Chat (web). `viem` signing needs a local Node runtime.

***

## 3. What you can do

| Subcommand    | What it does                                                                             |                                      |
| :------------ | :--------------------------------------------------------------------------------------- | :----------------------------------- |
| 🟢 `info`     | Pool detail + your view (deposit token, reward registry, totalDeposited, paused, owner). |                                      |
| 🟢 `pools`    | Alias for `info` (back-compat).                                                          |                                      |
| 🟢 `balance`  | wallet WCROSS · native CROSS · staked · pending rewards (per token).                     |                                      |
| 🔴 `deposit`  | `deposit(amount)` with optional `--wrap` to wrap native CROSS first.                     |                                      |
| 🔴 `withdraw` | \`withdraw(amount                                                                        | all)`—`all\` reads on-chain balance. |
| 🔴 `harvest`  | `claimRewards()` (sweep all reward tokens) or `harvest <token>` for one.                 |                                      |

<Callout icon="📘" theme="info">
  ### **Not implemented (by design).** No MasterChef-style `harvest()` shortcut (the contract has none). No multi-pool batching. No auto-compound. No web-UI scraping. No ERC-4337. No APR display (no on-chain accrual view). No operator paths.
</Callout>

***

## 4. Try it

<Callout icon="💬" theme="default">
  ### **Any natural language works.** Examples below are in English; phrase your intent in whichever language you prefer — the agent forwards your intent, not the wording.
</Callout>

```text Example prompts
Show my rewards pool state
Show my ONE Rewards staking balance
Deposit 1.5 WCROSS
Wrap native CROSS and deposit 2 WCROSS
Withdraw all from cross rewards
Harvest all rewards
Harvest only CWT
```

***

## 5. Command reference

| command    | args                            | auth              | mutation | description                                        |
| ---------- | ------------------------------- | ----------------- | -------- | -------------------------------------------------- |
| `info`     | —                               | —                 | read     | Pool + user view.                                  |
| `pools`    | —                               | —                 | read     | Alias for `info`.                                  |
| `balance`  | —                               | PK (derived addr) | read     | Wallet + staked + pending.                         |
| `deposit`  | `<amount> [--wrap] [--confirm]` | PK                | tx       | Deposit WCROSS; `--wrap` wraps native CROSS first. |
| `withdraw` | `<amount\|all> [--confirm]`     | PK                | tx       | Withdraw deposit token.                            |
| `harvest`  | `[<rewardToken>] [--confirm]`   | PK                | tx       | Claim all rewards or one.                          |

Env: `PRIVATE_KEY`, `MAX_STAKE_NOTIONAL`, `CONFIRM_THRESHOLD` (default `1`), `MIN_GAS_CROSS` (default `0.001`), optional `CROSS_RPC_URL`, optional `WALLET_ADDRESS`.

***

## 6. Safety & credentials

<Callout icon="🛑" theme="error">
  ### **This skill signs on-chain transactions.**
</Callout>

| Rail                                | What it does                                                                |
| ----------------------------------- | --------------------------------------------------------------------------- |
| **Required credential**             | `PRIVATE_KEY` (EOA, `0x` + 64 hex).                                         |
| **Chain-id check**                  | Every write tx aborts unless `eth_chainId == 612055`.                       |
| `MAX_STAKE_NOTIONAL`                | Per-deposit cap. Aborts above.                                              |
| `CONFIRM_THRESHOLD`                 | Deposits / withdraws above this (default `1`) require explicit `--confirm`. |
| `MIN_GAS_CROSS`                     | Native CROSS floor (default `0.001`). Aborts before signing if short.       |
| `minDepositAmount()`**&#x20;guard** | Reads the on-chain min and aborts if you ask for less.                      |
| **One-time approve**                | WCROSS → staker max-uint approve runs only if allowance is short.           |

<Callout icon="💡" theme="default">
  ### **Hosted-agent tip.** Use a disposable wallet. The skill never echoes `PRIVATE_KEY` back to the transcript.
</Callout>

***

## 7. Troubleshooting

<Accordion title="below_min_deposit" icon="fa-info-circle">
  The contract sets a minimum (currently `1 WCROSS`). Increase the amount or check with _"show ONE Rewards pool info"_.
</Accordion>

<Accordion title="wrong_chain" icon="fa-info-circle">
  `eth_chainId` is not `612055`. Remove `CROSS_RPC_URL` override or set it back to `https://mainnet.crosstoken.io:22001/`.
</Accordion>

<Accordion title="I deposited but my pending rewards is still 0." icon="fa-info-circle">
  Rewards accrue over time via off-chain emission. Check back later or read `info` to see if the pool is `paused`.
</Accordion>

<Accordion title="withdraw(0) reverts." icon="fa-info-circle">
  The contract has no MasterChef-style "harvest by withdrawing zero". Use `harvest` instead — it calls `claimRewards()`.
</Accordion>

<Accordion title="Withdraw all returned less than my staked balance." icon="fa-info-circle">
  The skill reads `balances(addr)` and withdraws that exact amount. If the on-chain balance dropped (e.g. you withdrew elsewhere), it withdraws the current value, not a cached one.
</Accordion>