## 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 transfer_ transaction additionally has the following fields:

| FIELD            | CODEC | TYPE     | REQUIRED |
| ---------------- | ----- | -------- | -------- |
| Asset ID        | `xaid` | `uint64` | Yes      |
| Asset Amount     | `aamt` | `uint64` | No       |
| Asset Sender     | `asnd` | `address`| No       |
| Asset Receiver   | `arcv` | `address`| Yes      |
| Asset Close-to   | `aclose` | `address`| No       |

The _asset ID_ identifies the asset being transferred.

The _asset amount_ ( **OPTIONAL**) indicates the number of _asset_ units being transferred.

> If the _asset amount_ is omitted, the number of _asset units_ transferred is zero.

The _asset sender_ ( **OPTIONAL**) identifies the source address for the asset transfer (non-zero if the transaction is a _clawback_).

> If the _asset sender_ is omitted, the source address of the asset transfer is the _sender_ of the transaction.

The _asset receiver_ identifies the destination address for the asset transfer.

The _asset close to_ address ( **OPTIONAL**) collects all remaining _asset units_ in the _sender_ account _after_ the asset transfer.

> If the _asset close to_ address is omitted, the field has no effect.

TODO

TODO
