> For the complete documentation index, see [llms.txt](https://docs.algebra.finance/algebra-integral-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.algebra.finance/algebra-integral-documentation/algebra-v1-technical-reference/contracts/api-reference-v1.0/v1.0-tokenomics/ierc20.md).

# IERC20

*Developer note: Interface of the ERC20 standard as defined in the EIP.*

## Events

### Transfer

`Transfer(address,address,uint256)`

| Name  | Type    | Description |
| ----- | ------- | ----------- |
| from  | address |             |
| to    | address |             |
| value | uint256 |             |

### Approval

`Approval(address,address,uint256)`

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| owner   | address |             |
| spender | address |             |
| value   | uint256 |             |

## Functions

### totalSupply

`totalSupply()` view external

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | uint256 |             |

### balanceOf

`balanceOf(address)` view external

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| account | address |             |

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | uint256 |             |

### transfer

`transfer(address,uint256)` external

| Name      | Type    | Description |
| --------- | ------- | ----------- |
| recipient | address |             |
| amount    | uint256 |             |

**Returns:**

| Name | Type | Description |
| ---- | ---- | ----------- |
| \[0] | bool |             |

### allowance

`allowance(address,address)` view external

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| owner   | address |             |
| spender | address |             |

**Returns:**

| Name | Type    | Description |
| ---- | ------- | ----------- |
| \[0] | uint256 |             |

### approve

`approve(address,uint256)` external

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| spender | address |             |
| amount  | uint256 |             |

**Returns:**

| Name | Type | Description |
| ---- | ---- | ----------- |
| \[0] | bool |             |

### transferFrom

`transferFrom(address,address,uint256)` external

| Name      | Type    | Description |
| --------- | ------- | ----------- |
| sender    | address |             |
| recipient | address |             |
| amount    | uint256 |             |

**Returns:**

| Name | Type | Description |
| ---- | ---- | ----------- |
| \[0] | bool |             |

***
