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

# IB20Asset.batchMint

> Generated B20 reference for batchMint(address[],uint256[]).

## Signature

```solidity IB20Asset.sol theme={null}
function batchMint(address[] calldata recipients, uint256[] calldata amounts) external;
```

| Field               | Value                            |
| ------------------- | -------------------------------- |
| Selector            | `0x68573107`                     |
| Canonical signature | `batchMint(address[],uint256[])` |

## Description

Mints `amounts[i]` to `recipients[i]` in one call. All-or-nothing: any element
revert unwinds the whole transaction. Emits `Transfer(address(0), recipients[i], amounts[i])`
per element.

<Warning>
  This function is deleted upstream. The source file `docs/B20/Asset.md` has been removed. The content below reflects the last known state; verify against the current `IB20Asset` interface before use.
</Warning>

Dev: Reverts with `ContractPaused(MINT)` when `MINT` is paused.
Dev: Reverts with `AccessControlUnauthorizedAccount` when the caller does not hold `MINT_ROLE`.
Dev: Reverts with `LengthMismatch` when `recipients.length != amounts.length`.
Dev: Reverts with `EmptyBatch` when either array is empty.
Dev: Reverts with `InvalidReceiver` when any `recipients[i] == address(0)`.
Dev: Reverts with `PolicyForbids(MINT_RECEIVER_POLICY, ...)` when any recipient is not authorized.
Dev: Reverts with `SupplyCapExceeded` when the cumulative mint would exceed the cap.
Param: recipients Accounts receiving the minted tokens.
Param: amounts    Per-recipient amounts, parallel to `recipients`.

## Access Control

Gated by `MINT_ROLE`. Should be wrapped in `announce()`, which additionally requires `OPERATOR_ROLE`.

## Policy Interaction

Checks `MINT_RECEIVER_POLICY` for each recipient. Any recipient that is not authorized causes the whole batch to revert.

## Example

```solidity Usage Example theme={null}
IB20Asset(target).batchMint(arg0, arg1);
```
