Query Renzo crypto liquid restaking protocol — DeFi vault yields, TVL, ezETH exchange rates, EigenLayer operators, supported blockchain networks, user token balances, and withdrawal status.
Query live data from the Renzo liquid restaking protocol: ezETH metrics, vault information, protocol stats, supported chains, and operator details.
Activate this skill when the user asks about:
The helper script (located in this skill's directory) calls the Renzo MCP server and returns clean JSON.
renzo-mcp.sh| Tool | Purpose | Arguments |
|---|---|---|
get_ezeth_info | ezETH metrics: APR, supply, TVL, price, exchange rate | None |
get_protocol_stats | Aggregate protocol stats: total TVL, APRs, chain count | None |
get_supported_chains | List of blockchain networks Renzo operates on | None |
get_vaults | List vaults with TVL and APR | Optional: {"ecosystem":"eigenlayer"} (eigenlayer, symbiotic, jito, generic) |
get_vault_details | Detailed info for one vault, including live LTV for reserve vaults | Required: {"vaultId":"<symbol_or_address>"} |
get_vault_strategy | AVS allocations, staking %, and operators for EigenLayer vaults | Required: {"vaultId":"<symbol>"} (ezETH, ezEIGEN, ezREZ) |
get_operators | List protocol operators | Optional: {"product":"ezETH"} (ezETH, pzETH, ezSOL, etc.) |
get_token_balances | User's Renzo token balances (ezETH, pzETH, vault LPs) with ETH/USD values | Required: {"address":"0x..."} (Ethereum address) |
get_withdrawal_requests | User's pending ezETH withdrawal requests with claimability and time remaining | Required: {"address":"0x..."} (Ethereum address) |
Run the helper script via the Bash tool. The script path is relative to this skill's directory.
# No arguments
./skills/renzo/renzo-mcp.sh get_ezeth_info
./skills/renzo/renzo-mcp.sh get_protocol_stats
./skills/renzo/renzo-mcp.sh get_supported_chains
# With optional filter
./skills/renzo/renzo-mcp.sh get_vaults '{"ecosystem":"jito"}'
./skills/renzo/renzo-mcp.sh get_operators '{"product":"pzETH"}'
# With required argument
./skills/renzo/renzo-mcp.sh get_vault_details '{"vaultId":"ezREZ"}'
./skills/renzo/renzo-mcp.sh get_vault_details '{"vaultId":"ezCompETH1"}'
./skills/renzo/renzo-mcp.sh get_vault_strategy '{"vaultId":"ezETH"}'
# User-specific queries (require an Ethereum address)
./skills/renzo/renzo-mcp.sh get_token_balances '{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}'
./skills/renzo/renzo-mcp.sh get_withdrawal_requests '{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}'
Format data for readability. Follow these rules:
The get_ezeth_info tool returns:
{
"token": "ezETH",
"aprPercent": 2.83,
"aprAvgPeriodDays": 30,
"totalSupplyEth": 215986.82,
"lpTotalSupply": 201461.43,
"tvlUsd": 430813580.00,
"ethPriceUsd": 2138.44,
"exchangeRate": 1.0721
}
Present this as:
ezETH is currently earning 2.83% APR (30-day average). The exchange rate is 1.0721 ETH per ezETH, with a total TVL of $430.8M. Total supply is 215,987 ETH.
When listing vaults, use a table:
| Vault | Underlying | APR | TVL | Ecosystem |
|---|---|---|---|---|
| ezSOL | SOL | 6.41% | $6.4M | Jito |
| ezEIGEN | EIGEN | 18.23% | $329.6K | EigenLayer |
| ezREZ | REZ | 1.64% | $2.5M | EigenLayer |
For general "tell me about Renzo" questions, call get_protocol_stats and get_ezeth_info together, then summarize:
Renzo is a liquid restaking protocol with $469.5M total TVL across 8 chains. The flagship product ezETH earns 2.84% APR with pzETH at 2.34% APR. The protocol spans both EVM chains (Ethereum, Arbitrum, Base, Linea, BNB Chain, Mode, Blast) and Solana.
The get_vault_details tool now returns a strategy block for reserve vaults (ezCompETH1, ezUSCC1) with live on-chain LTV data:
{
"symbol": "ezCompETH1",
"tvlUsd": 965393.86,
"aprPercent": 3.78,
"strategy": {
"protocols": ["Renzo", "Compound V3"],
"description": "Automates leveraged looping on Compound Finance to amplify ezETH staking and restaking rewards.",
"parameters": [
{ "label": "Current LTV", "value": "80.00%" },
{ "label": "Target LTV", "value": "80%" },
{ "label": "Maximum LTV", "value": "89.90%" }
]
}
}
Present this as:
ezCompETH1 earns 3.78% APR ($965.4K TVL) via leveraged looping on Compound V3.
Parameter Value Current LTV 80.00% Target LTV 80% Maximum LTV (liquidation) 89.90% The vault is operating at its target LTV with a 9.9% buffer before liquidation.
For ezUSCC1 (Aave Horizon), similar strategy data is returned with additional fields: Effective Vault LTV, Position LTV, Market Target LTV, and Max Asset Utilization.
The get_vault_strategy tool returns where an EigenLayer vault's capital is deployed:
{
"vault": { "symbol": "ezETH", "ecosystem": "eigenlayer" },
"underlyingTvl": 212785.80,
"allocations": [
{
"avs": "EigenDA",
"description": "EigenDA is a data availability store...",
"stakedAmount": 128772.95,
"percentOfTvl": 60.52,
"operators": ["0xdfcb...", "0x5cd6...", "0x5dcd..."]
},
{
"avs": "Aligned",
"stakedAmount": 181405.06,
"percentOfTvl": 85.25,
"operators": ["0xdfcb...", "0x3f98...", "0x5cd6...", "0x5dcd..."]
}
],
"operators": [
{ "id": "luganodes", "name": "Luganodes", "link": "https://www.luganodes.com/" },
{ "id": "figment", "name": "Figment", "link": "https://figment.io/" }
]
}
Present this as:
ezETH Strategy — EigenLayer vault with 212,786 ETH staked across 16 AVS services.
Top AVS allocations:
AVS Staked (ETH) % of TVL Aligned 181,405 85.25% EigenDA 128,773 60.52% AltLayer 74,516 35.02% Witness Chain 54,591 25.66% Operators: Figment, Luganodes, Pier Two, HashKey Cloud
Note: Percentages sum to more than 100% because capital is restaked across multiple AVS services simultaneously.
The get_token_balances tool returns:
{
"address": "0xABC...123",
"network": "Ethereum Mainnet",
"tokens": [
{
"symbol": "ezETH",
"balance": "12.5432",
"balanceEth": "13.4476",
"balanceUsd": 28751.23
},
{
"symbol": "pzETH",
"balance": "5.0000",
"balanceEth": "5.2100",
"balanceUsd": 11134.02
}
],
"totalValueUsd": 39885.25
}
Present this as:
Renzo Portfolio for
0xABC...123on Ethereum Mainnet:
Token Balance Value (ETH) Value (USD) ezETH 12.5432 13.4476 $28,751.23 pzETH 5.0000 5.2100 $11,134.02 Total value: $39,885.25
If tokens is empty, tell the user the address holds no Renzo tokens on Ethereum mainnet.
The get_withdrawal_requests tool returns:
{
"address": "0xABC...123",
"requests": [
{
"withdrawRequestId": 42,
"ezEthAmount": "2.5000",
"ethAmount": "2.6803",
"claimable": false,
"createdAt": "2025-02-10T14:30:00Z",
"claimableAt": "2025-02-17T14:30:00Z",
"timeRemainingSeconds": 172800
}
],
"totalRequests": 1,
"cooldownPeriodSeconds": 604800
}
Present this as:
Pending Withdrawals for
0xABC...123:
# ezETH ETH to Receive Status Claimable At 42 2.5000 2.6803 Pending (~2 days left) Feb 17, 2025 The cooldown period is 7 days from the time of request. Once claimable, the ETH can be claimed from the WithdrawQueue contract.
If requests is empty, tell the user they have no pending ezETH withdrawals.
| User asks about... | Call |
|---|---|
| ezETH price, rate, yield, APR, TVL | get_ezeth_info |
| Overall Renzo stats, total TVL | get_protocol_stats |
| Which chains/networks Renzo supports | get_supported_chains |
| Available vaults, vault yields, vault comparison | get_vaults |
| Specific vault details (by name or symbol) | get_vault_details with the vault symbol |
| EigenLayer operators, validators, delegation | get_operators |
| AVS allocations, where capital is staked, restaking strategy | get_vault_strategy with the vault symbol |
| Vault LTV, leverage, risk parameters (reserve vaults) | get_vault_details with the vault symbol |
| General Renzo overview | get_protocol_stats + get_ezeth_info |
| "What yield can I get?" | get_vaults (shows all vault APRs) |
| "What are my Renzo balances?" (given an address) | get_token_balances with the address |
| "Check my withdrawal status" (given an address) | get_withdrawal_requests with the address |
| Full portfolio overview (given an address) | get_token_balances + get_withdrawal_requests |
When the user asks about a specific vault by name, first call get_vaults to find the symbol, then call get_vault_details with that symbol.
When the user provides an Ethereum address (0x..., 42 hex characters), use it directly with get_token_balances or get_withdrawal_requests. If the user asks about "my position" or "my balance" without providing an address, ask them for their Ethereum address first.
| Endpoint | Method | Data Sent | Purpose |
|---|---|---|---|
https://mcp.renzoprotocol.com/mcp | POST | JSON-RPC tool name and arguments (e.g., vault ID, ecosystem filter, Ethereum address) | All Renzo MCP queries |
No other endpoints are contacted. The helper script calls only the Renzo MCP server listed above.
jq before being sent. User-provided values are passed safely via jq --argjson (no shell interpolation of user input into URLs or commands).get_token_balances, get_withdrawal_requests), the Ethereum address you provide is sent to the Renzo MCP server. No other personal data is transmitted.By using this skill, queries are sent to the Renzo Protocol MCP server at https://mcp.renzoprotocol.com/mcp. For user-specific tools, your Ethereum address is shared with this server. Only install this skill if you trust Renzo Protocol with this information. Source code is available at https://github.com/Renzo-Protocol/openclaw-skill.
If the script exits with an error:
Never show raw JSON error output to the user. Summarize the issue in plain language.