# Multicall

Enables calling multiple methods in a single call to the contract

### Functions[​](https://docs.uniswap.org/contracts/v3/reference/periphery/base/Multicall#functions) <a href="#functions" id="functions"></a>

#### multicall[​](https://docs.uniswap.org/contracts/v3/reference/periphery/base/Multicall#multicall) <a href="#multicall" id="multicall"></a>

```solidity
  function multicall(
    bytes[] data
  ) external payable override returns (bytes[] results)
```

Call multiple functions in the current contract and return the data from all of them if they all succeed

The `msg.value` should not be trusted for any method callable from multicall.

**Parameters:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/base/Multicall#parameters)

| Name   | Type     | Description                                                              |
| ------ | -------- | ------------------------------------------------------------------------ |
| `data` | bytes\[] | The encoded function data for each of the calls to make to this contract |

**Return Values:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/base/Multicall#return-values)

| Name      | Type     | Description                                           |
| --------- | -------- | ----------------------------------------------------- |
| `results` | bytes\[] | The results from each of the calls passed in via data |
