> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://v3.viem.sh/api/mcp` to find what you need.

# BlobCells.verify

:::info
`BlobCells.verify` is a re-export of ox's [`BlobCells.verify`](https://oxlib.sh/api/BlobCells/verify). Refer to the ox documentation for the full reference.
:::

Verify a batch of cell KZG proofs against their commitments (PeerDAS, EIP-7594).

Each cell at index `cellIndices[i]` is checked against the commitment `commitments[i]` using the proof `proofs[i]`.

## Imports

```ts
import { BlobCells } from 'viem/utils'
```

## Examples

```ts twoslash
// @noErrors
import { BlobCells, Blobs } from 'viem/utils'
import { kzg } from './kzg'

const [blob] = Blobs.from('0xdeadbeef')
const [commitment] = Blobs.toCommitments([blob], { kzg })
const { cells, proofs } = BlobCells.fromBlob(blob, { kzg })
const valid = BlobCells.verify({
  cells,
  cellIndices: cells.map((_, i) => i),
  commitments: cells.map(() => commitment),
  proofs,
  kzg
})
```

## Definition

```ts
function verify(
  options: verify.Options,
): boolean
```

## Parameters

### options

* **Type:** `verify.Options`

Verification options.

#### options.cellIndices

* **Type:** `readonly number[]`

Cell indices within their respective extended blobs.

#### options.cells

* **Type:** `readonly (0x${string} | Uint8Array)[]`

Cells to verify.

#### options.commitments

* **Type:** `readonly (0x${string} | Uint8Array)[]`

Commitments, one per cell (parallel to `cells`).

#### options.kzg

* **Type:** `Pick`

KZG implementation.

#### options.proofs

* **Type:** `readonly (0x${string} | Uint8Array)[]`

Proofs, one per cell (parallel to `cells`).

## Return Type

Whether all (commitment, cell, proof) tuples verify.

`boolean`
