Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.base.org/llms.txt

Use this file to discover all available pages before exploring further.

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:
Find the best USDC market on Base and supply 100 USDC
Borrow 500 USDC against my collateral on Moonwell
Repay all my Moonwell debt

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

ParameterRequiredWhat it does
chainYesChain name, e.g. base, base-sepolia, ethereum, optimism, polygon, arbitrum, bsc, or avalanche
callsYesArray of { to, value?, data? } objects

Native plugins

Morpho, Moonwell, Uniswap, Avantis, Aerodrome, Virtuals, and Bankr plugin overview.

Sign messages

Sign individual messages and typed data.