Chorus One

expand.network users can now stake with Chorus One's industry-recognized liquid staking program through the expand.network API.

Supported Chains

Currently only available on Ethereum Mainnet.

Available Endpoints:

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

  • /getapr GET - Retrieves the Chorus One staking APR on Ethereum.

  • /getrewards GET - Retrieves the daily rewards generated for a specified user.

  • /getstake GET -Retrieves the staked amount on Chorus One by a specified address.

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

  • /stake POST - Initiate a transaction to stake on Chorus One protocol.

  • /requestwithdrawal POST - Initiate a withdrawal request on Chorus One.

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

  • /mint POST - Initiate a transaction to mint osETH.

  • /burn POST - Initiate a transaction to burn osETH.

Also see Error Handling Details

Endpoint Details

/getapr

Retrieves the Chorus One staking APR on Ethereum.

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

Query Parameters

* indicates that a parameter is required

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId*

String

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

back to top

/getrewards

Retrieves the daily rewards generated for a specified user.

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

Query Parameters

* indicates that a parameter is required

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId*

String

address*

String

Public address of the user.

startBlock

String

Starting block of the range.

endBlock

String

Last block of the range.

back to top

https://api.expand.network/liquidstaking/getrewards?liquidStakingId=200&startBlock=20153440&endBlock=20183440&address=0xe55A8cFF86aBf88bfD89C81C287f14848bcf8542

back to top

/getstake

Retrieves the staked amount on Chorus One by a specified address.

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

Query Parameters

* indicates that a parameter is required

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId*

String

address*

String

Public address of the user.

https://api.expand.network/liquidstaking/getstake?liquidStakingId=200&address=0x02Fd5aBb1f77841827Bfb7cB19608Ec6488BEd08

back to top

/getwithdrawalrewards

Retrieves all withdrawal requests made by a specified address.

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

Query Parameters

* indicates that a parameter is required

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId*

String

address*

String

Public address of the user.

back to top

https://api.expand.network/liquidstaking/getwithdrawalrequests?liquidStakingId=200&address=0xe55A8cFF86aBf88bfD89C81C287f14848bcf8542

back to top

/stake

Initiate a transaction to stake on Chorus One protocol.

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

Request Body

* indicates that a parameter is required

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 token to stake.

gas*

String

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

gas priority

String

Low, medium, or high.

{
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "1000000",
    "liquidStakingId": "200",
    "gas": "8000000"
}

With Gas Priority

{
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "1000000",
    "liquidStakingId": "200",
    "gas": "8000000",
    "gasPriority": "high"
}

back to top

/requestwithdrawal

Initiate a withdrawal request on Chorus One.

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

Request Body

* indicates that a parameter is required

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 token to stake.

gas*

String

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

gas priority

String

Low, medium, or high.

{
    "liquidStakingId": "200",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "96291483622040504",
    "gas": "800000"
}

With Gas Priority

{
    "liquidStakingId": "200",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "96291483622040504",
    "gas": "800000",
    "gasPriority":"high"
}

back to top

/claim

Initiate a transaction to claim staked ETH after a withdrawal request.

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

Request Body

* indicates that a parameter is required

Name
Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId*

String

requestId*

String

Request Id which needs to be claimed.

amount*

String

Amount of token to stake.

gas*

String

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

gas priority

String

Low, medium, or high.

{
    "liquidStakingId": "200",
    "from": "0xe55A8cFF86aBf88bfD89C81C287f14848bcf8542",
    "requestId": "98632406130503281444",
    "gas": "800000"
}

With Gas Priority

{
    "liquidStakingId": "200",
    "from": "0xe55A8cFF86aBf88bfD89C81C287f14848bcf8542",
    "requestId": "98632406130503281444",
    "gas": "800000",
    "gasPriority":"high"
}

back to top

/mint

Initiate a transaction to mint osETH.

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

Request Body

* indicates that a parameter is required

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 token to stake.

gas*

String

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

gas priority

String

Low, medium, or high.

{
    "liquidStakingId": "200",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "1000000000",
    "gas": "800000"
}

With Gas Priority

{
    "liquidStakingId": "200",
    "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
    "amount": "1000000000",
    "gas": "800000",
    "gasPriority": "high"
}

back to top

/burn

Initiate a transaction to burn osETH.

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

Request Body

* indicates that a parameter is required

Type
Description

rpc

String

Remote procedural call URL.

liquidStakingId*

String

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.

gas priority

String

Low, medium, or high.


{
    "liquidStakingId": "200",
    "from": "0x02Fd5aBb1f77841827Bfb7cB19608Ec6488BEd08",
    "amount": "322",
    "gas": "12212"
}

With Gas Priority

{
    "liquidStakingId": "200",
    "from": "0x02Fd5aBb1f77841827Bfb7cB19608Ec6488BEd08",
    "amount": "322",
    "gas": "12212",
    "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