> For the complete documentation index, see [llms.txt](https://v1.etherspot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v1.etherspot.io/transaction-kit/react-hooks/useetherspottransactions/estimate.md).

# estimate()

## Introduction

Any transaction that is intended to be sent to the blockchain **must be estimated** **first**. The estimation function performs several checks including cost estimation and transaction validity. This method **must always be called** before we send, otherwise the send method will return an error.

## How to use

Whenever you add, edit or remove an `<EtherspotBatches>`, `<EtherspotBatch />` or `<EtherspotTransaction />` component - call the `.estimate()` hook.

You simply need to import the hook and call the function as shown below.

```javascript
import {
  useEtherspotTransactions,
} from '@etherspot/transaction-kit';

// Later in the main component function...

const { estimate } = useEtherspotTransactions();

// And when you're ready to perform the estimate...

estimate(); // This is also a Promise

// Now your transactions are ready to send!
```

## :tada: Congratulations!

And that was estimation! Remember: estimation should always be called whenever any of the TransactionKit UI components change.

The next step in this journey is to [`.send()`](/transaction-kit/react-hooks/useetherspottransactions/send.md)
