EigenLayer

Supported Chains

Available on Ethereum mainnet and testnet

Available Endpoints:

Click on the endpoint to jump to the section with full details

  • /getstake GET -Get the stake amount for a particular address.

  • /restake POST - Initiate a transaction to restake on EigenLayer protocol.

  • /requestwithdrawal POST - Initiate a withdrawal request on EigenLayer.

  • /claim POST - Initiate a transaction to claim restaked token after a withdrawal request.

  • /delegate POST - Initiate a transaction to delegate the staked assets on EigenLayer.

  • /undelegate POST - Initiate a transaction to undelegate the staked assets on the EigenLayer.

Also see Error Handling Details

Liquid Staking IDs

Many endpoints have a parameter where you can provide a Liquid Staking ID.

Below is a list of Liquid Staking IDs related to the EigenLayer. Please see the Liquid Staking ID page for a complete Liquid Staking ID list and more information.

Liquid Staking Name
Chain
Liquid Staking ID

EigenLayer

Ethereum

3

EigenLayer

Ethereum Holesky Testnet

17000

Endpoint Details

/getstake

Get the stake amount for a particular address.

GET https://api.expand.network/liquidstaking/getstake

Query Parameters

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId

String

address*

String

Public address of the user.

https://api.expand.network/liquidstaking/getstake?address=0x7358cE33f7C3361A66d644A95603983adF16D722&liquidStakingId=3

back to top

/restake

Initiate a transaction to restake on EigenLayer.

POST https://api.expand.network/liquidstaking/restake

Request Body

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId

String

from*

String

Public address of the owner of this request.

token*

String

Staked token name for restake.

gas*

String

Maximum gas limit provided by the sender, for the transaction.

gasPriority

String

low, medium, or high.

{
   "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
   "amount": "100000000000000",
   "liquidStakingId": "3",
   "gas": "8000000",
   "gasPriority": "high",
   "token":"sTETH"
}

back to top

/delegate

Initiate a transaction to delegate the staked assets on EigenLayer.

POST https://api.expand.network/liquidstaking/delegate

Request Body

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId

String

from*

String

Public address of the owner of this request.

delegateTo*

String

The operator contract address to which the user wants to delegate

gas*

String

Maximum gas limit provided by the sender, for the transaction.

gasPriority

String

low, medium, or high.

{
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "delegateTo": "0xdbed88d83176316fc46797b43adee927dc2ff2f5",
    "liquidStakingId": "3",
    "gas": "80000",
    "gasPriority": "low"
}

back to top

/undelegate

Initiate a transaction to undelegate the staked assets on the Eigen Layer.

POST https://api.expand.network/liquidstaking/undelegate

Request Body

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId

String

from*

String

Public address of the owner of this request.

gas*

String

Maximum gas limit provided by the sender, for the transaction.

gasPriority

String

low, medium, or high.

{
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "liquidStakingId": "3",
    "gas": "80000"
}

back to top

/requestwithdrawal

Initiate a transaction to request a withdrawal on EigenLayer.

POST https://api.expand.network/liquidstaking/requestwithdrawal

Request Body

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId

String

from*

String

Public address of the owner of this request.

amount*

String

Amount of tokens to request withdrawal.

token*

String

Staked token name.

gas*

String

Maximum gas limit provided by the sender, for the transaction.

gasPriority

String

low, medium, or high.

{
    "liquidStakingId": "3",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "15630524642139",
    "gas": "800000",
    "gasPriority": "high",
    "token": "sTETH"
}

back to top

/claim

Initiate a transaction to claim the rewards.

POST https://api.expand.network/liquidstaking/claim

Request Body

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId

String

from*

String

Public address of the owner of this request.

amount*

String

Amount of tokens to claim.

token*

String

Staked token name.

gas*

String

Maximum gas limit provided by the sender, for the transaction.

gasPriority

String

low, medium, or high.

{
   "liquidStakingId": "3",
   "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
   "amount": "1236",
   "token": "sTETH",
   "gas": "800000",
   "gasPriority": "high"
}

back to top

Error Handling Details

Error
Description

400 (Bad Request)

Indicates the request is invalid or missing the required parameters. The msg field will contain details about the error.

401 (Unauthorised)

Indicates the request lacks valid authentication credentials (API key). Ensure that you provide a valid API key in the request headers.

404 (Not Found)

Indicates that the specified endpoint or resource does not exist.

500 (Server Error)

Indicates an internal server error.

back to top

Last updated