{
  "schemaVersion": "1.0",
  "item": {
    "slug": "renzo",
    "name": "Renzo Protocol",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/pooleja/renzo",
    "canonicalUrl": "https://clawhub.ai/pooleja/renzo",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/renzo",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=renzo",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "renzo-mcp.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/renzo"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/renzo",
    "agentPageUrl": "https://openagent3.xyz/skills/renzo/agent",
    "manifestUrl": "https://openagent3.xyz/skills/renzo/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/renzo/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Renzo Protocol",
        "body": "Query live data from the Renzo liquid restaking protocol: ezETH metrics, vault information, protocol stats, supported chains, and operator details."
      },
      {
        "title": "When to Use",
        "body": "Activate this skill when the user asks about:\n\nRenzo protocol, ezETH, pzETH, ezSOL, or any Renzo vault token\nLiquid restaking yields, APRs, or staking returns on Renzo\nRenzo TVL (total value locked) or protocol statistics\nRenzo vault details, performance, or comparisons\nChains or networks Renzo supports\nEigenLayer operators delegated through Renzo\nInstitutional vault management on Renzo\nTheir Renzo token balances or portfolio (given an Ethereum address)\nezETH withdrawal requests, unstaking status, or cooldown timers\nVault strategies, AVS allocations, or where vault capital is deployed\nLTV ratios, leverage, or risk parameters for reserve vaults (ezCompETH1, ezUSCC1)"
      },
      {
        "title": "Available Tools",
        "body": "The helper script renzo-mcp.sh (located in this skill's directory) calls the Renzo MCP server and returns clean JSON.\n\nToolPurposeArgumentsget_ezeth_infoezETH metrics: APR, supply, TVL, price, exchange rateNoneget_protocol_statsAggregate protocol stats: total TVL, APRs, chain countNoneget_supported_chainsList of blockchain networks Renzo operates onNoneget_vaultsList vaults with TVL and APROptional: {\"ecosystem\":\"eigenlayer\"} (eigenlayer, symbiotic, jito, generic)get_vault_detailsDetailed info for one vault, including live LTV for reserve vaultsRequired: {\"vaultId\":\"<symbol_or_address>\"}get_vault_strategyAVS allocations, staking %, and operators for EigenLayer vaultsRequired: {\"vaultId\":\"<symbol>\"} (ezETH, ezEIGEN, ezREZ)get_operatorsList protocol operatorsOptional: {\"product\":\"ezETH\"} (ezETH, pzETH, ezSOL, etc.)get_token_balancesUser's Renzo token balances (ezETH, pzETH, vault LPs) with ETH/USD valuesRequired: {\"address\":\"0x...\"} (Ethereum address)get_withdrawal_requestsUser's pending ezETH withdrawal requests with claimability and time remainingRequired: {\"address\":\"0x...\"} (Ethereum address)"
      },
      {
        "title": "How to Call",
        "body": "Run the helper script via the Bash tool. The script path is relative to this skill's directory.\n\n# No arguments\n./skills/renzo/renzo-mcp.sh get_ezeth_info\n./skills/renzo/renzo-mcp.sh get_protocol_stats\n./skills/renzo/renzo-mcp.sh get_supported_chains\n\n# With optional filter\n./skills/renzo/renzo-mcp.sh get_vaults '{\"ecosystem\":\"jito\"}'\n./skills/renzo/renzo-mcp.sh get_operators '{\"product\":\"pzETH\"}'\n\n# With required argument\n./skills/renzo/renzo-mcp.sh get_vault_details '{\"vaultId\":\"ezREZ\"}'\n./skills/renzo/renzo-mcp.sh get_vault_details '{\"vaultId\":\"ezCompETH1\"}'\n./skills/renzo/renzo-mcp.sh get_vault_strategy '{\"vaultId\":\"ezETH\"}'\n\n# User-specific queries (require an Ethereum address)\n./skills/renzo/renzo-mcp.sh get_token_balances '{\"address\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}'\n./skills/renzo/renzo-mcp.sh get_withdrawal_requests '{\"address\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}'"
      },
      {
        "title": "Presenting Results",
        "body": "Format data for readability. Follow these rules:\n\nAPR/APY: Display as percentages with 2 decimal places (e.g., \"2.84%\")\nTVL: Format in USD with commas and 2 decimal places (e.g., \"$430,813,580.01\"). For values over $1M, also show shorthand (e.g., \"$430.8M\")\nExchange rates: Show 4-6 decimal places (e.g., \"1.0721 ETH per ezETH\")\nToken amounts: Show 2-4 decimal places with the token symbol\nTables: Use markdown tables when comparing vaults or listing multiple items\nContext: Briefly explain what the numbers mean for users unfamiliar with liquid restaking"
      },
      {
        "title": "Example: ezETH Info Response",
        "body": "The get_ezeth_info tool returns:\n\n{\n  \"token\": \"ezETH\",\n  \"aprPercent\": 2.83,\n  \"aprAvgPeriodDays\": 30,\n  \"totalSupplyEth\": 215986.82,\n  \"lpTotalSupply\": 201461.43,\n  \"tvlUsd\": 430813580.00,\n  \"ethPriceUsd\": 2138.44,\n  \"exchangeRate\": 1.0721\n}\n\nPresent this as:\n\nezETH 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."
      },
      {
        "title": "Example: Vault Comparison",
        "body": "When listing vaults, use a table:\n\nVaultUnderlyingAPRTVLEcosystemezSOLSOL6.41%$6.4MJitoezEIGENEIGEN18.23%$329.6KEigenLayerezREZREZ1.64%$2.5MEigenLayer"
      },
      {
        "title": "Example: Protocol Overview",
        "body": "For general \"tell me about Renzo\" questions, call get_protocol_stats and get_ezeth_info together, then summarize:\n\nRenzo 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."
      },
      {
        "title": "Example: Reserve Vault with Live LTV",
        "body": "The get_vault_details tool now returns a strategy block for reserve vaults (ezCompETH1, ezUSCC1) with live on-chain LTV data:\n\n{\n  \"symbol\": \"ezCompETH1\",\n  \"tvlUsd\": 965393.86,\n  \"aprPercent\": 3.78,\n  \"strategy\": {\n    \"protocols\": [\"Renzo\", \"Compound V3\"],\n    \"description\": \"Automates leveraged looping on Compound Finance to amplify ezETH staking and restaking rewards.\",\n    \"parameters\": [\n      { \"label\": \"Current LTV\", \"value\": \"80.00%\" },\n      { \"label\": \"Target LTV\", \"value\": \"80%\" },\n      { \"label\": \"Maximum LTV\", \"value\": \"89.90%\" }\n    ]\n  }\n}\n\nPresent this as:\n\nezCompETH1 earns 3.78% APR ($965.4K TVL) via leveraged looping on Compound V3.\nParameterValueCurrent LTV80.00%Target LTV80%Maximum LTV (liquidation)89.90%\nThe vault is operating at its target LTV with a 9.9% buffer before liquidation.\n\nFor ezUSCC1 (Aave Horizon), similar strategy data is returned with additional fields: Effective Vault LTV, Position LTV, Market Target LTV, and Max Asset Utilization."
      },
      {
        "title": "Example: Vault Strategy (AVS Allocations)",
        "body": "The get_vault_strategy tool returns where an EigenLayer vault's capital is deployed:\n\n{\n  \"vault\": { \"symbol\": \"ezETH\", \"ecosystem\": \"eigenlayer\" },\n  \"underlyingTvl\": 212785.80,\n  \"allocations\": [\n    {\n      \"avs\": \"EigenDA\",\n      \"description\": \"EigenDA is a data availability store...\",\n      \"stakedAmount\": 128772.95,\n      \"percentOfTvl\": 60.52,\n      \"operators\": [\"0xdfcb...\", \"0x5cd6...\", \"0x5dcd...\"]\n    },\n    {\n      \"avs\": \"Aligned\",\n      \"stakedAmount\": 181405.06,\n      \"percentOfTvl\": 85.25,\n      \"operators\": [\"0xdfcb...\", \"0x3f98...\", \"0x5cd6...\", \"0x5dcd...\"]\n    }\n  ],\n  \"operators\": [\n    { \"id\": \"luganodes\", \"name\": \"Luganodes\", \"link\": \"https://www.luganodes.com/\" },\n    { \"id\": \"figment\", \"name\": \"Figment\", \"link\": \"https://figment.io/\" }\n  ]\n}\n\nPresent this as:\n\nezETH Strategy — EigenLayer vault with 212,786 ETH staked across 16 AVS services.\nTop AVS allocations:\nAVSStaked (ETH)% of TVLAligned181,40585.25%EigenDA128,77360.52%AltLayer74,51635.02%Witness Chain54,59125.66%\nOperators: Figment, Luganodes, Pier Two, HashKey Cloud\nNote: Percentages sum to more than 100% because capital is restaked across multiple AVS services simultaneously."
      },
      {
        "title": "Example: Token Balances Response",
        "body": "The get_token_balances tool returns:\n\n{\n  \"address\": \"0xABC...123\",\n  \"network\": \"Ethereum Mainnet\",\n  \"tokens\": [\n    {\n      \"symbol\": \"ezETH\",\n      \"balance\": \"12.5432\",\n      \"balanceEth\": \"13.4476\",\n      \"balanceUsd\": 28751.23\n    },\n    {\n      \"symbol\": \"pzETH\",\n      \"balance\": \"5.0000\",\n      \"balanceEth\": \"5.2100\",\n      \"balanceUsd\": 11134.02\n    }\n  ],\n  \"totalValueUsd\": 39885.25\n}\n\nPresent this as:\n\nRenzo Portfolio for 0xABC...123 on Ethereum Mainnet:\nTokenBalanceValue (ETH)Value (USD)ezETH12.543213.4476$28,751.23pzETH5.00005.2100$11,134.02\nTotal value: $39,885.25\n\nIf tokens is empty, tell the user the address holds no Renzo tokens on Ethereum mainnet."
      },
      {
        "title": "Example: Withdrawal Requests Response",
        "body": "The get_withdrawal_requests tool returns:\n\n{\n  \"address\": \"0xABC...123\",\n  \"requests\": [\n    {\n      \"withdrawRequestId\": 42,\n      \"ezEthAmount\": \"2.5000\",\n      \"ethAmount\": \"2.6803\",\n      \"claimable\": false,\n      \"createdAt\": \"2025-02-10T14:30:00Z\",\n      \"claimableAt\": \"2025-02-17T14:30:00Z\",\n      \"timeRemainingSeconds\": 172800\n    }\n  ],\n  \"totalRequests\": 1,\n  \"cooldownPeriodSeconds\": 604800\n}\n\nPresent this as:\n\nPending Withdrawals for 0xABC...123:\n#ezETHETH to ReceiveStatusClaimable At422.50002.6803Pending (~2 days left)Feb 17, 2025\nThe cooldown period is 7 days from the time of request. Once claimable, the ETH can be claimed from the WithdrawQueue contract.\n\nIf requests is empty, tell the user they have no pending ezETH withdrawals."
      },
      {
        "title": "Choosing the Right Tool",
        "body": "User asks about...CallezETH price, rate, yield, APR, TVLget_ezeth_infoOverall Renzo stats, total TVLget_protocol_statsWhich chains/networks Renzo supportsget_supported_chainsAvailable vaults, vault yields, vault comparisonget_vaultsSpecific vault details (by name or symbol)get_vault_details with the vault symbolEigenLayer operators, validators, delegationget_operatorsAVS allocations, where capital is staked, restaking strategyget_vault_strategy with the vault symbolVault LTV, leverage, risk parameters (reserve vaults)get_vault_details with the vault symbolGeneral Renzo overviewget_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 addressFull portfolio overview (given an address)get_token_balances + get_withdrawal_requests\n\nWhen 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.\n\nWhen 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."
      },
      {
        "title": "External Endpoints",
        "body": "EndpointMethodData SentPurposehttps://mcp.renzoprotocol.com/mcpPOSTJSON-RPC tool name and arguments (e.g., vault ID, ecosystem filter, Ethereum address)All Renzo MCP queries\n\nNo other endpoints are contacted. The helper script calls only the Renzo MCP server listed above."
      },
      {
        "title": "Security & Privacy",
        "body": "No credentials required: The Renzo MCP endpoint is public and requires no API keys or authentication tokens.\nNo local file access: The script does not read or write any files on your machine.\nNo persistent state: Nothing is stored between invocations.\nInput validation: Tool names are validated against a hardcoded allowlist. JSON arguments are validated with jq before being sent. User-provided values are passed safely via jq --argjson (no shell interpolation of user input into URLs or commands).\nData sent externally: When querying user-specific tools (get_token_balances, get_withdrawal_requests), the Ethereum address you provide is sent to the Renzo MCP server. No other personal data is transmitted.\nData received: All responses are read-only protocol data (token balances, APRs, TVL figures). No executable content is returned or evaluated."
      },
      {
        "title": "Trust Statement",
        "body": "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."
      },
      {
        "title": "Error Handling",
        "body": "If the script exits with an error:\n\nNetwork failure: Tell the user the Renzo MCP server is unreachable and suggest trying again later\nUnknown tool: This is a bug in the skill — report the tool name attempted\nInvalid JSON arguments: Check the argument format matches what the tool expects\nServer error: Report the error message from the server response\n\nNever show raw JSON error output to the user. Summarize the issue in plain language."
      }
    ],
    "body": "Renzo Protocol\n\nQuery live data from the Renzo liquid restaking protocol: ezETH metrics, vault information, protocol stats, supported chains, and operator details.\n\nWhen to Use\n\nActivate this skill when the user asks about:\n\nRenzo protocol, ezETH, pzETH, ezSOL, or any Renzo vault token\nLiquid restaking yields, APRs, or staking returns on Renzo\nRenzo TVL (total value locked) or protocol statistics\nRenzo vault details, performance, or comparisons\nChains or networks Renzo supports\nEigenLayer operators delegated through Renzo\nInstitutional vault management on Renzo\nTheir Renzo token balances or portfolio (given an Ethereum address)\nezETH withdrawal requests, unstaking status, or cooldown timers\nVault strategies, AVS allocations, or where vault capital is deployed\nLTV ratios, leverage, or risk parameters for reserve vaults (ezCompETH1, ezUSCC1)\nAvailable Tools\n\nThe helper script renzo-mcp.sh (located in this skill's directory) calls the Renzo MCP server and returns clean JSON.\n\nTool\tPurpose\tArguments\nget_ezeth_info\tezETH metrics: APR, supply, TVL, price, exchange rate\tNone\nget_protocol_stats\tAggregate protocol stats: total TVL, APRs, chain count\tNone\nget_supported_chains\tList of blockchain networks Renzo operates on\tNone\nget_vaults\tList vaults with TVL and APR\tOptional: {\"ecosystem\":\"eigenlayer\"} (eigenlayer, symbiotic, jito, generic)\nget_vault_details\tDetailed info for one vault, including live LTV for reserve vaults\tRequired: {\"vaultId\":\"<symbol_or_address>\"}\nget_vault_strategy\tAVS allocations, staking %, and operators for EigenLayer vaults\tRequired: {\"vaultId\":\"<symbol>\"} (ezETH, ezEIGEN, ezREZ)\nget_operators\tList protocol operators\tOptional: {\"product\":\"ezETH\"} (ezETH, pzETH, ezSOL, etc.)\nget_token_balances\tUser's Renzo token balances (ezETH, pzETH, vault LPs) with ETH/USD values\tRequired: {\"address\":\"0x...\"} (Ethereum address)\nget_withdrawal_requests\tUser's pending ezETH withdrawal requests with claimability and time remaining\tRequired: {\"address\":\"0x...\"} (Ethereum address)\nHow to Call\n\nRun the helper script via the Bash tool. The script path is relative to this skill's directory.\n\n# No arguments\n./skills/renzo/renzo-mcp.sh get_ezeth_info\n./skills/renzo/renzo-mcp.sh get_protocol_stats\n./skills/renzo/renzo-mcp.sh get_supported_chains\n\n# With optional filter\n./skills/renzo/renzo-mcp.sh get_vaults '{\"ecosystem\":\"jito\"}'\n./skills/renzo/renzo-mcp.sh get_operators '{\"product\":\"pzETH\"}'\n\n# With required argument\n./skills/renzo/renzo-mcp.sh get_vault_details '{\"vaultId\":\"ezREZ\"}'\n./skills/renzo/renzo-mcp.sh get_vault_details '{\"vaultId\":\"ezCompETH1\"}'\n./skills/renzo/renzo-mcp.sh get_vault_strategy '{\"vaultId\":\"ezETH\"}'\n\n# User-specific queries (require an Ethereum address)\n./skills/renzo/renzo-mcp.sh get_token_balances '{\"address\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}'\n./skills/renzo/renzo-mcp.sh get_withdrawal_requests '{\"address\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}'\n\nPresenting Results\n\nFormat data for readability. Follow these rules:\n\nAPR/APY: Display as percentages with 2 decimal places (e.g., \"2.84%\")\nTVL: Format in USD with commas and 2 decimal places (e.g., \"$430,813,580.01\"). For values over $1M, also show shorthand (e.g., \"$430.8M\")\nExchange rates: Show 4-6 decimal places (e.g., \"1.0721 ETH per ezETH\")\nToken amounts: Show 2-4 decimal places with the token symbol\nTables: Use markdown tables when comparing vaults or listing multiple items\nContext: Briefly explain what the numbers mean for users unfamiliar with liquid restaking\nExample: ezETH Info Response\n\nThe get_ezeth_info tool returns:\n\n{\n  \"token\": \"ezETH\",\n  \"aprPercent\": 2.83,\n  \"aprAvgPeriodDays\": 30,\n  \"totalSupplyEth\": 215986.82,\n  \"lpTotalSupply\": 201461.43,\n  \"tvlUsd\": 430813580.00,\n  \"ethPriceUsd\": 2138.44,\n  \"exchangeRate\": 1.0721\n}\n\n\nPresent this as:\n\nezETH 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.\n\nExample: Vault Comparison\n\nWhen listing vaults, use a table:\n\nVault\tUnderlying\tAPR\tTVL\tEcosystem\nezSOL\tSOL\t6.41%\t$6.4M\tJito\nezEIGEN\tEIGEN\t18.23%\t$329.6K\tEigenLayer\nezREZ\tREZ\t1.64%\t$2.5M\tEigenLayer\nExample: Protocol Overview\n\nFor general \"tell me about Renzo\" questions, call get_protocol_stats and get_ezeth_info together, then summarize:\n\nRenzo 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.\n\nExample: Reserve Vault with Live LTV\n\nThe get_vault_details tool now returns a strategy block for reserve vaults (ezCompETH1, ezUSCC1) with live on-chain LTV data:\n\n{\n  \"symbol\": \"ezCompETH1\",\n  \"tvlUsd\": 965393.86,\n  \"aprPercent\": 3.78,\n  \"strategy\": {\n    \"protocols\": [\"Renzo\", \"Compound V3\"],\n    \"description\": \"Automates leveraged looping on Compound Finance to amplify ezETH staking and restaking rewards.\",\n    \"parameters\": [\n      { \"label\": \"Current LTV\", \"value\": \"80.00%\" },\n      { \"label\": \"Target LTV\", \"value\": \"80%\" },\n      { \"label\": \"Maximum LTV\", \"value\": \"89.90%\" }\n    ]\n  }\n}\n\n\nPresent this as:\n\nezCompETH1 earns 3.78% APR ($965.4K TVL) via leveraged looping on Compound V3.\n\nParameter\tValue\nCurrent LTV\t80.00%\nTarget LTV\t80%\nMaximum LTV (liquidation)\t89.90%\n\nThe vault is operating at its target LTV with a 9.9% buffer before liquidation.\n\nFor ezUSCC1 (Aave Horizon), similar strategy data is returned with additional fields: Effective Vault LTV, Position LTV, Market Target LTV, and Max Asset Utilization.\n\nExample: Vault Strategy (AVS Allocations)\n\nThe get_vault_strategy tool returns where an EigenLayer vault's capital is deployed:\n\n{\n  \"vault\": { \"symbol\": \"ezETH\", \"ecosystem\": \"eigenlayer\" },\n  \"underlyingTvl\": 212785.80,\n  \"allocations\": [\n    {\n      \"avs\": \"EigenDA\",\n      \"description\": \"EigenDA is a data availability store...\",\n      \"stakedAmount\": 128772.95,\n      \"percentOfTvl\": 60.52,\n      \"operators\": [\"0xdfcb...\", \"0x5cd6...\", \"0x5dcd...\"]\n    },\n    {\n      \"avs\": \"Aligned\",\n      \"stakedAmount\": 181405.06,\n      \"percentOfTvl\": 85.25,\n      \"operators\": [\"0xdfcb...\", \"0x3f98...\", \"0x5cd6...\", \"0x5dcd...\"]\n    }\n  ],\n  \"operators\": [\n    { \"id\": \"luganodes\", \"name\": \"Luganodes\", \"link\": \"https://www.luganodes.com/\" },\n    { \"id\": \"figment\", \"name\": \"Figment\", \"link\": \"https://figment.io/\" }\n  ]\n}\n\n\nPresent this as:\n\nezETH Strategy — EigenLayer vault with 212,786 ETH staked across 16 AVS services.\n\nTop AVS allocations:\n\nAVS\tStaked (ETH)\t% of TVL\nAligned\t181,405\t85.25%\nEigenDA\t128,773\t60.52%\nAltLayer\t74,516\t35.02%\nWitness Chain\t54,591\t25.66%\n\nOperators: Figment, Luganodes, Pier Two, HashKey Cloud\n\nNote: Percentages sum to more than 100% because capital is restaked across multiple AVS services simultaneously.\n\nExample: Token Balances Response\n\nThe get_token_balances tool returns:\n\n{\n  \"address\": \"0xABC...123\",\n  \"network\": \"Ethereum Mainnet\",\n  \"tokens\": [\n    {\n      \"symbol\": \"ezETH\",\n      \"balance\": \"12.5432\",\n      \"balanceEth\": \"13.4476\",\n      \"balanceUsd\": 28751.23\n    },\n    {\n      \"symbol\": \"pzETH\",\n      \"balance\": \"5.0000\",\n      \"balanceEth\": \"5.2100\",\n      \"balanceUsd\": 11134.02\n    }\n  ],\n  \"totalValueUsd\": 39885.25\n}\n\n\nPresent this as:\n\nRenzo Portfolio for 0xABC...123 on Ethereum Mainnet:\n\nToken\tBalance\tValue (ETH)\tValue (USD)\nezETH\t12.5432\t13.4476\t$28,751.23\npzETH\t5.0000\t5.2100\t$11,134.02\n\nTotal value: $39,885.25\n\nIf tokens is empty, tell the user the address holds no Renzo tokens on Ethereum mainnet.\n\nExample: Withdrawal Requests Response\n\nThe get_withdrawal_requests tool returns:\n\n{\n  \"address\": \"0xABC...123\",\n  \"requests\": [\n    {\n      \"withdrawRequestId\": 42,\n      \"ezEthAmount\": \"2.5000\",\n      \"ethAmount\": \"2.6803\",\n      \"claimable\": false,\n      \"createdAt\": \"2025-02-10T14:30:00Z\",\n      \"claimableAt\": \"2025-02-17T14:30:00Z\",\n      \"timeRemainingSeconds\": 172800\n    }\n  ],\n  \"totalRequests\": 1,\n  \"cooldownPeriodSeconds\": 604800\n}\n\n\nPresent this as:\n\nPending Withdrawals for 0xABC...123:\n\n#\tezETH\tETH to Receive\tStatus\tClaimable At\n42\t2.5000\t2.6803\tPending (~2 days left)\tFeb 17, 2025\n\nThe cooldown period is 7 days from the time of request. Once claimable, the ETH can be claimed from the WithdrawQueue contract.\n\nIf requests is empty, tell the user they have no pending ezETH withdrawals.\n\nChoosing the Right Tool\nUser asks about...\tCall\nezETH price, rate, yield, APR, TVL\tget_ezeth_info\nOverall Renzo stats, total TVL\tget_protocol_stats\nWhich chains/networks Renzo supports\tget_supported_chains\nAvailable vaults, vault yields, vault comparison\tget_vaults\nSpecific vault details (by name or symbol)\tget_vault_details with the vault symbol\nEigenLayer operators, validators, delegation\tget_operators\nAVS allocations, where capital is staked, restaking strategy\tget_vault_strategy with the vault symbol\nVault LTV, leverage, risk parameters (reserve vaults)\tget_vault_details with the vault symbol\nGeneral Renzo overview\tget_protocol_stats + get_ezeth_info\n\"What yield can I get?\"\tget_vaults (shows all vault APRs)\n\"What are my Renzo balances?\" (given an address)\tget_token_balances with the address\n\"Check my withdrawal status\" (given an address)\tget_withdrawal_requests with the address\nFull portfolio overview (given an address)\tget_token_balances + get_withdrawal_requests\n\nWhen 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.\n\nWhen 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.\n\nExternal Endpoints\nEndpoint\tMethod\tData Sent\tPurpose\nhttps://mcp.renzoprotocol.com/mcp\tPOST\tJSON-RPC tool name and arguments (e.g., vault ID, ecosystem filter, Ethereum address)\tAll Renzo MCP queries\n\nNo other endpoints are contacted. The helper script calls only the Renzo MCP server listed above.\n\nSecurity & Privacy\nNo credentials required: The Renzo MCP endpoint is public and requires no API keys or authentication tokens.\nNo local file access: The script does not read or write any files on your machine.\nNo persistent state: Nothing is stored between invocations.\nInput validation: Tool names are validated against a hardcoded allowlist. JSON arguments are validated with jq before being sent. User-provided values are passed safely via jq --argjson (no shell interpolation of user input into URLs or commands).\nData sent externally: When querying user-specific tools (get_token_balances, get_withdrawal_requests), the Ethereum address you provide is sent to the Renzo MCP server. No other personal data is transmitted.\nData received: All responses are read-only protocol data (token balances, APRs, TVL figures). No executable content is returned or evaluated.\nTrust Statement\n\nBy 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.\n\nError Handling\n\nIf the script exits with an error:\n\nNetwork failure: Tell the user the Renzo MCP server is unreachable and suggest trying again later\nUnknown tool: This is a bug in the skill — report the tool name attempted\nInvalid JSON arguments: Check the argument format matches what the tool expects\nServer error: Report the error message from the server response\n\nNever show raw JSON error output to the user. Summarize the issue in plain language."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/pooleja/renzo",
    "publisherUrl": "https://clawhub.ai/pooleja/renzo",
    "owner": "pooleja",
    "version": "1.3.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/renzo",
    "downloadUrl": "https://openagent3.xyz/downloads/renzo",
    "agentUrl": "https://openagent3.xyz/skills/renzo/agent",
    "manifestUrl": "https://openagent3.xyz/skills/renzo/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/renzo/agent.md"
  }
}