Rocket Pool Contracts
Quick Start
Query rETH Exchange Rate
cast call 0xae78736Cd615f374D3085123A210448E74Fc6393 "getExchangeRate()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com
Deposit ETH to Mint rETH
cast send 0xCE15294273CFb9D9b628F4D61636623decDF4fdC "deposit()" --value 1ether --rpc-url $RPC_URL --private-key $PK
Check rETH Balance
cast call 0xae78736Cd615f374D3085123A210448E74Fc6393 "balanceOf(address)(uint256)" $WALLET --rpc-url https://ethereum-rpc.publicnode.com
Workflow
- Look up the contract address from
references/addresses.json
- Find the function signature in the relevant domain reference file (see table below)
- Use ABI files in
assets/abis/<contractName>.json as a reference for function signatures and tuple layouts when needed
- Execute via
cast call (read) or cast send (write), or via MCP eth_call/eth_sendTransaction
For calls that involve complex types (for example tuples), use the ABI JSON to derive the exact signature:
cast call 0xCE15294273CFb9D9b628F4D61636623decDF4fdC "getBalance()(uint256)" --rpc-url $RPC_URL
Domain Reference Files
| User wants to... |
Load |
| Mint/burn rETH, check exchange rate, query deposit pool |
liquid-staking.md |
| Register node, create validators, manage minipools/megapools, reduce bond |
node-operations.md |
| Vote on proposals, check governance state, security council, oDAO |
governance.md |
| Check network balances, RPL price, fees, penalties, voting power |
network.md |
| Claim rewards, smoothing pool, merkle distribution, treasury |
rewards.md |
| RPL/rETH ERC-20 ops, inflation, vault, L2 addresses |
tokens.md |
Network Configuration
| Network |
Chain ID |
RPC |
rocketStorage |
| Mainnet |
1 |
https://ethereum-rpc.publicnode.com |
0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46 |
| Hoodi |
560048 |
https://rpc.hoodi.ethpandaops.io |
0x594Fb75D3dc2DFa0150Ad03F99F97817747dd4E1 |
All contract addresses per network are in references/addresses.json.
Architecture
ABIs
ABI JSON files are bundled for most mainnet contracts in assets/abis/.
The following contracts are signature-only in this skill (no bundled ABI): rocketNetworkRevenues, rocketDAOSecurityUpgrade, rocketMegapoolFactory, rocketMegapoolDelegate, rocketMegapoolManager, rocketMegapoolPenalties.
Use these files as signature references for cast call / cast send:
cast call 0xae78736Cd615f374D3085123A210448E74Fc6393 "getExchangeRate()(uint256)" --rpc-url $RPC_URL
1---2name: rocketpool3description: 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.4---56# Rocket Pool Contracts78## Quick Start910### Query rETH Exchange Rate11```bash12cast call 0xae78736Cd615f374D3085123A210448E74Fc6393 "getExchangeRate()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com13```1415### Deposit ETH to Mint rETH16```bash17cast send 0xCE15294273CFb9D9b628F4D61636623decDF4fdC "deposit()" --value 1ether --rpc-url $RPC_URL --private-key $PK18```1920### Check rETH Balance21```bash22cast call 0xae78736Cd615f374D3085123A210448E74Fc6393 "balanceOf(address)(uint256)" $WALLET --rpc-url https://ethereum-rpc.publicnode.com23```2425## Workflow26271. Look up the contract address from `references/addresses.json`282. Find the function signature in the relevant domain reference file (see table below)293. Use ABI files in `assets/abis/<contractName>.json` as a reference for function signatures and tuple layouts when needed304. Execute via `cast call` (read) or `cast send` (write), or via MCP `eth_call`/`eth_sendTransaction`3132For calls that involve complex types (for example tuples), use the ABI JSON to derive the exact signature:33```bash34cast call 0xCE15294273CFb9D9b628F4D61636623decDF4fdC "getBalance()(uint256)" --rpc-url $RPC_URL35```3637## Domain Reference Files3839| User wants to... | Load |40|---|---|41| Mint/burn rETH, check exchange rate, query deposit pool | [liquid-staking.md](references/liquid-staking.md) |42| Register node, create validators, manage minipools/megapools, reduce bond | [node-operations.md](references/node-operations.md) |43| Vote on proposals, check governance state, security council, oDAO | [governance.md](references/governance.md) |44| Check network balances, RPL price, fees, penalties, voting power | [network.md](references/network.md) |45| Claim rewards, smoothing pool, merkle distribution, treasury | [rewards.md](references/rewards.md) |46| RPL/rETH ERC-20 ops, inflation, vault, L2 addresses | [tokens.md](references/tokens.md) |4748## Network Configuration4950| Network | Chain ID | RPC | rocketStorage |51|---|---|---|---|52| Mainnet | 1 | `https://ethereum-rpc.publicnode.com` | `0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46` |53| Hoodi | 560048 | `https://rpc.hoodi.ethpandaops.io` | `0x594Fb75D3dc2DFa0150Ad03F99F97817747dd4E1` |5455All contract addresses per network are in `references/addresses.json`.5657## Architecture5859- **RocketStorage** is the central registry — all contracts resolve each other's addresses through it60- Contracts are upgradeable via governance: addresses in `addresses.json` reflect current deployments but can change61- To resolve an address dynamically:62 ```bash63 cast call $ROCKET_STORAGE "getAddress(bytes32)(address)" $(cast keccak "contract.addressrocketDepositPool") --rpc-url $RPC_URL64 ```65- **Minipools** (legacy): one contract per validator, 8 or 16 ETH bond66- **Megapools** (Saturn/v1.4): one contract per node, multiple validators, variable bond67- All ETH values are in wei (18 decimals); all percentages are 18-decimal fixed point (1e18 = 100%)6869## ABIs7071ABI JSON files are bundled for most mainnet contracts in `assets/abis/`.72The following contracts are signature-only in this skill (no bundled ABI): `rocketNetworkRevenues`, `rocketDAOSecurityUpgrade`, `rocketMegapoolFactory`, `rocketMegapoolDelegate`, `rocketMegapoolManager`, `rocketMegapoolPenalties`.73Use these files as signature references for `cast call` / `cast send`:74```bash75cast call 0xae78736Cd615f374D3085123A210448E74Fc6393 "getExchangeRate()(uint256)" --rpc-url $RPC_URL76```