rocketpool-rewards

Interact with Rocket Pool rewards contracts — query reward cycles, claim RPL and ETH rewards via Merkle proofs, check smoothing pool balance, manage treasury payment contracts, and query reward settings. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

23 stars

Best use case

rocketpool-rewards is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Interact with Rocket Pool rewards contracts — query reward cycles, claim RPL and ETH rewards via Merkle proofs, check smoothing pool balance, manage treasury payment contracts, and query reward settings. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

Teams using rocketpool-rewards should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/rocketpool-official-rewards/SKILL.md --create-dirs "https://raw.githubusercontent.com/jiayaoqijia/cryptoskill/main/skills/defi/rocketpool-official-rewards/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/rocketpool-official-rewards/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How rocketpool-rewards Compares

Feature / Agentrocketpool-rewardsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Interact with Rocket Pool rewards contracts — query reward cycles, claim RPL and ETH rewards via Merkle proofs, check smoothing pool balance, manage treasury payment contracts, and query reward settings. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Rocket Pool — Rewards

## Quick Start

### Check Current Reward Index
```bash
cast call 0xCba5951fc706Fc783b7C142DaE8576Ebe29c41FD "getRewardIndex()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com
```

### Check Pending RPL Rewards
```bash
cast call 0xCba5951fc706Fc783b7C142DaE8576Ebe29c41FD "getPendingRPLRewards()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com
```

### Check Smoothing Pool Balance
```bash
cast balance 0xd4E96eF8eee8678dBFf4d535E033Ed1a4F7605b7 --rpc-url https://ethereum-rpc.publicnode.com
```

## Workflow

1. Look up the contract address from `references/addresses.json`
2. Find the function signature below
3. Load the ABI from `assets/abis/<contractName>.json` if needed for complex types
4. Execute via `cast call` (read) or `cast send` (write)

## Network Configuration

| Network | Chain ID | RPC | rocketStorage |
|---|---|---|---|
| Mainnet | 1 | `https://ethereum-rpc.publicnode.com` | `0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46` |
| Hoodi | 560048 | `https://rpc.hoodi.ethpandaops.io` | `0x594Fb75D3dc2DFa0150Ad03F99F97817747dd4E1` |

## Architecture

- **RocketStorage** is the central registry — all contracts resolve each other's addresses through it
- All ETH values are in wei (18 decimals); all percentages are 18-decimal fixed point (1e18 = 100%)
- Merkle proofs are generated off-chain by the oDAO and published to IPFS

## rocketRewardsPool

Manages the periodic RPL and ETH rewards distribution to node operators, the oDAO, and the protocol DAO.

### Functions

Reward cycle info:
```
getRewardIndex() → uint256 [view]
getClaimIntervalTime() → uint256 [view]
getClaimIntervalTimeStart() → uint256 [view]
getClaimIntervalsPassed() → uint256 [view]
```

Pending rewards:
```
getPendingRPLRewards() → uint256 [view]
getPendingETHRewards() → uint256 [view]
getPendingVoterShare() → uint256 [view]
getRPLBalance() → uint256 [view]
getEthBalance() → uint256 [view]
```

Claiming percentages:
```
getClaimingContractPerc(string _claimingContract) → uint256 [view]
getClaimingContractsPerc(string[] _claimingContracts) → uint256[] [view]
```

Oracle DAO submission:
```
submitRewardSnapshot(tuple _submission)
executeRewardSnapshot(tuple _submission)
getTrustedNodeSubmitted(address _trustedNodeAddress, uint256 _rewardIndex) → bool [view]
```

### Examples

```bash
cast call $REWARDS_POOL "getRewardIndex()(uint256)" --rpc-url $RPC_URL
cast call $REWARDS_POOL "getPendingRPLRewards()(uint256)" --rpc-url $RPC_URL
cast call $REWARDS_POOL "getPendingETHRewards()(uint256)" --rpc-url $RPC_URL
cast call $REWARDS_POOL "getClaimIntervalTime()(uint256)" --rpc-url $RPC_URL
```

## rocketMerkleDistributorMainnet

Distributes rewards to node operators via Merkle proofs. Each reward interval generates a Merkle tree.

### Functions

```
claim(address _nodeAddress, tuple[] _claims)
claimAndStake(address _nodeAddress, tuple[] _claims, uint256 _stakeAmount)
isClaimed(uint256 _rewardIndex, address _claimer) → bool [view]
claimOutstandingEth()
getOutstandingEth(address _address) → uint256 [view]
```

The `_claims` tuple: `(uint256 rewardIndex, uint256 amountRPL, uint256 amountETH, bytes32[] merkleProof)`.

`claimAndStake` claims rewards and immediately stakes the RPL portion in a single transaction.

### Examples

```bash
cast call $MERKLE_DIST "isClaimed(uint256,address)(bool)" 42 $NODE_ADDR --rpc-url $RPC_URL
```

### Gotchas

- Multiple reward intervals can be claimed in a single transaction
- `claimAndStake` is gas-efficient for operators who want to restake RPL rewards

