> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sei.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Evidence Precompile

> Read evidence of validator misbehavior from EVM contracts with the Evidence precompile.

**Address:** `0x000000000000000000000000000000000000100F`

The Evidence precompile reads the evidence of validator misbehavior that the Cosmos `evidence` module recorded. All methods are `view` functions. The precompile is available since v6.7.0.

## Interface

```solidity Evidence.sol theme={"dark"}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

address constant EVIDENCE_PRECOMPILE_ADDRESS = 0x000000000000000000000000000000000000100f;

IEvidence constant EVIDENCE_CONTRACT = IEvidence(EVIDENCE_PRECOMPILE_ADDRESS);

interface IEvidence {
    function evidence(bytes memory evidenceHash) external view returns (bytes memory);
    function allEvidence(bytes memory pageKey) external view returns (AllEvidenceResponse memory response);

    struct AllEvidenceResponse {
        bytes[] evidenceList;
        bytes nextKey;
    }
}
```

## Methods

| Method | Returns |
| - | - |
| `evidence(evidenceHash)` | The evidence with this hash. The call reverts if no evidence has this hash. |
| `allEvidence(pageKey)` | All evidence, one page at a time. |

## Notes

* The precompile encodes each piece of evidence as JSON. The JSON includes an `@type` field and the fields of the record, such as the height and consensus address of an `Equivocation` record.
* For `allEvidence()`, pass empty bytes for the first page, then pass the returned `nextKey`. An empty `nextKey` means there are no more pages.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.