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

# CallModule

### Overview

Abstract contract extending `VerifierModule`, implementing low-level contract calls with verification via a pluggable verifier.

### `call`

```solidity theme={null}
function call(
    address where,
    uint256 value,
    bytes calldata data,
    IVerifier.VerificationPayload calldata payload
) external nonReentrant returns (bytes memory response)
```

### Description

Executes a low-level call to a target contract after validating the call parameters through an external `Verifier` contract. The verification logic is determined by the verification type specified in the `Verifier` contract.

For details on available verification types, refer to the [Verifier specification](https://www.notion.so/Verifier-23002ad8627680cfbab5e96defcdbe31?pvs=21).

### Parameters

* `where`: The address of the target contract.
* `value`: The ETH value to send along with the call.
* `data`: Calldata to pass to the target contract.
* `payload`: Encoded verification payload used to authorize the call.

### Returns

* `response`: The raw returned data from the target contract call.

### Requirements

* All the provided parameters must be externally verified via `verifier().verifyCall`.
* Reentrancy is prevented via `nonReentrant` modifier.
