> For the complete documentation index, see [llms.txt](https://yupana-finance.gitbook.io/yupana-document-portal/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yupana-finance.gitbook.io/yupana-document-portal/developer-space/interestrate-contract.md).

# InterestRate contract

This contract implements InterestRateModel logic and provides methods to calculate supply, borrow, utilization rate.

### Common usage

Common usage is to call view with needed params of type `rateParams` where callback is contract entrypoint that receives [`yAssetParams`](/yupana-document-portal/developer-space/ytoken-contract-methods/lending-methods.md#types).

```pascaligo
type rateParams         is [@layout:comb] record [
  tokenId               : nat;
  borrowsF              : nat;
  cashF                 : nat;
  reservesF             : nat;
  precision             : nat;
  reserveFactorF        : nat;
  callback              : contract(yAssetParams);
]
```

{% hint style="info" %}
`varF` params multiplied by `precision`

also, `amount` returned to callback is multiplied by `precision.`
{% endhint %}

{% content-ref url="/pages/oYg3JDUMGsyR8LhD3wA5" %}
[On-chain views](/yupana-document-portal/developer-space/interestrate-contract/on-chain-views.md)
{% endcontent-ref %}

For `admin` methods, please look

{% content-ref url="/pages/ycTIw9vQnfLnkOFSPLGZ" %}
[Admin methods](/yupana-document-portal/developer-space/interestrate-contract/admin-methods.md)
{% endcontent-ref %}
