rocketpool-network

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.

23 stars

Best use case

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

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.

Teams using rocketpool-network 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-network/SKILL.md --create-dirs "https://raw.githubusercontent.com/jiayaoqijia/cryptoskill/main/skills/defi/rocketpool-official-network/SKILL.md"

Manual Installation

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

How rocketpool-network Compares

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

Frequently Asked Questions

What does this skill do?

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.

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 — Network

## Quick Start

### Resolve Contract Address via RocketStorage
```bash
cast call 0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46 "getAddress(bytes32)(address)" $(cast keccak "contract.addressrocketDepositPool") --rpc-url https://ethereum-rpc.publicnode.com
```

### Check Total ETH Balance
```bash
cast call 0x1D9F14C6Bfd8358b589964baD8665AdD248E9473 "getTotalETHBalance()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com
```

### Check RPL Price
```bash
cast call 0x25E54Bf48369b8FB25bB79d3a3Ff7F3BA448E382 "getRPLPrice()(uint256)" --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` when available (some Saturn-era contracts in this skill are signature-only)
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
- To resolve dynamically: `rocketStorage.getAddress(keccak256(abi.encodePacked("contract.address", contractName)))`
- The key format is the keccak256 of the concatenated string, not of separate arguments
- All ETH values are in wei (18 decimals); all percentages are 18-decimal fixed point (1e18 = 100%)

## rocketStorage

Central registry for all protocol contract addresses and key-value storage.

### Functions

Address resolution:
```
getAddress(bytes32 _key) → address [view]
getBool(bytes32 _key) → bool [view]
getUint(bytes32 _key) → uint256 [view]
getInt(bytes32 _key) → int256 [view]
getString(bytes32 _key) → string [view]
getBytes(bytes32 _key) → bytes [view]
getBytes32(bytes32 _key) → bytes32 [view]
```

Withdrawal address management:
```
getNodeWithdrawalAddress(address _nodeAddress) → address [view]
getNodePendingWithdrawalAddress(address _nodeAddress) → address [view]
setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm)
confirmWithdrawalAddress(address _nodeAddress)
```

Guardian:
```
getGuardian() → address [view]
setGuardian(address _newAddress)
confirmGuardian()
getDeployedStatus() → bool [view]
```

### Examples

```bash
cast call $STORAGE "getAddress(bytes32)(address)" $(cast keccak "contract.addressrocketDepositPool") --rpc-url $RPC_URL
cast call $STORAGE "getNodeWithdrawalAddress(address)(address)" $NODE_ADDR --rpc-url $RPC_URL
```

## rocketNetworkBalances

Total ETH balance, staking ETH, and rETH supply as reported by the oracle DAO.

### Functions

```
getTotalETHBalance() → uint256 [view]
getStakingETHBalance() → uint256 [view]
getTotalRETHSupply() → uint256 [view]
getETHUtilizationRate() → uint256 [view]
getBalancesBlock() → uint256 [view]
getBalancesTimestamp() → uint256 [view]
```

Oracle DAO submission:
```
submitBalances(uint256 _block, uint256 _slotTimestamp, uint256 _totalEth, uint256 _stakingEth, uint256 _rethSupply)
executeUpdateBalances(uint256 _block, uint256 _slotTimestamp, uint256 _totalEth, uint256 _stakingEth, uint256 _rethSupply)
```

### Examples

```bash
cast call $NET_BALANCES "getTotalETHBalance()(uint256)" --rpc-url $RPC_URL
cast call $NET_BALANCES "getStakingETHBalance()(uint256)" --rpc-url $RPC_URL
cast call $NET_BALANCES "getTotalRETHSupply()(uint256)" --rpc-url $RPC_URL
cast call $NET_BALANCES "getETHUtilizationRate()(uint256)" --rpc-url $RPC_URL
```

## rocketNetworkPrices

RPL/ETH price as reported by the oracle DAO.

### Functions

```
getRPLPrice() → uint256 [view]
getPricesBlock() → uint256 [view]
submitPrices(uint256 _block, uint256 _slotTimestamp, uint256 _rplPrice)
executeUpdatePrices(uint256 _block, uint256 _slotTimestamp, uint256 _rplPrice)
```

RPL price is in ETH terms with 18 decimals (e.g., 0.01e18 means 1 RPL = 0.01 ETH).

