CIAN Yield Layer Tech Docs

Base URL:

GET https://yieldlayer.cian.app/{chain_name}/pool

Supported {chain_name} values:

  • ethereum

  • arbitrum

Overview

Each vault is an ERC4626 vault. The underlying asset can be retrieved using the asset() function.

1. Chain Vaults List

Endpoint:

/home/vaults

Description:

Retrieve the list of all vaults on the specified chain.

Example:

Response Fields:

  • tvl_usd: The TVL in USD after leverage.

  • net_tvl_usd: The TVL in USD users deposited.

  • apy_7: 7-day average APY, divided into:

    • apy_instant_7: Reflected in receipt token prices.

    • apy_esti_by_points_7: Estimated APY from points earned.

    • apy_eco_earn_7: Ecosystem-specific APY (e.g., stETH Yield Layer).

    • CIAN POINTS ARE NOT CALCULATED.

Return:

{
    "code": "ok",
    "status": 0,
    "msg": "server response ok",
    "data": [
        {
            "chain_id": 1,
            "pool_name": "stETH Yield Layer",
            "pool_address": "0xB13aa2d0345b0439b064f26B82D8dCf3f508775d",
            "pool_type": "yield-layer",
            "apy": "22.5235",
            "apy_7": "22.5235",
            "apy_instant_7": "8.5235",
            "apy_esti_by_points_7": "4",
            "apy_eco_earn_7": "10",
            "tvl_usd": "392058499.97",
            "net_tvl_usd": "66076130.15"
        },
        ...
    ]
}

2. Vault Config

Endpoint:

/home/vault/:vault_address

Description:

Retrieve configuration details for a specific vault.

Example:

https://yieldlayer.cian.app/ethereum/pool/home/vault/0xB13aa2d0345b0439b064f26B82D8dCf3f508775d

