Install
Clone https://github.com/to-nexus/skill-cross-stake into a temporary directory and run the install.sh script inside it to install the skill-cross-stake skill into my Claude Code environment. Tell me the result in one line when you're done.
- For personal testing, keep local signer config in the skill
.envbefore staking writes. - For team, hosted-agent, or production funds, prefer Vault/KMS/HSM-backed signing.
- Set safety guards locally:
MAX_STAKE_NOTIONALandCONFIRM_THRESHOLD.
Heads-up: CROSS Stake runs on local agent runtimes only — see the Where it runs section for the supported list. Hosted chat environments cannot execute this skill.
Where it runs
Supported
Claude Code (CLI)OpenClawCursor Composer / Background AgentCodex CLIAiderGooseGemini CLIOpenInterpreter
Not supported
Claude.ai (web)ChatGPT (web)Gemini (web)GitHub Copilot Chat (web)
What you can do
validators
Active validators (commission, total bond, jailed).
🟢 Readmy-delegation
Your delegations and totals.
🟡 Read · addrrewards
Accrued rewards only.
🟡 Read · addrdelegate
Delegate native CROSS.
🔴 Write · txundelegate
Unbond (14-day cooldown).
🔴 Write · txwithdraw
Claim mature unbonds after cooldown.
🔴 Write · txclaim-rewards
Claim rewards (when protocol supports it).
🔴 Write · txhistory
Stake / unstake / withdraw / claim events.
🟡 Read · addrTry it · natural-language prompts
Copy any of these into your agent — they map 1-to-1 onto a skill command.
Top 10 active validators
→ Table (moniker, commission, total bond)
Show my delegations
→ Delegation table + totals
Delegate 10 CROSS to 0xvalidator…
→ Dry-run → confirm → tx
Undelegate 5 CROSS from validator X
→ tx + withdrawAvailableAt
Withdraw all mature unbonds
→ tx sent
Claim all rewards
→ tx sent (when supported)
Show my staking history
→ Event table
Command reference
| command | args | auth | mutation | description |
|---|---|---|---|---|
| validators | — | — | read | Active validators. |
| my-delegation | [<addr>] | — | read | Your delegations. |
| rewards | [<addr>] | — | read | Pending rewards. |
| delegate | <validator> <amountCross> [--confirm] | PK | tx | Delegate. |
| undelegate | <validator> <amountCross> [--confirm] | PK | tx | Unbond. |
| withdraw | <validator> [--confirm] | PK | tx | Claim mature unbonds. |
| claim-rewards | <validator>|--all [--confirm] | PK | tx | Claim rewards. |
| history | [<addr>] | — | read | Events. |
Safety & credentials
On-chain transactions + 14-day unbonding
- 🔴 Signs on-chain transactions — local signer config required.
- 14-day unbonding — after
undelegateyour principal is locked for 14 days. The skill computeswithdrawAvailableAtautomatically. - `claim-rewards` is conditional — supported only if a separate claim selector was confirmed in Phase-0. Auto-compounding protocols return
not_supported_by_protocol. - Guard env vars:
MAX_STAKE_NOTIONAL(per-delegate cap) CONFIRM_THRESHOLD(forces dry-run above this size)MIN_GAS_NATIVE_CROSS(gas cushion)
Troubleshooting
›cooldown_pending?
Less than 14 days since
undelegate. The response envelope lists every pending unbond's withdrawAvailableAt.›delegate returns validator_jailed?
The validator was slashed and jailed. Pick another.
›not_supported_by_protocol?
Rewards auto-compound — no separate claim needed;
my-delegation already reflects them.