Returns the status of a call batch that was sent via wallet_sendCalls. This method allows applications to track the execution status and retrieve transaction receipts for batch operations.
Indicates whether the wallet executed calls atomically. If true, all calls were executed in a single transaction. If false, calls were executed in multiple transactions.
This method is designed to work with batches sent via wallet_sendCalls:
Report incorrect code
Copy
Ask AI
// Send a batch of callsconst callsId = await provider.request({ method: 'wallet_sendCalls', params: [{ version: '1.0', chainId: '0x2105', from: userAddress, calls: [ { to: '0x...', value: '0x0', data: '0x...' }, { to: '0x...', value: '0x0', data: '0x...' } ] }]});// Poll for status updatesconst checkStatus = async () => { const status = await provider.request({ method: 'wallet_getCallsStatus', params: [callsId] }); if (status.status === 200) { console.log('Batch completed successfully!'); console.log('Transaction receipts:', status.receipts); } else if (status.status === 100) { console.log('Batch still pending...'); setTimeout(checkStatus, 2000); // Check again in 2 seconds } else { console.error('Batch failed with status:', status.status); }};checkStatus();
The receipts structure varies based on whether the batch was executed atomically. Always check the atomic field to properly interpret the receipts array.
This method follows the EIP-5792 standard for wallet batch operations. Not all wallets may support this method - check wallet capabilities first.