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

# IPolicyRegistry.policyExists

> Returns whether a given policy ID is a built-in sentinel or a previously-assigned custom ID.

## Signature

```solidity IPolicyRegistry.sol theme={null}
function policyExists(uint64 policyId) external view returns (bool);
```

| Field               | Value                  |
| ------------------- | ---------------------- |
| Selector            | `0x330f5637`           |
| Canonical signature | `policyExists(uint64)` |

## Description

Returns `true` if `policyId` is a built-in sentinel (`ALWAYS_ALLOW` or `ALWAYS_BLOCK`) or a previously-assigned custom policy ID. Never reverts, regardless of the input value.

## Parameters

| Name       | Type     | Description             |
| ---------- | -------- | ----------------------- |
| `policyId` | `uint64` | The policy ID to query. |

## Returns

| Type   | Description                                     |
| ------ | ----------------------------------------------- |
| `bool` | `true` if the policy exists; `false` otherwise. |

## Access Control

Read-only. Always callable — this function is never gated by the `ActivationRegistry`, whether or not the PolicyRegistry feature is active.

## Example

```solidity Usage Example theme={null}
IPolicyRegistry(policyRegistry).policyExists(policyId);
```
