Stader

Supported Chains

Available on Ethereum, Binance and Polygon

Available Endpoints:

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

  • /getapr GET - Get the Stader staking APR.

  • /getrewards GET - Get the initial staked amount and current staked value by a specified user address.

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

  • /getwithdrawalrequests GET - Retrieves all withdrawal requests made by a specified address.

  • /getwithdrawalstatusGET - Get the status of a withdrawal request made by a specified address.

  • /getallowanceGET - Get the approved allowance amount set by the owner for the spender.

  • /Stake POST - Initiate a transaction to stake on Stader protocol.

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

  • /approvewithdrawal POST - Initiate a transaction to approve the withdrawal request from a specified address.

  • /claim POST - Initiate a transaction to claim staked ETH after a withdrawal request.

  • /decreaseallowance POST - Initiate a transaction to decrease the allowance of staked token on the spender’s account.

  • /increaseallowance POST - Initiate a transaction to increase the allowance of staked token on the spender’s account.

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 Stader. Please see the Liquid Staking ID page for a complete Liquid Staking ID list and more information.

Liquid Staking NameChainLiquid Staking ID

Stader

Ethereum

2

Stader

Binance

56

Stader

Polygon

137

Stader

Binance Testnet

97

Endpoint Details

/getapr

Get the Stader staking APR.

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

Query Parameters

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

https://api.expand.network/liquidstaking/getapr?liquidStakingId=2

back to top

/getrewards

Get the initial staked amount and current staked value by a specified user address.

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

Query Parameters

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

address*

String

Public address of the user.

https://api.expand.network/liquidstaking/getrewards?address=0x40B38765696e3d5d8d9d834D8AaD4bB6e418E489&liquidStakingId=2

back to top

/getstake

Get the stake amount for a particular address.

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

Query Parameters

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

address*

String

Public address of the user.

https://api.expand.network/liquidstaking/getstake?address=0xAB06ef1d486721a83C94B30B58ab9E28c5a1049D&liquidStakingId=2

back to top

/getwithdrawalrequests

Get all the withdrawal requests(NFT ids) made by a specified address.

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

Query Parameters

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

address*

String

Public address of the user.

https://api.expand.network/liquidstaking/getwithdrawalrequests?liquidStakingId=2&address=0x2Dce7632866E1C795e5644d30173d18b1DfAa71a

back to top

/getwithdrawalstatus

Get the status of a withdrawal request made by a specified address.

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

Query Parameters

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

address*

String

The address of user

requestId*

String

The token id of NFT , which is minted upon request, to claim the rewards.

https://api.expand.network/liquidstaking/getwithdrawalstatus?liquidStakingId=2&requestId=1973&address=0xAB06ef1d486721a83C94B30B58ab9E28c5a1049D

back to top

/getallowance

Get the approved allowance amount set by the owner for the spender.

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

Query Parameters

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

owner*

String

Public address of the owner of token.

tokenAddress*

String

Token contract address.

spender*

String

Public address of the spender of token.

https://api.expand.network/liquidstaking/getallowance?owner=0x49eb67E250513FAb9506190ed023F12A214D1a74&liquidStakingId=2&tokenAddress=0xA35b1B31Ce002FBF2058D22F30f95D405200A15b&spender=0x9f0491b32dbce587c50c4c43ab303b06478193a7

back to top

/stake

Initiate a transaction to stake on Stader.

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

Request Body

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

from*

String

Public address of the owner of this request.

amount*

String

Amount of token to stake.

gas*

String

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

gasPriority

String

low, medium, or high.

{
    "amount": "1000000000000000000",
    "liquidStakingId": "2",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "40000"
}

With gasPriority:

{
    "amount": "1000000000000000000",
    "liquidStakingId": "2",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "40000",
    "gasPriority": "low"
}

back to top

/increaseallowance

Initiate a transaction to increase the allowance of staked token on the spender’s account.

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

Request Body

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

from*

String

Public address of the owner of this request.

tokenAddress*

String

Token contract address.

spender*

String

Address of spender.

addedAmount*

String

Amount of tokens to increase allowance.

gas*

String

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

gasPriority

String

low, medium, or high.

{
    "liquidStakingId": "2",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "400000",
    "addedAmount": "100000",
    "spender": "0xcf5EA1b38380f6aF39068375516Daf40Ed70D299",
    "tokenAddress": "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b",
    "gasPriority":"low"
}

With gasPriority:

{
    "liquidStakingId": "2",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "400000",
    "addedAmount": "100000",
    "spender": "0xcf5EA1b38380f6aF39068375516Daf40Ed70D299",
    "tokenAddress": "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b",
    "gasPriority":"low"
}

back to top

/decreaseallowance

Initiate a transaction to decrease the allowance of staked token on the spender’s account.

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

Request Body

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

from*

String

Public address of the owner of this request.

tokenAddress*

String

Token contract address.

spender*

String

Address of spender.

subtractedAmount*

String

Amount of tokens to decrease allowance.

gas*

String

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

gasPriority

String

low, medium, or high.

{
    "liquidStakingId": "2",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "400000",
    "subtractedAmount": "100000",
    "spender": "0xcf5EA1b38380f6aF39068375516Daf40Ed70D299",
    "tokenAddress": "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b"
}

With gasPriority:

{
    "liquidStakingId": "2",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "400000",
    "subtractedAmount": "100000",
    "spender": "0xcf5EA1b38380f6aF39068375516Daf40Ed70D299",
    "tokenAddress": "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b",
    "gasPriority":"low"
}

back to top

/approvewithdrawal

Initiate a transaction to approve the withdrawal request from a specified address.

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

Request Body

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

from*

String

Public address of the owner of this request.

amount*

String

Amount of tokens to approve withdrawal.

gas*

String

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

gasPriority

String

low, medium, or high.

{
    "liquidStakingId": "2",
    "amount": "10000",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "gas": "400000"
}

With gasPriority:

{
    "liquidStakingId": "2",
    "amount": "10000",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "gas": "400000",
    "gasPriority": "low"
}

back to top

/requestwithdrawal

Initiate a transaction to request a withdrawal on Stader.

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

Request Body

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

from*

String

Public address of the owner of this request.

amount*

String

Amount of tokens to request withdrawal.

ownerAddress*

String

Public address of the owner.

gas*

String

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

gasPriority

String

low, medium, or high.

{
    "liquidStakingId": "2",
    "amount": "1000000000000000000",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "400000"
}

With gasPriority:

{
    "liquidStakingId": "2",
    "amount": "1000000000000000000",
    "from": "0x9f0ff6eCef671200447604c19D72228a170BC21c",
    "gas": "400000",
    "gasPriority": "low"
}

back to top

/claim

Initiate a transaction to burn the NFT, which is minted upon request, and to claim the rewards.

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

Request Body

NameTypeDescription

rpc

String

Remote procedural call URL.

liquidStakingId

String

Refer to the Liquid Staking Id page for details.

from*

String

Public address of the owner of this request.

requestId*

String

The token id of NFT , which is minted upon request, to claim the rewards.

gas*

String

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

gasPriority

String

low, medium, or high.

{
    "liquidStakingId": "2",
    "requestId": "2130",
    "from": "0x2Dce7632866E1C795e5644d30173d18b1DfAa71a",
    "gas": "400000"
}

With gasPriority:

{
    "liquidStakingId": "2",
    "requestId": "2130",
    "from": "0x2Dce7632866E1C795e5644d30173d18b1DfAa71a",
    "gasPriority": "low",
    "gas": "400000"
}

back to top

Error Handling Details

ErrorDescription

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