> 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/ytoken-contract-methods/updateinterest.md).

# updateInterest

nat -> op(InterestRate.getBorrowRate) -> op(yToken.accrueInterest)

Updates interest rates for passed `tokenId` by call [`InterestRate`](/yupana-document-portal/developer-space/interestrate-contract.md) contract. Expect callback to [accrueInterest](/yupana-document-portal/developer-space/ytoken-contract-methods/accrueinterest.md).

{% hint style="warning" %}
This and [PriceFeed.getPrice](/yupana-document-portal/developer-space/pricefeed-contract/getprice.md) methods should be called **before** [Lending methods](/yupana-document-portal/developer-space/ytoken-contract-methods/lending-methods.md) call in the same block.
{% endhint %}

### Types

```pascaligo
type tokenId of nat // yToken tokenId related to market
```

### Usage

{% tabs %}
{% tab title="🌮   Taquito" %}

```typescript
const tokenId = 0; // or new BigNumber(0) or "0"
const yupana = await tezos.contract.at(yTokenAddress);
const operation = await yupana.methods.updateInterest(tokenId).send();
await operation.confirmation();
```

{% endtab %}

{% tab title="🐍   Pytezos" %}

```python
token_id = 0
yupana = ContractInterface.from_michelson(code) # or client.contract(contract_address)...
call = yupana.updateInterest(token_id)
opg = call.inject()
```

{% endtab %}
{% endtabs %}

### Errors

* `yToken/yToken-undefined` - token identifier is not assigned to any known yTokens.
* `yToken/cant-get-interestRate-contract(getBorrowRate)` - couldn't find `getBorrowRate` entrypoint of `interestRate` contact address.
