# rollup.emitReport

Emits a **report** — plain output data made available off-chain, *not* added to the outputs merkle tree. Reports cannot be proven or executed; they are free-form bytes for logs, diagnostics and [inspect](/cmio/guide/handling-requests#inspect-requests) responses.

## Usage

```ts twoslash
import { Rollup } from '@deroll/cmio';
const rollup = new Rollup();
// ---cut---
rollup.emitReport(Buffer.from('warn: balance below threshold'));
```

## Returns

`void` — reports have no output index (they are not provable outputs).

## Parameters

### payload

* Type: `BytesLike` — 0x-prefixed hex string, `Buffer` or `Uint8Array`
* Required

The report contents.

## Errors

| Condition | Error |
| --- | --- |
| Malformed hex string / wrong argument type | `TypeError` |
| Report larger than the machine's output buffer | `RollupError` with negative `errno` |
