# Get Reserve Details

Along with lending and borrowing, you can also get all the details of a <mark style="color:yellow;">reserve</mark>such as liquidity, token vault, supply details, token mint by querying the <mark style="color:yellow;">kamino\_lending\_Reserve</mark> account.

{% hint style="info" %}
'<mark style="color:yellow;">`liquidity`</mark><mark style="color:yellow;">.</mark><mark style="color:yellow;">`mintPubkey`</mark>' field in the response is the asset being borrowed or deposited.
{% endhint %}

You can directly copy paste this code on <mark style="color:yellow;">replit</mark> and see it in action.

{% tabs %}
{% tab title="Code Snippet" %}
{% code overflow="wrap" %}

```typescript
async function fetchReserve(ownerAddress: string) {
  //get Reserve details using graphQl
  const operationsDoc = `
      query MyQuery {
        kamino_lending_Reserve(
          where: {pubkey: {_eq: ${JSON.stringify(ownerAddress)}}}
        ) {
          version
          pubkey
          liquidity
          lendingMarket
          lastUpdate
          farmDebt
          farmCollateral
          config
          collateral
        }
      }
    `; //graphQl query
  const result = await fetch(
    `https://programs.shyft.to/v0/graphql/accounts?api_key=${SHYFT_API_KEY}&network=mainnet-beta`,
    {
      method: "POST",
      body: JSON.stringify({
        query: operationsDoc,
        variables: {},
        operationName: "MyQuery",
      }),
    }
  );

  return await result.json();
}

async function getData(address: string) {
  const { errors, data } = await fetchReserve(address);
  
  if (errors) {
    console.error(errors);
  }
  
  console.log(JSON.stringify(data)); //can process this json data received
}

