> For the complete documentation index, see [llms.txt](https://the-artist-xchange.gitbook.io/the-artist-xchange/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://the-artist-xchange.gitbook.io/the-artist-xchange/docs/idelayedreveal.md).

# IDelayedReveal

Thirdweb's `DelayedReveal` is a contract extension for base NFT contracts. It lets you create batches of 'delayed-reveal' NFTs. You can learn more about the usage of delayed reveal NFTs here - <https://blog.thirdweb.com/delayed-reveal-nfts>

## Methods

### encryptDecrypt

```solidity
function encryptDecrypt(bytes data, bytes key) external pure returns (bytes result)
```

Performs XOR encryption/decryption.

#### Parameters

| Name | Type  | Description                                                                                                                   |
| ---- | ----- | ----------------------------------------------------------------------------------------------------------------------------- |
| data | bytes | The data to encrypt. In the case of delayed-reveal NFTs, this is the "revealed" state base URI of the relevant batch of NFTs. |
| key  | bytes | The key with which to encrypt data                                                                                            |

#### Returns

| Name   | Type  | Description |
| ------ | ----- | ----------- |
| result | bytes | undefined   |

### reveal

```solidity
function reveal(uint256 identifier, bytes key) external nonpayable returns (string revealedURI)
```

Reveals a batch of delayed reveal NFTs.

#### Parameters

| Name       | Type    | Description                                                                   |
| ---------- | ------- | ----------------------------------------------------------------------------- |
| identifier | uint256 | The ID for the batch of delayed-reveal NFTs to reveal.                        |
| key        | bytes   | The key with which the base URI for the relevant batch of NFTs was encrypted. |

#### Returns

| Name        | Type   | Description |
| ----------- | ------ | ----------- |
| revealedURI | string | undefined   |

## Events

### TokenURIRevealed

```solidity
event TokenURIRevealed(uint256 indexed index, string revealedURI)
```

*Emitted when tokens are revealed.*

#### Parameters

| Name            | Type    | Description |
| --------------- | ------- | ----------- |
| index `indexed` | uint256 | undefined   |
| revealedURI     | string  | undefined   |
