Skip to content

Staking Tools

Tools for staking operations, yield farming, and liquidity provision across DeFi protocols.


Overview

Staking tools provide access to various yield-generating opportunities including native staking, liquid staking, and liquidity farming.

Tool Description
staking_get_staking_options List available staking opportunities
staking_get_pool_info Get staking pool details
staking_get_user_stakes Get user's active stakes
staking_stake Stake tokens in a pool
staking_unstake Withdraw staked tokens
staking_claim_rewards Claim pending rewards
staking_get_apy Get current APY/APR
staking_get_tvl Get total value locked

staking_get_staking_options

List available staking opportunities on a network.

Parameters

Parameter Type Required Description
network string No Network name (default: ethereum)
token string No Filter by token symbol
minApy number No Minimum APY filter

Response

{
  "network": "ethereum",
  "options": [
    {
      "protocol": "Lido",
      "pool": "ETH Staking",
      "token": "ETH",
      "rewardToken": "stETH",
      "apy": 4.2,
      "tvl": 15000000000,
      "lockPeriod": null,
      "type": "liquid-staking"
    },
    {
      "protocol": "Rocket Pool",
      "pool": "ETH Staking",
      "token": "ETH",
      "rewardToken": "rETH",
      "apy": 4.5,
      "tvl": 2500000000,
      "lockPeriod": null,
      "type": "liquid-staking"
    },
    {
      "protocol": "Aave",
      "pool": "USDC Supply",
      "token": "USDC",
      "rewardToken": "USDC",
      "apy": 3.8,
      "tvl": 5000000000,
      "lockPeriod": null,
      "type": "lending"
    }
  ]
}

Example

Show me staking options for ETH on Ethereum
Find staking opportunities with APY above 5% on Arbitrum

staking_get_pool_info

Get detailed information about a specific staking pool.

Parameters

Parameter Type Required Description
protocol string Yes Protocol name (e.g., "lido", "aave")
pool string Yes Pool identifier
network string No Network name (default: ethereum)

Response

{
  "protocol": "Lido",
  "pool": "stETH",
  "network": "ethereum",
  "token": {
    "symbol": "ETH",
    "address": "0x0000000000000000000000000000000000000000"
  },
  "rewardToken": {
    "symbol": "stETH",
    "address": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"
  },
  "apy": 4.2,
  "apr": 4.1,
  "tvl": 15234567890,
  "totalStaked": "6234567.89",
  "totalStakers": 234567,
  "lockPeriod": null,
  "withdrawalPeriod": "1-5 days",
  "minStake": "0.01",
  "maxStake": null,
  "fees": {
    "deposit": 0,
    "withdrawal": 0,
    "performance": 10
  },
  "risks": [
    "Smart contract risk",
    "Slashing risk (minimal)",
    "Price deviation from ETH"
  ]
}

Example

Get details about Lido stETH pool

staking_get_user_stakes

Get all active stakes for a user address.

Parameters

Parameter Type Required Description
address string Yes User wallet address
network string No Network name (default: all)

Response

{
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fEb3",
  "stakes": [
    {
      "protocol": "Lido",
      "pool": "stETH",
      "network": "ethereum",
      "staked": {
        "amount": "10.5",
        "token": "ETH",
        "valueUsd": 26250.00
      },
      "rewards": {
        "pending": "0.042",
        "token": "stETH",
        "valueUsd": 105.00
      },
      "apy": 4.2,
      "stakedAt": "2024-01-15T10:30:00Z"
    },
    {
      "protocol": "Aave",
      "pool": "USDC Supply",
      "network": "arbitrum",
      "staked": {
        "amount": "5000.00",
        "token": "USDC",
        "valueUsd": 5000.00
      },
      "rewards": {
        "pending": "15.50",
        "token": "USDC",
        "valueUsd": 15.50
      },
      "apy": 3.8,
      "stakedAt": "2024-02-01T14:00:00Z"
    }
  ],
  "totalValueUsd": 31250.00,
  "totalPendingRewardsUsd": 120.50
}

Example

Show all my active stakes
What are my staking positions on Arbitrum?

staking_stake

Stake tokens in a pool.

Parameters

Parameter Type Required Description
protocol string Yes Protocol name
pool string Yes Pool identifier
amount string Yes Amount to stake
network string No Network name (default: ethereum)

Response

{
  "success": true,
  "transactionHash": "0xabc123...",
  "protocol": "Lido",
  "pool": "stETH",
  "staked": {
    "amount": "5.0",
    "token": "ETH"
  },
  "received": {
    "amount": "4.998",
    "token": "stETH"
  },
  "network": "ethereum"
}

