> ## Documentation Index
> Fetch the complete documentation index at: https://docs.infinifi.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# ReceiptToken.sol

> iUSD - Protocol deposit receipt token

## ReceiptToken.sol (iUSD)

**Purpose:** Protocol-native deposit receipt token representing user deposits.

## Description

`ReceiptToken` is a stablecoin-like instrument representing user deposits. It can be freely minted or burned by authorized contracts.

<Note>
  In the current iteration of infiniFi, the receipt token is named **iUSD**.
</Note>

## Functions

### `mint`

```solidity theme={null}
function mint(address to, uint256 amount) external onlyCoreRole(CoreRoles.RECEIPT_TOKEN_MINTER)
```

Mints iUSD tokens to a user.

**Parameters:**

* `to`: Recipient address
* `amount`: Amount to mint

**Access:** Only `RECEIPT_TOKEN_MINTER` role

### `burn`

```solidity theme={null}
function burn(uint256 amount) public override
```

Destroys the sender's tokens.

### `burnFrom`

```solidity theme={null}
function burnFrom(address account, uint256 amount) public override
```

Burns tokens from another address using allowance.

**Parameters:**

* `account`: Address to burn from
* `amount`: Amount to burn

## Contract Address

| Network | Address                                                                                                                  |
| ------- | ------------------------------------------------------------------------------------------------------------------------ |
| Mainnet | [`0x48f9e38f3070AD8945DFEae3FA70987722E3D89c`](https://etherscan.io/address/0x48f9e38f3070AD8945DFEae3FA70987722E3D89c)  |
| Plasma  | [`0x626c23fE62F5C3a45fe0F1E79Ea577Bd7d134d54`](https://plasmascan.to/address/0x626c23fE62F5C3a45fe0F1E79Ea577Bd7d134d54) |
