What it does
send_calls submits a batch of raw contract calls for a single Base Account approval. Use it for DeFi interactions, multi-step operations, and NFT mints that go beyond simple send or swap.
The most common use case: protocol plugins like Moonwell prepare a calls array (including token approvals and deposits), and you pass it directly to send_calls — everything executes atomically in one approval. Moonwell works entirely via web_request, with no additional MCP server required.
What you can ask
With the Moonwell plugin:How it works
1
A plugin prepares the calls
Protocol plugins like Moonwell return a
calls array, often with a chain ID from their prepare endpoints. The calls include any required token approvals and the protocol interaction itself.2
Your assistant calls send_calls()
Passes the
calls array and Base MCP chain name to Base MCP.3
You review and approve
Open the approval link to review all calls in Base Account before signing.
4
Calls execute onchain
All calls in the batch execute atomically — if one fails, none go through.
Parameters
Related guides
Native plugins
Overview of the native plugins that prepare calls for Base MCP.
Sign messages
Sign individual messages and typed data.