API and MCP Tools
Chain Labels
- Trust:
sepolia/11155111 - Execution:
mainnet-fork/31337(default) ormainnet/1
Dry Run Semantics
Every write tool supports:
{ "dry_run": true | false }
When dry_run=true:
- no broadcast
- expected calls
- expected state changes
- warnings
- gas estimate (best-effort)
- chain labels
When dry_run=false:
- transaction broadcast
- tx hash + post-state summary
- OpenFi receipts emitted in OpenFi-native mode
Standalone MCP Tools (packages/lido-mcp)
Read
get_lido_balancesget_staking_quoteget_rewards_summaryget_earn_vault_healthget_earn_positionlist_recent_alertsget_treasury_statuspreview_treasury_spendlist_lido_votesget_lido_voteget_lido_monitor_status
Write
stake_ethrequest_unstakeclaim_unstakedwrap_stethunwrap_wstethdeploy_yield_treasuryfund_yield_treasuryconfigure_treasury_recipientconfigure_authorized_agentconfigure_subagent_budgetspend_treasury_yieldbuy_compute_credits_from_yielddelegate_lido_governancecast_lido_vote(optional path)
OpenFi Control-Plane Chat API
Endpoint:
POST /v1/chat
Example:
curl -X POST http://127.0.0.1:3001/v1/chat \
-H 'content-type: application/json' \
-d '{
"message": "Dry run request unstake 0.1 stETH",
"submitTask": true,
"dry_run": true
}'
Example Prompts
- “Show my EarnETH spread versus raw stETH APR.”
- “Dry run delegation to 0x...”
- “Request unstake of 0.25 stETH and show expected calls.”
- “Spend treasury yield to buy compute credits and verify principal floor.”
- “List recent Lido monitor alerts.”