Example

Stake 5 ETH on Lido
Deposit 1000 USDC into Aave on Arbitrum

Security Note

⚠️ Requires wallet configuration. Review pool terms and risks before staking.


staking_unstake

Withdraw staked tokens from a pool.

Parameters

Parameter Type Required Description
protocol string Yes Protocol name
pool string Yes Pool identifier
amount string Yes Amount to unstake (or "all")
network string No Network name (default: ethereum)

Response

{
  "success": true,
  "transactionHash": "0xdef456...",
  "protocol": "Lido",
  "pool": "stETH",
  "unstaked": {
    "amount": "5.0",
    "token": "stETH"
  },
  "received": {
    "amount": "5.021",
    "token": "ETH",
    "estimatedReceiveTime": "2024-03-15T10:00:00Z"
  },
  "network": "ethereum",
  "note": "Withdrawal request submitted. ETH will be available in 1-5 days."
}

Example

Unstake all my ETH from Lido
Withdraw 500 USDC from Aave on Arbitrum

staking_claim_rewards

Claim pending staking rewards.

Parameters

Parameter Type Required Description
protocol string Yes Protocol name
pool string No Specific pool (or all pools)
network string No Network name (default: ethereum)

Response

{
  "success": true,
  "transactionHash": "0xghi789...",
  "claimed": [
    {
      "protocol": "Convex",
      "pool": "cvxCRV",
      "rewards": [
        {
          "token": "CRV",
          "amount": "125.50",
          "valueUsd": 87.85
        },
        {
          "token": "CVX",
          "amount": "45.20",
          "valueUsd": 135.60
        }
      ]
    }
  ],
  "totalValueUsd": 223.45,
  "network": "ethereum"
}

Example

Claim all my pending staking rewards
Claim rewards from Convex on Ethereum

staking_get_apy

Get current APY/APR for a staking pool.

Parameters

Parameter Type Required Description
protocol string Yes Protocol name
pool string Yes Pool identifier
network string No Network name (default: ethereum)

Response

{
  "protocol": "Lido",
  "pool": "stETH",
  "network": "ethereum",
  "apy": 4.2,
  "apr": 4.1,
  "breakdown": {
    "baseApr": 3.8,
    "rewardApr": 0.3,
    "fees": -0.1
  },
  "historical": {
    "7d": 4.1,
    "30d": 4.0,
    "90d": 4.2
  },
  "updatedAt": "2024-03-10T12:00:00Z"
}

Example

What's the current APY for Lido stETH?

staking_get_tvl

Get total value locked in a protocol or pool.

Parameters

Parameter Type Required Description
protocol string Yes Protocol name
pool string No Specific pool (optional)
network string No Network name (optional)

Response

{
  "protocol": "Lido",
  "network": "all",
  "tvl": 15234567890,
  "tvlChange24h": 2.5,
  "tvlChange7d": 5.2,
  "pools": [
    {
      "pool": "stETH",
      "network": "ethereum",
      "tvl": 14500000000,
      "percentage": 95.2
    },
    {
      "pool": "wstETH",
      "network": "arbitrum",
      "tvl": 500000000,
      "percentage": 3.3
    }
  ]
}

Example

What's the TVL on Aave?

Liquid Staking

Protocol Networks Tokens Type
Lido ETH, Polygon, Solana ETH, MATIC Liquid Staking
Rocket Pool Ethereum ETH Decentralized Liquid Staking
Coinbase Ethereum ETH (cbETH) Centralized Liquid Staking
Frax Ethereum ETH (sfrxETH) Liquid Staking

Lending/Yield

Protocol Networks Type
Aave ETH, ARB, OP, Polygon, BSC Lending
Compound Ethereum, Arbitrum, Base Lending
Yearn Ethereum, Arbitrum Yield Aggregator
Convex Ethereum Yield Optimizer

Liquidity Mining

Protocol Networks Type
Uniswap Multi-chain LP Staking
Curve Multi-chain LP Staking
Balancer Multi-chain LP Staking
PancakeSwap BSC, Arbitrum LP Staking

Risk Considerations

Risk Type Description
Smart Contract Bugs or vulnerabilities in protocol code
Impermanent Loss LP token value divergence from underlying
Slashing Validator penalties (for ETH staking)
Liquidity Difficulty withdrawing during high demand
Protocol Governance changes, upgrades, or exploits