# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.expand.network/integrations/liquid-staking/chorus-one.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
