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

> Generated B20 reference for revokeRole(bytes32,address).

[Related concept](/base-chain/specs/upgrades/beryl/b20/specification/concepts/roles-and-access-control)

## Signature

```solidity theme={null}
function revokeRole(bytes32 role, address account) external;
```

| Field               | Value                         |
| ------------------- | ----------------------------- |
| Selector            | `0xd547741f`                  |
| Canonical signature | `revokeRole(bytes32,address)` |

## Description

Revokes `role` from `account`. Emits `RoleRevoked`.
Dev: Reverts with `AccessControlUnauthorizedAccount` when the caller does not hold the admin role for `role`,
or when the token has been transitioned to admin-less via `renounceLastAdmin`.
Dev: Reverts with `LastAdminCannotRenounce` when `role == DEFAULT_ADMIN_ROLE` and `account` is the last default admin.
Use `renounceLastAdmin` to clear the final admin.
Param: role    Role to revoke.
Param: account Account to revoke from.

## Access control

Uses the B20 access-control role graph. Factory initCalls bypass role gates during creation.

## Policy interaction

No direct policy interaction.

## Example

```solidity theme={null}
IB20(target).revokeRole(arg0, arg1);
```

## 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)
