function useSendCalls<TEntryPointVersion>(
params,
): UseSendCallsResult<TEntryPointVersion>;Defined in: account-kit/react/src/hooks/useSendCalls.ts:120
Hook for sending calls to a smart account or EOA wallet.
This hook provides functionality to execute calls on a smart account using Account Abstraction, or fall back to regular EOA transactions when connected to an EOA wallet. It handles the complete flow of preparing, signing, and sending calls.
<Note>
If using this hook with an ERC-20 paymaster in pre-operation mode with autoPermit, the contents of the permit will be hidden
from the user. It is recommended to use the usePrepareCalls hook instead to manually handle the permit signature.
</Note>
import { useSendCalls } from "@account-kit/react";
const { sendCalls, sendCallsAsync, isSendingCalls, error } = useSendCalls();
// Send a single call
await sendCallsAsync({
calls: [
{
to: "0x...",
data: "0x...",
value: "0x0",
},
],
});
// Send multiple calls (smart account only)
await sendCallsAsync({
calls: [
{ to: "0x...", data: "0x..." },
{ to: "0x...", data: "0x..." },
],
});| Type Parameter | Default type | Description |
|---|---|---|
| keyof | The entry point version to use for user operations (defaults to EntryPointVersion) |
| Parameter | Type | Description |
|---|---|---|
| Configuration parameters for the hook |
UseSendCallsResult<TEntryPointVersion>
An object containing:
sendCalls: Function to send calls synchronously (returns void)sendCallsAsync: Async function to send calls (returns Promise)sendCallsResult: The result of the last successful call executionisSendingCalls: Boolean indicating if calls are currently being senterror: Error from the last failed call execution, if any
- When connected to an EOA wallet, only single calls are supported (batch execution is not allowed)
- For smart accounts, the returned
idsare the prepared call IDs - For EOA wallets, the returned
idsare transaction hashes