useSendCalls

1function useSendCalls<TEntryPointVersion>(
2 params,
3): 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>

Example

1import { useSendCalls } from "@account-kit/react";
2
3const { sendCalls, sendCallsAsync, isSendingCalls, error } = useSendCalls();
4
5// Send a single call
6await sendCallsAsync({
7 calls: [
8 {
9 to: "0x...",
10 data: "0x...",
11 value: "0x0",
12 },
13 ],
14});
15
16// Send multiple calls (smart account only)
17await sendCallsAsync({
18 calls: [
19 { to: "0x...", data: "0x..." },
20 { to: "0x...", data: "0x..." },
21 ],
22});

Type Parameters

Type ParameterDefault typeDescription

TEntryPointVersion extends keyof EntryPointRegistryBase<unknown>

keyof EntryPointRegistryBase<unknown>

The entry point version to use for user operations (defaults to EntryPointVersion)

Parameters

ParameterTypeDescription

params

UseSendCallsParams

Configuration parameters for the hook

Returns

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 execution
  • isSendingCalls: Boolean indicating if calls are currently being sent
  • error: Error from the last failed call execution, if any

Description

  • When connected to an EOA wallet, only single calls are supported (batch execution is not allowed)
  • For smart accounts, the returned ids are the prepared call IDs
  • For EOA wallets, the returned ids are transaction hashes