Skip to main content
Sends multiple calls in a single user operation. All calls succeed together or revert together.

Request

Parameters

string
required
Use '1'.
`0x${string}`
required
The connected smart-account address. Handling differs by context:
  • Inside a Mini App, the host overwrites from with the smart account before the request is processed, so any value you pass is replaced.
  • In a standalone application, from is not rewritten. A value that does not match the connected account is rejected with -32602.
Pass the connected smart-account address in both cases.
`0x${string}`
required
Hex-encoded chain ID.
boolean
Has no effect. Startale accounts always execute a batch atomically, whatever you pass. Send true so the request stays correct against other EIP-5792 wallets.
Array<{ to, data, value? }>
required
Array of calls. to and data are both required; value is optional and defaults to zero.data has no default. A call that omits it, or passes anything that is not a hex string, is rejected with -32602 before the user sees a prompt. For a plain value transfer with no calldata, pass data: '0x' explicitly.

Returns

The request resolves directly once the user approves and the batch is submitted as a single UserOperation. There is no separate status to poll: wallet_getCallsStatus is not implemented in either context, so do not build a flow that depends on it.

Errors