### Examples

```bash
cast call $NET_PRICES "getRPLPrice()(uint256)" --rpc-url $RPC_URL
```

## rocketNetworkFees

Dynamic commission fee based on deposit pool supply/demand.

### Functions

```
getNodeFee() → uint256 [view]
getNodeDemand() → int256 [view]
getNodeFeeByDemand(int256 _nodeDemand) → uint256 [view]
```

Fee is 18-decimal (e.g., 0.14e18 = 14% commission).

### Examples

```bash
cast call $NET_FEES "getNodeFee()(uint256)" --rpc-url $RPC_URL
```

## rocketNetworkPenalties

Tracks and applies penalties to minipools for MEV theft or other infractions.

### Functions

```
submitPenalty(address _minipool, uint256 _block)
executeUpdatePenalty(address _minipool, uint256 _block)
getPenaltyCount(address _minipool) → uint256 [view]
getCurrentMaxPenalty() → uint256 [view]
getCurrentPenaltyRunningTotal() → uint256 [view]
```

## rocketNetworkSnapshots

On-chain snapshot storage for governance voting power at specific blocks.

### Functions

```
push(bytes32 _key, uint224 _value)
lookup(bytes32 _key, uint32 _block) → uint224 [view]
lookupRecent(bytes32 _key, uint32 _block, uint256 _recency) → uint224 [view]
latest(bytes32 _key) → (bool, uint32, uint224) [view]
latestBlock(bytes32 _key) → uint32 [view]
latestValue(bytes32 _key) → uint224 [view]
length(bytes32 _key) → uint256 [view]
```

## rocketNetworkVoting

Delegation and voting power for protocol governance.

### Functions

```
setDelegate(address _newDelegate)
getCurrentDelegate(address _nodeAddress) → address [view]
getDelegate(address _nodeAddress, uint32 _block) → address [view]
getVotingPower(address _nodeAddress, uint32 _block) → uint256 [view]
getNodeCount(uint32 _block) → uint256 [view]
```

### Examples

```bash
cast call $NET_VOTING "getVotingPower(address,uint32)(uint256)" $NODE_ADDR $BLOCK --rpc-url $RPC_URL
cast call $NET_VOTING "getCurrentDelegate(address)(address)" $NODE_ADDR --rpc-url $RPC_URL
```

## rocketNetworkRevenues (Saturn)

Revenue splitting between node operators, voters, protocol DAO, and rETH holders.
No ABI file is bundled for this contract in this skill. Use the raw signatures below with `cast call`.

### Functions

```
getCurrentNodeShare() → uint256 [view]
getCurrentVoterShare() → uint256 [view]
getCurrentProtocolDAOShare() → uint256 [view]
calculateSplit(uint64 _sinceTime) → (nodeShare, voterShare, protocolDAOShare, rethShare) [view]
getNodeCapitalRatio(address _nodeAddress) → uint256 [view]
```

## rocketDAOProtocolSettingsNetwork

Key protocol parameters:

```
getNodeConsensusThreshold() → uint256 [view]
getSubmitBalancesEnabled() → bool [view]
getSubmitBalancesFrequency() → uint256 [view]
getSubmitPricesEnabled() → bool [view]
getSubmitPricesFrequency() → uint256 [view]
getMinimumNodeFee() → uint256 [view]
getMaximumNodeFee() → uint256 [view]
getTargetNodeFee() → uint256 [view]
getNodeFeeDemandRange() → uint256 [view]
getRethDepositDelay() → uint256 [view]
getNodeShare() → uint256 [view]
getVoterShare() → uint256 [view]
getProtocolDAOShare() → uint256 [view]
```

## rocketNetworkSnapshotsTime

Timestamp-based snapshot lookup.
No ABI file is bundled for this contract in this skill.

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-rewards

23
from jiayaoqijia/cryptoskill

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.

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-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.

connecting-to-base-network

23
from jiayaoqijia/cryptoskill

Provides Base network configuration including RPC endpoints, chain IDs, and explorer URLs. Use when connecting wallets, configuring development environments, or setting up Base Mainnet or Sepolia testnet. Covers phrases like "Base RPC URL", "Base chain ID", "connect to Base", "add Base to wallet", "Base Sepolia config", "Base explorer URL", "what network is Base", or "Base testnet setup".

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.