getData("d4A2prbA2whesmvHaL88BH6Ewn5N4bTSU2Ze8P6Bc4Q"); //Sol reserve pubkey
```

{% endcode %}
{% endtab %}

{% tab title="Response" %}
{% code overflow="wrap" %}

```json
{
  "data": {
    "kamino_lending_Reserve": [
      {
        "version": 1,
        "pubkey": "d4A2prbA2whesmvHaL88BH6Ewn5N4bTSU2Ze8P6Bc4Q",
        "liquidity": {
          "feeVault": "3JNof8s453bwG5UqiXBLJc77NRQXezYYEBbk3fqnoKph",
          "padding2": ["0","0",........,"0"],
          "padding3": ["0","0",........,"0"],
          "mintPubkey": "So11111111111111111111111111111111111111112",
          "supplyVault": "GafNuUXj9rxGLn4y79dPu6MHSuPWeJR6UtTWuexpGh3U",
          "mintDecimals": "9",
          "marketPriceSf": "169361229457373169834",
          "availableAmount": "428397256179909",
          "borrowedAmountSf": "2121954685875591924683727790124067",
          "pendingReferrerFeesSf": "0",
          "absoluteReferralRateSf": "0",
          "borrowLimitCrossedSlot": "0",
          "cumulativeBorrowRateBsf": {
            "value": [
              "1182285425920196391",
              "0",
              "0",
              "0"
            ],
            "padding": ["0","0"]
          },
          "depositLimitCrossedSlot": "0",
          "marketPriceLastUpdatedTs": "1710187851",
          "accumulatedProtocolFeesSf": "1988941492729562089608054331169",
          "accumulatedReferrerFeesSf": "0"
        },
        "lendingMarket": "7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF",
        "lastUpdate": {
          "slot": "253571973",
          "stale": 1,
          "placeholder": [ 0,0,0,0,0]
        },
        "farmDebt": "11111111111111111111111111111111",
        "farmCollateral": "955xWFhSDcDiUgUr4sBRtCpTLiMd4H5uZLAmgtP3R3sX",
        "config": {
          "fees": {
            "padding": ["0","0",........,"0"],
            "borrowFeeSf": "0",
            "flashLoanFeeSf": "0"
          },
          "status": 0,
          "assetTier": 0,
          "reserved0": [
            0,
            0
          ],
          "reserved1": [
            0,
            0,
            0,
            0
          ],
          "tokenInfo": {
            "name": [83,79,76,0,0,0,0,0,0,0,0], 
            "padding": ["0","0",........,"0"],
            "heuristic": {
              "exp": "0",
              "lower": "0",
              "upper": "0"
            },
            "maxAgeTwapSeconds": "120",
            "pythConfiguration": {
              "price": "H6ARHf6YXhGYeQfUzQNGk6rDNnLBQKrenN712K4AQJEG"
            },
            "maxAgePriceSeconds": "120",
            "scopeConfiguration": {
              "priceFeed": "3NJYftD5sjVfxSnUdZ1wVML8f3aC6mp1CXCL6L7TnU8C",
              "twapChain": [
                52,
                65535,
                65535,
                65535
              ],
              "priceChain": [
                0,
                65535,
                65535,
                65535
              ]
            },
            "maxTwapDivergenceBps": "4000",
            "switchboardConfiguration": {
              "twapAggregator": "11111111111111111111111111111111",
              "priceAggregator": "11111111111111111111111111111111"
            }
          },
          "borrowLimit": "2400000000000000",
          "depositLimit": "3000000000000000",
          "loanToValuePct": 65,
          "borrowFactorPct": "125",
          "borrowRateCurve": {
            "points": [
              {
                "borrowRateBps": 1,
                "utilizationRateBps": 0
              },
              {
                "borrowRateBps": 600,
                "utilizationRateBps": 8000
              },
              //shortened
            ]
          },
          "elevationGroups": [
            2,
            0
          ],
          "debtWithdrawalCap": {
            "currentTotal": "8693233288978",
            "configCapacity": "200000000000000",
            "lastIntervalStartTimestamp": "1710175500",
            "configIntervalLengthSeconds": "86400"
          },
          "multiplierTagBoost": [
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1
          ],
          "multiplierSideBoost": [
            1,
            1
          ],
          "protocolTakeRatePct": 11,
          "depositWithdrawalCap": {
            "currentTotal": "-32000776568607",
            "configCapacity": "200000000000000",
            "lastIntervalStartTimestamp": "1710168978",
            "configIntervalLengthSeconds": "86400"
          },
          "maxLiquidationBonusBps": 1000,
          "minLiquidationBonusBps": 200,
          "liquidationThresholdPct": 75,
          "protocolLiquidationFeePct": 50,
          "badDebtLiquidationBonusBps": 99,
          "deleveragingMarginCallPeriodSecs": "604800",
          "deleveragingThresholdSlotsPerBps": "7200"
        },
        "collateral": {
          "padding1": ["0","0",........,"0"],
          "padding2": ["0","0",........,"0"]],
          "mintPubkey": "2UywZrUdyqs5vDchy7fKQJKau2RVyuzBev2XKGPDSiX1",
          "supplyVault": "8NXMyRD91p3nof61BTkJvrfpGTASHygz1cUvc3HvwyGS",
          "mintTotalSupply": "2231631680135284"
        }
      }
    ]
  }
} //response shortened in some places, please make a request to get actual data
```

{% endcode %}
{% endtab %}
{% endtabs %}

The <mark style="color:yellow;">liquidity</mark> field returned in the response contains all the liquidity details of the asset in the reserve.&#x20;

* `mintPubkey` : the mint address of the asset in the reserve.
* `supplyVault` : Whenever users add their assets to liquidity pool, they are usually contributing to an account called the supply vault. This field contains the supply vault address for that particular reserve.
* `feeVault` : Fee Vault contains the fees generated by the trading activities. This field denotes the address of the fee vault for that particular reserve.
* `mintDecimals` : Decimals for the liquidity or token associated with the reserve.
* `availableAmount` : Amount of liquidity available in the reserve.
* `borrowedAmountSf` : Amount of liquidity borrowed from the reserve.
