Subchapter 2.2
references/batch-calls.mdMarkdown2 KBView on GitHub
Base MCP exposes a batched-calls tool (typically send_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.
(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- calls when one batched approval can execute them atomically.
sendsend or swap (DeFi, NFT mints, approvals, governance actions).The MCP advertises the exact parameter names and types — defer to its tool description. The general shape is:
chain string (base, base-sepolia, ethereum, optimism, polygon, arbitrum, bsc, or avalanche).calls array of { to, value, data } objects:
to — target address, 0x-prefixed (required)value — hex ETH in wei (e.g. 0x0), optionaldata — calldata hex, optionalSame as any write tool: the response returns an approval URL and request ID. See approval-mode.md.
plugin or protocol API → { transactions: [...] } (or equivalent)
↓ map each transaction to a { to, value, data } call
batched-calls tool (chain, calls) → approval URL + request ID
↓ user approves
status-poll tool (request ID) → confirmed