sendBatch sends calls with as few wallet prompts as the wallet allows, without ever forcing an account upgrade (EIP-7702).
wallet_getCapabilities → atomic.status |
What happens |
|---|---|
ready (MetaMask EOA, would prompt the smart-account upgrade) |
own sequential loop: one eth_sendTransaction per call |
supported, unsupported, missing, or getCapabilities throws |
wallet_sendCalls with forceAtomic: false; if the wallet rejects it as unsupported (4200/57xx) → own sequential loop |
Why not gate on atomic.status === 'supported': Ambire EOAs report unsupported but still batch non-atomically behind one sign screen, on any chain.