# Jinn Node Staking Ops

> Claim L1/L2 staking rewards and migrate between staking contracts with dry-run-first flow. Use when user says "claim rewards", "staking rewards", "claim incentives", "migrate staking", or "claim OLAS".

- Skill: `jinn-network/jinn-node-staking-ops` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jinn-network/jinn-node-staking-ops`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jinn-network/jinn-node-staking-ops/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Jinn-Network (https://skillmd.com/u/jinn-network)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/jinn-network/jinn-node-staking-ops

---


# jinn-node-staking-ops

Use this skill for staking reward operations.

## Claim flow

1. Claim L1 dispenser incentives (bridges OLAS to Base).
2. Wait bridge finalization (~20 min typical).
3. Claim L2 service rewards on Base.

## Commands

### 1. L1 dispenser incentives

```bash
cd jinn-node
yarn staking:claim-incentives --dry-run
yarn staking:claim-incentives
```

### 2. L2 service rewards

```bash
cd jinn-node
yarn staking:claim-rewards --dry-run
yarn staking:claim-rewards
```

## Preconditions

- `.operate` exists and service is configured.
- `OPERATE_PASSWORD` set in `.env`.
- Sufficient gas on relevant chain:
  - Ethereum mainnet gas for `claim-incentives`.
  - Base gas for `claim-rewards`.

### 3. Migrate between staking contracts

```bash
cd jinn-node
yarn wallet:restake --target jinn_v2 --dry-run
yarn wallet:restake --target jinn_v2
```

The `--target` flag updates each service's `staking_program_id` in config, then the middleware
handles the full lifecycle (unstake → terminate → unbond → re-register → deploy → stake).

## Failure handling

If claim fails:
1. capture full stderr/stdout,
2. verify wallet balances with `yarn wallet:info`,
3. retry dry-run to confirm command path and chain context.

