> ## Documentation Index
> Fetch the complete documentation index at: https://yieldxyz.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Ethereum Staking

> ETH staking via multiple providers, plus MATIC, GRT, APE, and SNX staking on Ethereum

Ethereum staking on Yield.xyz includes native ETH staking via multiple institutional providers, as well as ERC-20 token staking for MATIC, GRT, APE, and SNX.

***

## ETH staking (by provider)

<CardGroup cols={2}>
  <Card title="Everstake" href="/documentation/coverage/supported-yields/staking/evm/ethereum/eth-everstake">
    Institutional validator provider
  </Card>

  <Card title="Figment" href="/documentation/coverage/supported-yields/staking/evm/ethereum/eth-figment">
    Institutional validator provider
  </Card>

  <Card title="P2P" href="/documentation/coverage/supported-yields/staking/evm/ethereum/eth-p2p">
    Validator infrastructure
  </Card>
</CardGroup>

<Note>
  Additional ETH staking providers (InfStones, Luganodes, StakeWise) are available. Check the [Providers catalog](/api-reference/ProvidersController_getProviders) for current availability.
</Note>

***

## ERC-20 token staking

<CardGroup cols={2}>
  <Card title="MATIC Staking" href="/documentation/coverage/supported-yields/staking/evm/ethereum/matic-native">
    Delegate to Polygon validators
  </Card>

  <Card title="GRT Staking" href="/documentation/coverage/supported-yields/staking/evm/ethereum/grt-native">
    Delegate to The Graph indexers
  </Card>

  <Card title="APE Staking" href="/documentation/coverage/supported-yields/staking/evm/ethereum/ape-native">
    ApeCoin and NFT staking
  </Card>

  <Card title="SNX 420 Pool" href="/documentation/coverage/supported-yields/staking/evm/ethereum/snx-420">
    Synthetix staking
  </Card>

  <Card title="SUSHI → xSUSHI" href="/documentation/coverage/supported-yields/staking/evm/ethereum/sushi-xsushi">
    SushiSwap staking
  </Card>
</CardGroup>

***

## Available yields

<AccordionGroup>
  <Accordion title="ETH native staking (by provider)">
    | Provider  | Yield ID                         | Notes                  |
    | --------- | -------------------------------- | ---------------------- |
    | Everstake | `ethereum-eth-everstake-staking` | Institutional provider |
    | Figment   | `ethereum-eth-figment-staking`   | Institutional provider |
    | InfStones | `ethereum-eth-infstones-staking` | Institutional provider |
    | Luganodes | `ethereum-eth-luganodes-staking` | Institutional provider |
    | P2P       | `ethereum-eth-p2p-staking`       | Institutional provider |
    | StakeWise | `ethereum-eth-stakewise-staking` | Non-custodial staking  |
  </Accordion>

  <Accordion title="MATIC staking">
    | Yield ID                        | Description                          |
    | ------------------------------- | ------------------------------------ |
    | `ethereum-matic-native-staking` | Delegate MATIC to Polygon validators |
  </Accordion>

  <Accordion title="GRT staking (The Graph)">
    | Yield ID                      | Description              |
    | ----------------------------- | ------------------------ |
    | `ethereum-grt-native-staking` | Delegate GRT to indexers |
  </Accordion>

  <Accordion title="APE staking (ApeCoin)">
    | Yield ID                           | Description           |
    | ---------------------------------- | --------------------- |
    | `ethereum-ape-native-staking`      | Stake APE tokens      |
    | `ethereum-ape-bayc-native-staking` | Stake with BAYC NFT   |
    | `ethereum-ape-mayc-native-staking` | Stake with MAYC NFT   |
    | `ethereum-ape-bakc-native-staking` | Stake with BAKC NFT   |
    | `ethereum-ape-paraspace-staking`   | ParaSpace APE staking |
  </Accordion>

  <Accordion title="SNX staking (Synthetix)">
    | Yield ID                   | Description                |
    | -------------------------- | -------------------------- |
    | `ethereum-snx-420-staking` | Synthetix 420 pool staking |
  </Accordion>

  <Accordion title="SUSHI staking">
    | Yield ID                        | Description            |
    | ------------------------------- | ---------------------- |
    | `ethereum-sushi-xsushi-staking` | Stake SUSHI for xSUSHI |
  </Accordion>
