> For the complete documentation index, see [llms.txt](https://docs.kuma.bond/kuma-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kuma.bond/kuma-protocol/developers/smart-contract-architecture/kuma-interest-bearing-token-kibt/erc-20-compliance-and-updates.md).

# ERC-20 Compliance and Updates

#### ERC-20 Compliance and Updates

All standard [EIP-20](https://eips.ethereum.org/EIPS/eip-20) methods are implemented for KIBT, such as `balanceOf`, `transfer`, `transferFrom`, `approve`, `totalSupply` .

However, the underlying logic of some of those methods differs from EIP20 standards to fit an interest bearing token behavior :

* `balanceOf` will always return the most up to date balance of the user, which includes their principal balance (`baseBalance`) + the yield generated by the principal balance up to the last epoch timestamp.
* `totalSupply` will always return the most up to date total supply of KIBTokens, which includes the principal supply + the yield generated by the principal balance up to the last epoch timestamp.<br>

Transfers behave mostly like the standard [EIP-20](https://eips.ethereum.org/EIPS/eip-20) method with the exception of the available balance check and the `cumulativeYield` refresh.
