Batched Contract Calls (EIP-5792)
Base MCP exposes a batched-calls tool (typicallysend_calls) that submits multiple contract calls for a single user approval. Use it for arbitrary contract interactions, multi-step transactions, or any flow that combines an approval with a follow-up action.
Batching is preferred whenever a flow involves a token approval followed by a protocol action (approve + deposit, approve + supply, approve + swap, etc.). Also batch whenever a plugin or protocol endpoint returns multiple transactions in a single response. Don’t split these into sequential single-send calls when one batched approval can execute them atomically.
When to use
- Protocol interactions not covered by
sendorswap(DeFi, NFT mints, approvals, governance actions). - Combining multiple operations into one user approval.
- Executing a transaction array returned by a plugin’s prepare-style endpoint — pass the array straight through.
Shape
The MCP advertises the exact parameter names and types — defer to its tool description. The general shape is:- A
chainstring (base,base-sepolia,ethereum,optimism,polygon,arbitrum,bsc, oravalanche). - A
callsarray of{ to, value, data }objects:to— target address,0x-prefixed (required)value— hex ETH in wei (e.g.0x0), optionaldata— calldata hex, optional