wallet_getCallsStatus
Get the status of a batch of calls.
Authentication Required: No
Request
await jaw.provider.request({
method: 'wallet_getCallsStatus',
params: ['0x123abc...'],
});Parameters
| Name | Type | Required | Description |
|---|---|---|---|
batchId | string | Yes | Batch ID returned from wallet_sendCalls |
Example
["0x123abc456def..."]Response
Returns detailed status information about the batch execution.
Example
{
"id": "0x123abc...",
"chainId": "0x1",
"status": 200,
"atomic": true,
"receipts": [{
"logs": [{
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0x...",
"topics": ["0x..."]
}],
"status": "0x1",
"blockHash": "0x...",
"blockNumber": "0x...",
"gasUsed": "0x...",
"transactionHash": "0x..."
}]
}Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Batch identifier |
chainId | string | Chain ID (hex) |
status | number | Status code (see below) |
atomic | boolean | Whether calls are atomic |
receipts | array | Transaction receipts (when completed) |
Status Codes
| Code | Status | Description |
|---|---|---|
| 100 | Pending | Not yet on-chain |
| 200 | Completed | Successfully executed on-chain |
| 400 | Offchain Failure | Failed before submission (wallet won't retry) |
| 500 | Onchain Revert | Reverted on-chain (has receipt with status 0x0) |
| 600 | Partial Revert | Some calls reverted (not applicable for atomic ops) |
Behavior
- Can be called without authentication
- Returns current status of the batch operation
- Receipts included only when status is 200 or 500
- Background monitoring updates status automatically
Example
Poll for Completion
const result = await jaw.provider.request({
method: 'wallet_sendCalls',
params: [{
version: '1.0',
chainId: '0x1',
from: account,
calls: [...],
}],
});
// Poll until completed
async function waitForCompletion(batchId: string) {
while (true) {
const status = await jaw.provider.request({
method: 'wallet_getCallsStatus',
params: [batchId],
});
if (status.status === 200) {
console.log('Batch completed successfully!');
return status;
} else if (status.status >= 400) {
console.error('Batch failed:', status);
throw new Error('Batch execution failed');
}
// Still pending, wait and retry
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
await waitForCompletion(result.id);Related Methods
- wallet_sendCalls - Send atomic batch of calls
- wallet_showCallsStatus - Show status UI