Response Fields:

  • fee_info.exit: Exit fee, 0.02 for 0.02%

  • fee_info.performance: Performance fee, 8 for 8%

  • conf.min_deposit & conf.min_withdraw: Minimum deposit/withdrawal limits (applicable only on Cian's frontend).

{
    "code": "ok",
    "status": 0,
    "msg": "server response ok",
    "data": {
        "chain_id": 1,
        "pool_name": "stETH Yield Layer",
        "pool_address": "0xB13aa2d0345b0439b064f26B82D8dCf3f508775d",
        "pool_type": "yield-layer",
        "created_at": "2024-06-12T15:00:21Z",
        "deposit_capacity": "125000",
        "apy": "22.5235",
        "apy_7": "22.5235",
        "apy_instant_7": "8.5235",
        "apy_esti_by_points_7": "4",
        "tvl": "39807.664984646",
        "tvlUsd": "95920581.860476976",
        "fee_info": {
            "exit": "0.02",
            "performance": "8",
            "management": "0",
            "reserve_fund": "0"
        },
        "conf": {
            "gas_limit": "1500000",
            "min_deposit": "0.05",
            "min_withdraw": "0.05",
            "safety_level": "4"
        }
    }
}
 

3. Vault Tvls Info

Endpoint:

/home/vault/tvl/:vault_address

Description:

Retrieve TVL and related statistics for a specific vault.

Example:

https://yieldlayer.cian.app/ethereum/pool/home/vault/tvl/0xB13aa2d0345b0439b064f26B82D8dCf3f508775d

Response Fields:

  • tvl_base: Vault's asset (ERC4626 asset(), e.g., WETH for stETH Yield Layer; FBTC for FBTC Yield Layer) TVL after leverage.

  • points_accumulated: The points earned by this vault.

For some protocols, points will be distributed directly to the users and we do not receive the points.

{
    "code": "ok",
    "status": 0,
    "msg": "server response ok",
    "data": {
        "id": 21179,
        "vault_address": "0xB13aa2d0345b0439b064f26B82D8dCf3f508775d",
        "time": "2024-10-11T08:01:31Z",
        "tvl_usd": "95920581.860476976",
        "tvl_base": "39807.664984646",
        "tvl_eth": "39807.664984646",
        "net_tvl_usd": "11433655.689450938",
        "net_tvl_base": "4745.041433313",
        "net_tvl_eth": "4745.041433313",
        "points_accumulated": {
            "cian": {
                "vault_history_earned": "287800",
                "vault_balance": "287800",
                "transferred_to_user": "0",
                "difference": "0"
            },
            "mellow": {
                "vault_history_earned": "39464.873",
                "vault_balance": "39464.873",
                "transferred_to_user": "0",
                "difference": "21.777"
            },
            "symbiotic": {
                "vault_history_earned": "39464.8733641944",
                "vault_balance": "39464.8733641944",
                "transferred_to_user": "0",
                "difference": "21.7769288103"
            }
        }
    }
}

4. User Info

Endpoint:

/home/vault/user/:vault_address

Params:

param

type

required

user_address

string

Yes

Description:

Retrieve user-specific information for a vault.

Example:

https://yieldlayer.cian.app/ethereum/pool/home/vault/user/0xB13aa2d0345b0439b064f26B82D8dCf3f508775d?user_address=0x427BBA37B4E6486B2de3b4678844EDf1909eA56B

Response Fields:

  • principal: User’s deposited amount.

  • assets: Current assets owned by the user.

  • earnings: User’s earnings in the vault.

  • points: Points earned by the user.

{
    "code": "ok",
    "status": 0,
    "msg": "server response ok",
    "data": {
        "total_supply": "4696.341398469461731647",
        "vault_net_assets": "4742.674286984195394669",
        "user_shares": "1994.27561111999753851",
        "user_weight": "0.4246445140827991",
        "principal": {
            "asset": "2000",
            "usd": "4614740",
            "eth": "2000"
        },
        "assets": {
            "asset": "2013.950618049",
            "usd": "4862445.919712259",
            "eth": "2013.950618049"
        },
        "earnings": {
            "asset": "13.950618049",
            "usd": "247705.919712259",
            "eth": "13.950618049"
        },
        "points": {
            "cian": {
                "history": "113051.20245037841914",
                "balance": "113051.20245037841914",
                "claimed": "0"
            },
            "mellow": {
                "history": "8828.5857861136639136218",
                "balance": "8828.5857861136639136218",
                "claimed": "0"
            },
            "symbiotic": {
                "history": "8828.58629611259937396226190871",
                "balance": "8828.58629611259937396226190871",
                "claimed": "0"
            }
        }
    }
}

5. Vault History

Endpoint:

/home/vault/history/:vault_address

Params:

param

type

required

Default

limit

int

No

100

Description:

Retrieve the historical data of a vault, including TVL, APY, and holders list in hour basis.

Example:

https://yieldlayer.cian.app/ethereum/pool/home/vault/history/0xB13aa2d0345b0439b064f26B82D8dCf3f508775d

Response Fields:

Return the vault history for every hour, including tvl, apy and all holders list.

  • holders[i].amount: The receipt token user holds.

  • holders[i].weight: The ratio user takes in the whole vault.

{
    "code": "ok",
    "status": 0,
    "msg": "server response ok",
    "data": [
        {
            "vault_address": "0xB13aa2d0345b0439b064f26B82D8dCf3f508775d",
            "timestamp": 1733119200,
            "tvl_usd": "411559654.94007585",
            "tvl_base": "111906.500224345",
            "net_tvl_usd": "70622027.170377447",
            "net_tvl_base": "19202.717770128",
            "apy": "14.626845842",
            "apy_theoretic": "14.280446129",
            "total_supply": "19753.615235941726521928",
            "holders": [
                {
                    "address": "0xD126DD36d66F02C738395d94F5e10467c29A4c66",
                    "amount": "0.277487519480792635",
                    "weight": "0.0000140474296055"
                },
                {
                    "address": "0x83b27107441800E511dAA32DcF4ad11D95C95298",
                    "amount": "1.830340935482094906",
                    "weight": "0.0000926585292677"
                },
                ...
            ]
        },
        ...
    ]
}

Cian Yield Layer ABI

Deposit

optionalDeposit(address _token, uint256 _assets, address _receiver, address _referral) returns (uint256 _shares)

Before calling this function, user should approve the contract to spend the token (token can be WBTC / FBTC / pumpBTC).

Example:

optionalDeposit(WBTC, 1e8, UserAddress, ReferralAddress) Means UserAddress deposits 1 WBTC to the vault, and ReferralAddress gets the referral fee.

Return:

_shares: The amount of shares user gets.

Also emits event: OptionalDeposit(msg.sender, _token, _assets, _receiver, _referral)

Withdraw

requestRedeem(uint256 _shares)

Will transfer the assets from the user's address to redeemer address, and request to redeem the shares to tokens.

Example:

requestRedeem(1e8) Means user wants to redeem 1 shares.

Last updated

Was this helpful?