Liquid Restaking (LRT)

Liquid Restaking Service Integration Guide

  1. Schema Endpoint Structure

  2. Get the right asset & provider slug

  3. Example Endpoint Structure


To integrate your liquid staking services into stakingrewards.com, follow the structure defined below for the Provider object:

  1. Schema Endpoint Structure

{
  "name": string; // The name of your protocol.
  "totalUsers": number; // (Optional) Total number of individual wallets holding the LST.
  "totalBalanceUsd": number; // (Optional) The total balance held in USD.
  "supportedAssets": [ // Array of the asset(s) your service supports.
    {
      "contractAddress": string; // On-Chain contract of the LRT.
      "symbol": string; // The symbol of the LRT.
      "slug": string; // The LRT slug (Coingecko ID or learn more below).
      "baseSlug": string; // The slug of the base asset - input asset for your LRT.
      "supply": number; // The total token supply of the LRT.
      "apr": number; // Annual percentage rate for staking on this chain.
      "fee": number; // Fee percentage for staking services.
      "users": number; // Number of individual wallets holding the LST.
      "unstakingTime": number; // Time in seconds to unbond - not exchanging!
      "exchangeRatio": number; // Ratio of the base asset to LST.
      "validators": number; // (Optional) Number of validators.
      "pointsBreakdown": [ // (Optional) Points on top of the APR.
            {
            "name": string;
            }
          ]
      "nodeOperators": number; // (Optional) Number of node operators.
      "nodeOperatorBreakdown": [ // (Optional) Array of Node operators.
        {
          "operatorSlug": string; // the slug of the provider, more info below.
          "balance": number; // token balance of the base asset validated by this operator.
          "fee": number; // Fee percentage the operator gets.
          "validators": number; // (Optional) Number of validators this operator runs for you.
          "validatorBreakdown": [ // (Optional) Array of Addresses for this operator.
         {
             "address": string; // validator address
             "balance": number; // validator token balance
             }
           ]
         }
       ];
      "avsBreakdown": [ // (Optional) Array of Activly Validated Services.
        {
        "name": string; // the name of the AVS.
        "balance": number; // LRTs restaked on this AVS.
        "apr" : number; // additional APR for your LRT.
     }
   ]
  }
}

The more detailed your breakdown is, the more data we can display on your provider profiles and the respective asset profiles.


2. Requesting Staking Rewards Asset and Operator Slugs

To request slugs for your assets and provider, complete the following steps:

  1. Prepare a list of the assets supported by your liquid staking service.

  2. Note down any specific chain details for each asset, such as APR and fees.

  3. Contact the Staking Rewards team with details of your operation.

The Staking Rewards team will guide you through the process of acquiring your slugs and assist with any queries you may have concerning the integration.

Staking Rewards Asset and Provider slugs can be requested here:


  1. Example Endpoint Schema

{
  "name": "Ether.fi",
  "totalUsers": 3205,
  "totalBalanceUsd": 30000000000,
  "supportedAssets": [
    {
      "contractAddress": "0xcDd374F491fBF3f4FcF6E9023c99043774005137",
      "symbol": "eETH", 
      "slug": "ether-fi-staked-eth", // i.e.eETH
      "baseSlug": "staked-ether", // i.e. stETH
      "supply": 100000, // LST balance
      "apr": 3.7, // in %
      "fee": 10, // in %
      "users": 500,
      "unstakingTime": 86400, // it takes 1d to unstake
      "exchangeRatio": 1.12, // conversion from LST to ETH
      "validators": 120000, // (Optional)
      "pointsBreakdown": [ // (Optional) 
            {
            "name": "Eigenlayer"
            }
          ]
      "nodeOperators": 34, // (Optional)
      "nodeOperatorBreakdown": [ // (Optional)
        {
          "operatorSlug": "everstake",
          "validators": 1,
          "balance": 32.1,
          "fee": 5,
          "validatorBreakdown": [ // (Optional)
            {
              "address": "0xf82ac5937a20dc862f9bc0668779031e06000f17", // deposit address for eth validators
              "balance": 32.1
            } 
          ] 
        }, 
        {
          "operatorSlug": "allnodes",
          "validators": 13000,
          "balance": 2222,
          "fee": 5
        }
      ],
      "avsBreakdown": [
        {
        "name": "EigenDA", 
        "balance": 133000, 
        "apr": 0.2 // in %
     }
   ]
 }
}

The API provided must be updated with the latest data at least every 24 hours.

Last updated