> For the complete documentation index, see [llms.txt](https://docs.expand.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.expand.network/integrations/liquid-staking/chorus-one.md).

# Chorus One

### Supported Chains

Currently only available on **Ethereum Mainnet.**

### Available Endpoints:

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

* [**/getapr**](#getapr) <mark style="color:blue;">`GET`</mark> - Retrieves the Chorus One staking APR on Ethereum.&#x20;
* [**/getrewards** ](#getrewards)<mark style="color:blue;">`GET`</mark> - Retrieves the daily rewards generated for a specified user.&#x20;
* [**/getstake**](#getstake) <mark style="color:blue;">`GET`</mark> -Retrieves the staked amount on Chorus One by a specified address.
* [**/getwithdrawalrewards** ](#getwithdrawalrewards)<mark style="color:blue;">`GET`</mark> - Retrieves all withdrawal requests made by a specified address.
* [**/stake**](#stake) <mark style="color:green;">`POST`</mark> - Initiate a transaction to stake on Chorus One protocol.
* [**/requestwithdrawal** ](#requestwithdrawal)<mark style="color:green;">`POST`</mark> - Initiate a withdrawal request on Chorus One.
* [**/claim**](#claim) <mark style="color:green;">`POST`</mark> - Initiate a transaction to claim staked ETH after a withdrawal request.
* [**/mint**](#mint) <mark style="color:green;">`POST`</mark> - Initiate a transaction to mint osETH.
* [**/burn**](#burn) <mark style="color:green;">`POST`</mark> - Initiate a transaction to burn osETH.

*Also see* [Error Handling Details](#error-handling-details)

## Endpoint Details

### /getapr

Retrieves the Chorus One staking APR on Ethereum.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/liquidstaking/getapr`

#### Query Parameters

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="165">Name</th><th width="89">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "timeUnix": "1719500639",
        "apr": "3.15",
        "blockNumber": "20183800"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /getrewards

Retrieves the daily rewards generated for a specified user.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/liquidstaking/getrewards`

#### Query Parameters

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="167">Name</th><th width="88">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>address<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the user.</td></tr><tr><td>startBlock</td><td>String</td><td>Starting block of the range.</td></tr><tr><td>endBlock</td><td>String</td><td>Last block of the range.</td></tr></tbody></table>

[back to top](#endpoints-available)

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "rewards": [
            {
                "date": "2024-06-23",
                "dailyRewards": "78270423519",
                "dailyRewardsUsd": "0.00",
                "totalRewards": "3118933237148"
            },
            {
                "date": "2024-06-24",
                "dailyRewards": "72961094648",
                "dailyRewardsUsd": "0.00",
                "totalRewards": "3191894331796"
            },
            {
                "date": "2024-06-25",
                "dailyRewards": "78893491914",
                "dailyRewardsUsd": "0.00",
                "totalRewards": "3270787823710"
            },
            {
                "date": "2024-06-26",
                "dailyRewards": "121456664801",
                "dailyRewardsUsd": "0.00",
                "totalRewards": "3392244488511"
            },
            {
                "date": "2024-06-27",
                "dailyRewards": "62772405193",
                "dailyRewardsUsd": "0.00",
                "totalRewards": "3455016893704"
            }
        ]
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /getstake

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

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/liquidstaking/getstake`

#### Query Parameters

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="172">Name</th><th width="104">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>address<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the user.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "shares": "3942275859061618"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#available-endpoints)

### /getwithdrawalrequests

Retrieves all withdrawal requests made by a specified address.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/liquidstaking/getwithdrawalrequests`

#### Query Parameters

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="170">Name</th><th width="84">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>address<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the user.</td></tr></tbody></table>

[back to top](#endpoints-available)

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "requests": [
            {
                "requestId": "98632406130503281444",
                "exitQueueIndex": "27",
                "timestamp": "1715854439",
                "totalShares": "983105391000569"
            }
        ]
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /stake

Initiate a transaction to stake on Chorus One protocol.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/liquidstaking/stake`

#### Request Body&#x20;

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="169">Name</th><th width="92">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>from<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the owner of this request.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>String</td><td>Amount of token to stake.</td></tr><tr><td>gas</td><td>String</td><td>Maximum gas limit provided by the sender, for the transaction.</td></tr><tr><td>gas priority</td><td>String</td><td>Low, medium, or high.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "1000000",
        "gas": "8000000",
        "data": "0xf9609f08000000000000000000000000dae2f6eddda6fb4fb60cc02633de27e2b431b402000000000000000000000000558d7be6092ca91da26521ac25b982d883218e2d",
        "referenceId": "e8277c39cec2444990fe0e92d2a25250"
    }
}
```

{% endtab %}
{% endtabs %}

#### With Gas Priority

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response " %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "1000000",
        "gas": "8000000",
        "data": "0xf9609f08000000000000000000000000dae2f6eddda6fb4fb60cc02633de27e2b431b402000000000000000000000000558d7be6092ca91da26521ac25b982d883218e2d",
        "gasPrice": "9162032058",
        "referenceId": "0a5e4f4e820c41f9b0b0e7ea4a35913d"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /requestwithdrawal

Initiate a withdrawal request on Chorus One.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/liquidstaking/requestwithdrawal`

#### Request Body

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="169">Name</th><th width="103">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>from<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the owner of this request.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>String</td><td>Amount of token to stake.</td></tr><tr><td>gas</td><td>String</td><td>Maximum gas limit provided by the sender, for the transaction.</td></tr><tr><td>gas priority</td><td>String</td><td>Low, medium, or high.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "gas": "800000",
        "data": "0x8ceab9aa000000000000000000000000000000000000000000000000015618981c2fe3b8000000000000000000000000dae2f6eddda6fb4fb60cc02633de27e2b431b402",
        "referenceId": "24f0b15e11ed4a448e2e37b31c1f87e0"
    }
}
```

{% endtab %}
{% endtabs %}

#### With Gas Priority

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "gas": "800000",
        "data": "0x8ceab9aa000000000000000000000000000000000000000000000000015618981c2fe3b8000000000000000000000000dae2f6eddda6fb4fb60cc02633de27e2b431b402",
        "gasPrice": "9162032058",
        "referenceId": "0685c1e49dd548f589fa9245c34e19c1"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /claim

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

<mark style="color:green;">`POST`</mark> `https://api.expand.network/liquidstaking/claim`

#### Request Body

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="176">Name</th><th width="90">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>requestId<mark style="color:red;">*</mark></td><td>String</td><td>Request Id which needs to be claimed.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>String</td><td>Amount of token to stake.</td></tr><tr><td>gas</td><td>String</td><td>Maximum gas limit provided by the sender, for the transaction.</td></tr><tr><td>gas priority</td><td>String</td><td>Low, medium, or high.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xe55A8cFF86aBf88bfD89C81C287f14848bcf8542",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "data": "0x8697d2c200000000000000000000000000000000000000000000000558ccb2cc7eb56b24000000000000000000000000000000000000000000000000000000006645dc67000000000000000000000000000000000000000000000000000000000000001b",
        "gas": "800000",
        "referenceId": "0e9a5ad94cb94402b162962b2bc125e2"
    }
}
```

{% endtab %}
{% endtabs %}

#### With Gas Priority

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xe55A8cFF86aBf88bfD89C81C287f14848bcf8542",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "data": "0x8697d2c200000000000000000000000000000000000000000000000558ccb2cc7eb56b24000000000000000000000000000000000000000000000000000000006645dc67000000000000000000000000000000000000000000000000000000000000001b",
        "gas": "800000",
        "gasPrice": "9368904020",
        "referenceId": "c09f8c096cbf491e981327800d261db3"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /mint

Initiate a transaction to mint osETH.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/liquidstaking/mint`

#### Request Body

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="166">Name</th><th width="86">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>from<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the owner of this request.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>String</td><td>Amount of token to stake.</td></tr><tr><td>gas</td><td>String</td><td>Maximum gas limit provided by the sender, for the transaction.</td></tr><tr><td>gas priority</td><td>String</td><td>Low, medium, or high.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "gas": "800000",
        "data": "0x201b9eb5000000000000000000000000dae2f6eddda6fb4fb60cc02633de27e2b431b402000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000558d7be6092ca91da26521ac25b982d883218e2d",
        "referenceId": "330fa401b85248dfb8c92a82e5d1aca6"
    }
}
```

{% endtab %}
{% endtabs %}

#### With Gas Priority

{% tabs %}
{% tab title="Sample Request" %}

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "gas": "800000",
        "data": "0x201b9eb5000000000000000000000000dae2f6eddda6fb4fb60cc02633de27e2b431b402000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000558d7be6092ca91da26521ac25b982d883218e2d",
        "gasPrice": "9255297146",
        "referenceId": "35d300ebd77b4b5a9c5863287ed0e59a"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### /burn

Initiate a transaction to burn osETH.

<mark style="color:green;">`POST`</mark> `https://api.expand.network/liquidstaking/burn`

#### Request Body

*<mark style="color:red;">\*</mark> indicates that a parameter is required*

<table><thead><tr><th width="169"></th><th width="115.66796875">Type</th><th>Description</th></tr></thead><tbody><tr><td>rpc</td><td>String</td><td>Remote procedural call URL.</td></tr><tr><td>liquidStakingId<mark style="color:red;">*</mark></td><td>String</td><td>Refer to the <a href="https://docs.expand.network/ids/liquid-staking-ids">Liquid Staking IDs</a> page for details.</td></tr><tr><td>from<mark style="color:red;">*</mark></td><td>String</td><td>Public address of the owner of this request.</td></tr><tr><td>amount<mark style="color:red;">*</mark></td><td>String</td><td>Amount of token to stake.</td></tr><tr><td>gas</td><td>String</td><td>Maximum gas limit provided by the sender, for the transaction.</td></tr><tr><td>gas priority</td><td>String</td><td>Low, medium, or high.</td></tr></tbody></table>

{% tabs %}
{% tab title="Sample Request" %}

```json

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

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0x02Fd5aBb1f77841827Bfb7cB19608Ec6488BEd08",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "gas": "12212",
        "data": "0x066055e00000000000000000000000000000000000000000000000000000000000000142",
        "referenceId": "a3ff2853fb204693bcba1d1a478e9164"
    }
}
```

{% endtab %}
{% endtabs %}

#### With Gas Priority

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "liquidStakingId": "200",
    "from": "0x02Fd5aBb1f77841827Bfb7cB19608Ec6488BEd08",
    "amount": "322",
    "gas": "12212",
    "gasPriority": "high"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "1",
        "from": "0x02Fd5aBb1f77841827Bfb7cB19608Ec6488BEd08",
        "to": "0xe6d8d8aC54461b1C5eD15740EEe322043F696C08",
        "value": "0",
        "gas": "12212",
        "data": "0x066055e00000000000000000000000000000000000000000000000000000000000000142",
        "gasPrice": "9209305466",
        "referenceId": "cebe1fb60da0467d8fab89bf2f1bd71d"
    }
}
```

{% endtab %}
{% endtabs %}

[back to top](#endpoints-available)

### Error Handling Details

<table><thead><tr><th width="253">Error</th><th>Description</th></tr></thead><tbody><tr><td>400 (Bad Request)</td><td>Indicates the request is invalid or missing the required parameters. The msg field will contain details about the error.</td></tr><tr><td>401 (Unauthorised)</td><td>Indicates the request lacks valid authentication credentials (API key). Ensure that you provide a valid API key in the request headers.</td></tr><tr><td>404 (Not Found)</td><td>Indicates that the specified endpoint or resource does not exist.</td></tr><tr><td>500 (Server Error)</td><td>Indicates an internal server error.</td></tr></tbody></table>

[back to top](#available-endpoints)
