> ## 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.updateSupplyCap

> Generated B20 reference for updateSupplyCap(uint256).

[Related concept](/base-chain/specs/upgrades/beryl/b20)

## Signature

```solidity theme={null}
function updateSupplyCap(uint256 newSupplyCap) external;
```

| Field               | Value                      |
| ------------------- | -------------------------- |
| Selector            | `0xe5a97f07`               |
| Canonical signature | `updateSupplyCap(uint256)` |

## Description

Sets a new supply cap. May be raised or lowered freely, but never below current
`totalSupply` and never above `type(uint128).max`. Emits `SupplyCapUpdated`.
Dev: Reverts with `AccessControlUnauthorizedAccount` when the caller does not hold `DEFAULT_ADMIN_ROLE`.
Dev: Reverts with `InvalidSupplyCap` when `newSupplyCap &lt; totalSupply()` or `newSupplyCap &gt; type(uint128).max`.
Param: newSupplyCap New supply cap. Must not exceed `type(uint128).max`.

## Access control

`DEFAULT_ADMIN_ROLE` gates this call. Factory initCalls bypass the role gate during creation.

## Policy interaction

No direct policy interaction.

## Example

```solidity theme={null}
IB20(target).updateSupplyCap(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)
