wallet_sendCalls
Requests that the wallet submits a batch of calls. This method allows applications to send multiple transactions atomically or sequentially.
Parameters
version
(string)requiredThe version of the API format. Must be "2.0.0".
id
(string)The ID of the batch of calls for tracking purposes.
from
(string)requiredThe sender's address. Pattern: ^0x[0-9a-fA-F]{40}$
chainId
(string)requiredEIP-155 chain ID of the calls. Must match the currently selected network in the wallet. Pattern: ^0x([1-9a-f]+[0-9a-f]*|0)$
atomicRequired
(boolean)requiredtrue to require atomic execution. If false, the wallet may execute sequentially without atomicity.
calls
(array)requiredArray of call objects to execute.
capabilities
(object)Used by dapps to communicate supported capabilities to the wallet.
Returns
An object containing information about the sent batch, including transaction details and status.
Errors
Code | Message | Description |
---|---|---|
-32602 | The wallet cannot parse the request | Invalid request format |
-32000 | Version not supported | API version not supported |
4001 | User rejected the request | User denied the transaction |
4100 | The requested account and/or method has not been authorized by the user | Authorization required |
5700 | The wallet does not support a capability that was not marked as optional | Missing capability |
5710 | EIP-7702 not supported on the specified chain ID | Chain not supported |
5720 | There is already a batch submitted with the specified batch ID | Duplicate batch ID |
5740 | The batch is too large for the wallet to process | Batch size limit exceeded |
5750 | EIP-7702 upgrade rejected for this chain and account | Upgrade rejected |
Example request
await window.ethereum.request({
"method": "wallet_sendCalls",
"params": [{
"version": "2.0.0",
"from": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"chainId": "0xaa36a7",
"atomicRequired": true,
"calls": [
{
"to": "0x54f1C1965B355e1AB9ec3465616136be35bb5Ff7",
"value": "0x0"
},
{
"to": "0x2D48e6f5Ae053e4E918d2be53570961D880905F2",
"value": "0x0"
}
]
}]
});
Example response
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"batchId": "0x123...",
"status": "pending"
}
}