</AccordionGroup>

***

## Required inputs

Inputs vary by yield type. Always fetch yield metadata for exact schemas.

| Yield Type    | Required Arguments                         |
| ------------- | ------------------------------------------ |
| ETH staking   | `amount`                                   |
| MATIC staking | `amount`, `validatorAddress`               |
| GRT staking   | `amount`, `validatorAddress` (indexer)     |
| APE staking   | `amount`, NFT token IDs (for NFT variants) |

***

## Actions & lifecycle

<Tabs>
  <Tab title="Enter">
    * Call `/actions/enter` with yield ID and required arguments
    * ETH staking: single transaction (no approval needed for native ETH)
    * ERC-20 staking: approval transaction + stake transaction
    * Execute transactions in order returned by API
    * Position becomes active after confirmation
  </Tab>

  <Tab title="Exit">
    * Call `/actions/exit` with amount to withdraw
    * ETH staking: withdrawal queue timing varies by provider
    * POL/MATIC staking: 2-day unbonding period
    * GRT staking: 28-day thawing period
    * Track `unstaking` balance type until claimable
  </Tab>

  <Tab title="Manage">
    * Claim rewards (where applicable)
    * Redelegate to different validator (MATIC, GRT)
    * Check `pendingActions` in balances response
  </Tab>
</Tabs>

***

## Example flow

<Steps>
  <Step title="Fetch yield metadata">
    Get required arguments and validator options.
  </Step>

  <Step title="Request enter action">
    Call the enter endpoint with yield ID and arguments.
  </Step>

  <Step title="Sign & submit">
    Execute ordered transactions using your signing infrastructure.
  </Step>

  <Step title="Track balances">
    Monitor position lifecycle and pending actions.
  </Step>
</Steps>

<CodeGroup>
  ```bash Get yield metadata theme={null}
  curl --request GET \
    --url https://api.yield.xyz/v1/yields/ethereum-matic-native-staking \
    --header 'accept: application/json' \
    --header 'x-api-key: <API_KEY>'
  ```

  ```bash Get validators theme={null}
  curl --request GET \
    --url https://api.yield.xyz/v1/yields/ethereum-matic-native-staking/validators \
    --header 'accept: application/json' \
    --header 'x-api-key: <API_KEY>'
  ```

  ```bash Enter staking position theme={null}
  curl --request POST \
    --url https://api.yield.xyz/v1/actions/enter \
    --header 'accept: application/json' \
    --header 'content-type: application/json' \
    --header 'x-api-key: <API_KEY>' \
    --data '{
      "yieldId": "ethereum-matic-native-staking",
      "address": "0xYOUR_ADDRESS",
      "arguments": {
        "amount": "100",
        "validatorAddress": "0xVALIDATOR"
      }
    }'
  ```
</CodeGroup>

***

## Operational notes

<AccordionGroup>
  <Accordion title="ETH staking provider selection">
    Different providers have different terms, fee structures, and SLAs. Consult your account team for institutional provider recommendations.
  </Accordion>

  <Accordion title="Validator selection (MATIC, GRT)">
    Use the validators endpoint to fetch available validators with performance metrics before staking.
  </Accordion>

  <Accordion title="APE NFT staking">
    NFT-based staking requires ownership of the corresponding NFT. Token IDs must be provided in the action arguments.
  </Accordion>

  <Accordion title="Shield recommendation">
    For institutional flows, validate unsigned transactions with [Shield](/documentation/shield-security/shield) before signing.
  </Accordion>
</AccordionGroup>

***

## See also

<CardGroup cols={2}>
  <Card title="Liquid Staking" href="/documentation/coverage/supported-yields/staking/liquid/lido">
    stETH, rETH
  </Card>

  <Card title="EVM Overview" href="/documentation/coverage/supported-yields/staking/evm/index">
    All EVM chains
  </Card>

  <Card title="API Reference" href="/api-reference/ActionsController_enterYield">
    Enter action endpoint
  </Card>
</CardGroup>
