# usePrepareCalls | @account-kit/react

> Overview of the usePrepareCalls hook from @account-kit/react

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
function usePrepareCalls(params): UsePrepareCallsResult;
```

Defined in: [account-kit/react/src/hooks/usePrepareCalls.ts:88](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/hooks/usePrepareCalls.ts#L88)

Hook for preparing calls to a smart account.

This hook provides functionality to prepare calls for execution on a smart account.
It handles the preparation step of the Account Abstraction flow, but does not support EOA wallets.

## Example

```ts twoslash
import { usePrepareCalls } from "@account-kit/react";

const { prepareCalls, prepareCallsAsync, isPreparingCalls, error } =
  usePrepareCalls();

// Prepare calls
await prepareCallsAsync({
  calls: [
    {
      to: "0x...",
      data: "0x...",
      value: "0x0",
    },
  ],
});
```

## Remarks

- This hook only works with smart accounts and does not support EOA wallets
- The hook handles the preparation step of the Account Abstraction flow
- Prepared calls must be signed, then can be used with `useSendPreparedCalls` to complete the execution

## Parameters

<table>
  <thead>
    <tr>
      <th align="left">Parameter</th>
      <th align="left">Type</th>
      <th align="left">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `params`
      </td>

      <td>
        [`UsePrepareCallsParams`](../type-aliases/UsePrepareCallsParams)
      </td>

      <td>
        Configuration parameters for the hook
      </td>
    </tr>

  </tbody>
</table>

## Returns

[`UsePrepareCallsResult`](../type-aliases/UsePrepareCallsResult)

An object containing:

- `prepareCalls`: Function to prepare calls synchronously (returns void)
- `prepareCallsAsync`: Async function to prepare calls (returns Promise)
- `preparedCalls`: The result of the last successful call preparation
- `isPreparingCalls`: Boolean indicating if calls are currently being prepared
- `error`: Error from the last failed call preparation, if any