## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

- Auto
- Light
- Dark

# Algorand Specifications

An _asset configuration_ transaction additionally has the following fields:

| FIELD             | CODEC   | TYPE     | REQUIRED                       |
| ----------------- | ------- | -------- | ------------------------------ |
| Asset ID         | `caid` | `uint64` | Yes (except for Creation)      |
| Asset Parameters  | `apar` | `struct` | Yes (for Creation)             |

The _asset ID_ Asacfg,IDAsacfg,ID identifies the asset being configured.

> If the _asset ID_ is omitted (zero), this transaction is _creating_ an asset.

The _asset parameters_ are the parameters for configuring the asset.

These _asset parameters_ is structure containing:

| FIELD             | CODEC   | TYPE     | DESCRIPTION                                         |
| ----------------- | ------- | -------- | --------------------------------------------------- |
| Total             | `t`    | `uint64` | Total amount of units of the asset                   |
| Decimals          | `dc`   | `uint32` | Number of digits after the decimal place             |
| Default Frozen    | `df`   | `bool`   | Flag that specifies if the asset requires whitelisting (yes if `true`) |
| Unit Name         | `un`   | `string` | Asset unit symbol (or asset short-name)             |
| Asset Name        | `an`   | `string` | Asset name                                          |
| URL               | `au`   | `string` | URL to retrieve additional asset information         |
| Metadata Hash     | `am`   | `[32]byte`| Commitment to asset metadata                         |
| Manager           | `m`    | `address`| Account allowed to set the asset role-based access control and destroy the asset |
| Reserve           | `r`    | `address`| Account whose asset holdings should be interpreted as “not mined” (this is purely a label) |
| Freeze            | `f`    | `address`| Account allowed to change the account’s frozen state for the asset holdings |
| Clawback          | `c`    | `address`| Account allowed to transfer units of the asset from any account |

- The _decimals_ **MUST NOT** exceed Asad,maxAsad,max.

- The _unit name_ byte length **MUTS NOT** exceed Asau,maxAsau,max.

- The _asset name_ byte length **MUST NOT** exceed Asan,maxAsan,max.

- The _URL_ byte length **MUST NOT** exceed Asar,maxAsar,max.

> If the _asset parameters_ are omitted (struct of zero values), this transaction
> is _deleting_ the asset.
