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

> Returns the role required to call seizeWithMemo on a B20 token.

## Signature

```solidity IB20.sol theme={null}
function SEIZE_ROLE() external view returns (bytes32);
```

| Field               | Value          |
| ------------------- | -------------- |
| Selector            | `0x3c7e9ba5`   |
| Canonical signature | `SEIZE_ROLE()` |

## Description

Returns the `bytes32` role constant that gates `seizeWithMemo`. Any account that does not hold this role will have its `seizeWithMemo` call revert with `AccessControlUnauthorizedAccount`.

## Returns

`bytes32`, the `SEIZE_ROLE` constant.

## Access Control

Read-only. Anyone may call this function to retrieve the role identifier.

## Policy Interaction

No direct policy interaction. The role returned here is used alongside `SEIZE_EXEMPT_POLICY` and `SEIZE_RECEIVER_POLICY` to authorize a seize operation. The caller must hold `SEIZE_ROLE`, the `from` account must not be authorized under `SEIZE_EXEMPT_POLICY` (i.e., an inverted blocklist check), and the `to` account must be authorized under `SEIZE_RECEIVER_POLICY`.

## Example

Grant this role to the account that will call `seizeWithMemo`:

```solidity Grant SEIZE_ROLE and seize theme={null}
bytes32 seizeRole = token.SEIZE_ROLE();
token.grantRole(seizeRole, seizer);

// seizer may now call:
token.seizeWithMemo(from, to, amount, memo);
```

<Note>
  `SEIZE_ROLE` is separate from pause control. A holder of `SEIZE_ROLE` cannot seize while `PausableFeature.SEIZE` is paused, the call reverts `ContractPaused(SEIZE)`. Pausing `TRANSFER`, `MINT`, or `BURN` does not affect seize.
</Note>
