CROSS Rewards
Stake WCROSS, harvest reward tokens, and read pool state with one sentence. Single-pool multi-reward staker on CROSS Chain.
Stake WCROSS and harvest rewards with one sentence.Drives the single-pool, multi-reward staker at
0xd9767038…7300on CROSS Chain (612055). Deposit WCROSS (with optional native CROSS → WCROSS wrap), claim accrued rewards, read pool / user state.
1. Install
The block below is a natural-language prompt to paste into your AI agent — not a terminal command.
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.
Bash execution required.Stake / harvest sign real on-chain transactions.
Install all CROSS skills at once
Clone https://github.com/to-nexus/cross-skills-suite into a temporary directory and run the bootstrap.sh script inside it to install every CROSS 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. |
Not implemented (by design). No MasterChef-styleharvest()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.
4. Try it
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.
Show my rewards pool state
Show my cross staking balance
Deposit 1.5 WCROSS
Wrap native CROSS and deposit 2 WCROSS
Withdraw all from cross rewards
Harvest all rewards
Harvest only CWT5. 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
This skill signs on-chain transactions.
| 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() 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. |
Hosted-agent tip. Use a disposable wallet. The skill never echoesPRIVATE_KEYback to the transcript.
7. Troubleshooting
below_min_deposit
The contract sets a minimum (currently 1 WCROSS). Increase the amount or check with "show cross-rewards pool info".
wrong_chain
eth_chainId is not 612055. Remove CROSS_RPC_URL override or set it back to https://mainnet.crosstoken.io:22001/.
I deposited but my pending rewards is still 0.
Rewards accrue over time via off-chain emission. Check back later or read info to see if the pool is paused.
withdraw(0) reverts.
The contract has no MasterChef-style "harvest by withdrawing zero". Use harvest instead — it calls claimRewards().
Withdraw all returned less than my staked balance.
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.
Updated about 2 hours ago