## rocketSmoothingPool

Collects MEV and priority fees from opted-in node operators for fair distribution.

### Functions

```
withdrawEther(address _to, uint256 _amount)
version() → uint8 [view]
```

The smoothing pool receives ETH directly from validators' fee recipients. Distribution is handled by the Merkle distributor.

### Examples

```bash
cast balance $SMOOTHING_POOL --rpc-url $RPC_URL
```

## rocketClaimDAO

Manages the protocol DAO treasury. Handles recurring payment contracts and one-time spends.

### Functions

```
spend(string _invoiceID, address _recipientAddress, uint256 _amount)
newContract(string _contractName, address _recipientAddress, uint256 _amountPerPeriod, uint256 _periodLength, uint256 _startTime, uint256 _numPeriods)
updateContract(string _contractName, address _recipientAddress, uint256 _amountPerPeriod, uint256 _periodLength, uint256 _numPeriods)
payOutContracts(string[] _contractNames)
payOutContractsAndWithdraw(string[] _contractNames)
getBalance(address _recipientAddress) → uint256 [view]
getContract(string _contractName) → tuple [view]
getContractExists(string _contractName) → bool [view]
withdrawBalance(address _recipientAddress)
```

## rocketDAOProtocolSettingsRewards

Key reward parameters:

```
getRewardsClaimIntervalTime() → uint256 [view]
getRewardsClaimIntervalPeriods() → uint256 [view]
getRewardsClaimersPerc() → (uint256, uint256, uint256) [view]
getRewardsClaimersNodePerc() → uint256 [view]
getRewardsClaimersTrustedNodePerc() → uint256 [view]
getRewardsClaimersProtocolPerc() → uint256 [view]
```

Related Skills

rocketpool-staking-agent

23
from jiayaoqijia/cryptoskill

Decentralized ETH staking with rETH token and node operator delegation strategies.

rocketpool-reth

23
from jiayaoqijia/cryptoskill

Stake ETH with decentralized node operators and receive rETH liquid staking token.

rocketpool-tokens

23
from jiayaoqijia/cryptoskill

Interact with Rocket Pool token contracts — RPL (governance/staking token) ERC-20 operations, inflation mechanics, old RPL swap, rocketVault balance queries, and L2 token addresses for rETH and RPL on Arbitrum, Optimism, Base, Polygon, zkSync Era, Scroll, Starknet, and Unichain. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

rocketpool-node-operations

23
from jiayaoqijia/cryptoskill

Interact with Rocket Pool node operator contracts — register nodes, create validators, manage minipools and megapools, stake RPL, handle bond reduction, distribute rewards, and manage withdrawal addresses. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

rocketpool-network

23
from jiayaoqijia/cryptoskill

Interact with Rocket Pool network infrastructure contracts — RocketStorage address registry, network balances, RPL price oracle, node fees, penalties, governance snapshots, voting delegation, revenue splitting, and network settings. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

rocketpool-liquid-staking

23
from jiayaoqijia/cryptoskill

Interact with Rocket Pool liquid staking contracts — deposit ETH to mint rETH, burn rETH for ETH, check exchange rates, query deposit pool balances, and perform rETH ERC-20 operations. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

rocketpool-governance

23
from jiayaoqijia/cryptoskill

Interact with Rocket Pool governance contracts — protocol DAO (pDAO) proposals and voting, oracle DAO (oDAO) membership and proposals, security council operations, and all DAO settings contracts. Supports cast (Foundry CLI) and Ethereum MCP tools on mainnet and Hoodi testnet.

rocketpool

23
from jiayaoqijia/cryptoskill

Interact with Rocket Pool protocol contracts on Ethereum mainnet and Hoodi testnet. Use for any task involving rETH (liquid staking token), RPL (governance token), ETH staking, minting/burning rETH, checking exchange rates, node operator registration, minipool/megapool management, RPL staking, governance proposals, voting, rewards claiming, deposit pool queries, network balances, smoothing pool, or any Rocket Pool smart contract interaction. Supports both cast (Foundry CLI) and Ethereum MCP tools.

lido-rocketpool-staking

23
from jiayaoqijia/cryptoskill

Compare stETH, rETH, eETH, and swETH rates with auto-selection for best yield.

8004-skill

23
from jiayaoqijia/cryptoskill

ERC-8004 Trustless Agents - Register and manage AI agent identities on TRON and BSC blockchains with on-chain reputation tracking

8004-MCP - Agent Registry Protocol

23
from jiayaoqijia/cryptoskill

Multi-chain MCP server for ERC-8004 Agent Registry. Query agents, reputation, and feedback across Solana + EVM chains.

supurr

23
from jiayaoqijia/cryptoskill

Backtest, deploy, and monitor trading bots on Hyperliquid. Supports Grid, DCA, and Spot-Perp Arbitrage strategies across Native Perps, Spot markets (USDC/USDH), and HIP-3 sub-DEXes.