staking
SKILL.md
Staking
Manage Starknet staking operations: delegate tokens to validators, claim or compound rewards, and unstake positions. Supports multiple token types across various validators and pools.
Prerequisites
- Active session required.
- Sufficient token balance for staking + gas fees.
Supported Tokens
| Token | Type |
|---|---|
| STRK | Native |
| WBTC | Bitcoin |
| tBTC | Bitcoin |
| SolvBTC | Bitcoin |
| LBTC | Bitcoin |
Rules
- BEFORE staking, you MUST run
npx starkfi@latest validatorsto list available validators, thennpx starkfi@latest pools <validator>to see available pools. - BEFORE staking, check
balanceto confirm the user has enough tokens. - Unstaking is a two-step process: first
unstake intentstarts a cooldown, thenunstake exitfinalizes after the cooldown period. The user must wait between these steps. rewards --compoundatomically claims and restakes in one transaction.- AFTER any transactional operation (stake, unstake, rewards), verify with
tx-status. - Use
stake-statusto view the user's current staking positions across all validators. When exit intents are active, unpooling amounts and cooldown dates are shown automatically. - Token defaults to
STRKif--tokenis not specified.
Commands
# Discovery
npx starkfi@latest validators [--json]
npx starkfi@latest pools <validator> [--json]
npx starkfi@latest stake-status [validator] [--json]
# Stake tokens
npx starkfi@latest stake <amount> --validator <name> [--token <symbol>] [--simulate]
# Unstake (two-step)
npx starkfi@latest unstake intent --validator <name> --amount <amount> [--token <symbol>]
npx starkfi@latest unstake exit --validator <name> [--token <symbol>]
# Rewards
npx starkfi@latest rewards --claim --validator <name> [--token <symbol>]
npx starkfi@latest rewards --compound --validator <name> [--token <symbol>]
Parameters
stake
| Parameter | Type | Description | Required |
|---|---|---|---|
amount |
number | Amount to stake (positional) | Yes |
--validator |
string | Validator name (from validators list) |
Yes* |
--pool |
string | Pool contract address (alternative to validator) | Yes* |
--token |
string | Token symbol (default: STRK) |
No |
--simulate |
flag | Estimate fees without broadcasting | No |
*Provide either --validator or --pool.
unstake
| Parameter | Type | Description | Required |
|---|---|---|---|
| action | string | intent or exit (positional) |
Yes |
--validator |
string | Validator name | Yes* |
--pool |
string | Pool contract address | Yes* |
--amount |
number | Amount to unstake (required for intent) |
For intent |
--token |
string | Token symbol (default: STRK) |
No |
rewards
| Parameter | Type | Description | Required |
|---|---|---|---|
--claim |
flag | Claim pending rewards | Yes* |
--compound |
flag | Claim and immediately restake | Yes* |
--validator |
string | Validator name | Yes** |
--pool |
string | Pool contract address | Yes** |
--token |
string | Token symbol (default: STRK) |
No |
*Provide either --claim or --compound. **Provide either --validator or --pool.
Examples
User: "Which validators can I stake with?"
npx starkfi@latest validators
User: "Show me pools for Karnot"
npx starkfi@latest pools Karnot
User: "Stake 1000 STRK with Karnot"
npx starkfi@latest status
npx starkfi@latest balance --token STRK
npx starkfi@latest stake 1000 --validator Karnot
npx starkfi@latest tx-status <hash>
User: "Stake 0.5 WBTC with Karnot"
npx starkfi@latest balance --token WBTC
npx starkfi@latest stake 0.5 --validator Karnot --token WBTC
npx starkfi@latest tx-status <hash>
User: "Compound my STRK rewards from Karnot"
npx starkfi@latest rewards --compound --validator Karnot
npx starkfi@latest tx-status <hash>
User: "Claim my rewards from Karnot"
npx starkfi@latest rewards --claim --validator Karnot
npx starkfi@latest tx-status <hash>
User: "I want to unstake my STRK from Karnot"
# Step 1: Start unstake cooldown
npx starkfi@latest unstake intent --validator Karnot --amount 1000
npx starkfi@latest tx-status <hash>
# Inform user about cooldown period
# Step 2: After cooldown, finalize
npx starkfi@latest unstake exit --validator Karnot
npx starkfi@latest tx-status <hash>
User: "Show me all my staking positions"
npx starkfi@latest stake-status
Error Handling
| Error | Action |
|---|---|
Validator not found |
Run validators to list valid names. |
Pool not found |
Run pools <validator> to list available pools. |
Insufficient balance |
Check balance and suggest a smaller amount. |
Cooldown not complete |
User must wait before running unstake exit. |
No rewards to claim |
Position has no pending rewards. |
Not authenticated |
Run authenticate-wallet skill first. |
Related Skills
- Use
balanceto check available tokens before staking. - Use
portfoliofor a full overview including staking positions with USD values. - Use
batchto combine staking with other operations in one transaction.
Weekly Installs
4
Repository
ahmetenesdur/starkfiFirst Seen
1 day ago
Security Audits
Installed on
amp4
cline4
opencode4
cursor4
kimi-cli4
codex4