> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base.org/llms.txt
> Use this file to discover all available pages before exploring further.

# IB20.renounceRole

> Lets the caller remove a role from themselves. Reverts if the confirmation argument does not match the caller or if the caller is the last default admin.

## Signature

```solidity IB20.sol theme={null}
function renounceRole(bytes32 role, address callerConfirmation) external;
```

| Field               | Value                           |
| ------------------- | ------------------------------- |
| Selector            | `0x36568abe`                    |
| Canonical signature | `renounceRole(bytes32,address)` |

## Description

Caller renounces `role` for themselves. Emits `RoleRevoked` when membership changes.

## Parameters

| Parameter            | Description              |
| -------------------- | ------------------------ |
| `role`               | Role to renounce.        |
| `callerConfirmation` | Must equal `msg.sender`. |

## Reverts

* `AccessControlBadConfirmation` when `callerConfirmation != msg.sender`.
* `LastAdminCannotRenounce` when `role == DEFAULT_ADMIN_ROLE` and the caller is the last remaining `DEFAULT_ADMIN_ROLE` holder. Use `renounceLastAdmin` to clear the final admin.

## Access Control

Any account may call this function for their own roles. No privileged role is required.

## Policy Interaction

No direct policy interaction.

## Example

```solidity Usage Example theme={null}
IB20(target).renounceRole(role, msg.sender);
```
