> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-docs-add-b20-spec.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# IB20.burn

> Generated B20 reference for burn(uint256).

[Related concept](/base-chain/specs/upgrades/beryl/b20/specification/concepts/token-lifecycle)

## Signature

```solidity theme={null}
function burn(uint256 amount) external;
```

| Field               | Value           |
| ------------------- | --------------- |
| Selector            | `0x42966c68`    |
| Canonical signature | `burn(uint256)` |

## Description

Burns `amount` from the caller's own balance. Not subject to any policy.
Emits `Transfer(caller, address(0), amount)`.
Dev: Reverts with `ContractPaused(BURN)` when `BURN` is paused.
Dev: Reverts with `AccessControlUnauthorizedAccount` when the caller does not hold `BURN_ROLE`.
Dev: Reverts with `InsufficientBalance` when the caller's balance is below `amount`.
Param: amount Amount to burn.

## Access control

`BURN_ROLE` gates self-burn calls.

## Policy interaction

No direct policy interaction.

## Example

```solidity theme={null}
IB20(target).burn(arg0);
```

## Related

* [IB20 reference](/base-chain/specs/upgrades/beryl/b20/specification/reference/interfaces/IB20)
* [Constants & addresses](/base-chain/specs/upgrades/beryl/b20/specification/reference/constants-and-addresses)
