Bundie logoBundie
AI

API Reference

Complete reference for all 18 Bundie MCP tools - inputs, outputs, and usage.

The Bundie EVM MCP server (@bundie/evm-mcp) registers 18 tools. Tool names use underscores (e.g. yields_check).

Tools that act on a chain take a required chainId — there is no default. Pass one of the supported chain IDs, e.g. 42161 (Arbitrum, hub), 8453 (Base), 534352 (Scroll). When OAuth is enabled, walletAddress can be omitted and is resolved from your signed-in session.

Read Tools

yields_check

Browse current DeFi yield opportunities across EVM chains with APY and risk data.

ParamTypeRequiredDescription
tokenstringNoFilter by token symbol (e.g., USDC, USDT)
minApynumberNoMinimum APY (decimal, e.g., 0.05 for 5%)
chainstringNoFilter by chain name (e.g., base, arbitrum, scroll)
sortBy"apy" | "name"NoSort field (default: apy)
limitnumberNoMax results (default: 10)

yields_risk_scores

Get detailed risk scores and risk component breakdown for all yield protocols. Shows security, liquidity, maturity, and centralization scores.

ParamTypeRequiredDescription
tokenstringNoFilter by token symbol (e.g., USDC)
chainstringNoFilter by chain name (e.g., base, arbitrum)
minRisknumberNoMinimum overall risk score (0-100, higher = safer)
sortBy"risk" | "apy"NoSort by risk score or APY (default: risk)
limitnumberNoMax results (default: 10)

portfolio_view

Check current positions, allocation breakdown, and weighted APY for a wallet.

ParamTypeRequiredDescription
walletAddressstringNoEthereum address (0x...). Omit if signed in via OAuth
chainIdnumberYesChain ID (e.g., 42161 Arbitrum, 8453 Base, 534352 Scroll)

wallet_balance

Check the token balance of a wallet on a specific chain.

ParamTypeRequiredDescription
walletAddressstringNoWallet address to check (0x...). Omit if signed in via OAuth
assetstringNoToken symbol (USDC, USDT) or address (0x...) (default: USDC)
chainIdnumberYesChain ID to query

wallet_get_deposit_address

Resolve any address linked to your Bundie account to your smart-wallet deposit address. The same address receives funds on every supported EVM chain.

ParamTypeRequiredDescription
walletAddressstringNoAny address linked to your Bundie account (0x...). Omit if signed in via OAuth
sourceChainstringNoChain you're sending from (e.g., "arbitrum", "base") — display only; the deposit address is the same on every chain

wallet_wait_for_deposit

Poll a wallet's balance until it reaches a minimum threshold. Useful after generating a deposit address or onramp link.

ParamTypeRequiredDescription
walletAddressstringNoWallet to watch (0x...). Omit if signed in via OAuth
chainIdnumberYesChain to watch (e.g., 42161 Arbitrum, 8453 Base)
minAmountstringYesMinimum amount to wait for, human-readable (e.g., "1" for 1 USDC)
assetstringNoToken to watch — USDC or USDT (default: USDC)
timeoutSecondsnumberNoMax seconds to wait (default: 600, capped at 1800)

bridge_status

Check the status of a Relay Protocol bridge request. Returns current status, estimated completion time, and transaction hashes.

ParamTypeRequiredDescription
requestIdstringYesBridge request ID returned by bridge

yields_buy

Generate a payment link to buy crypto (USDC/USDT) with a credit card or bank transfer via Ramp Network or Transak. The user clicks the link, completes payment, and receives crypto in their wallet.

ParamTypeRequiredDescription
walletAddressstringYesWallet address to receive the crypto (0x...)
fiatAmountnumberNoAmount in fiat currency (default: 100)
fiatCurrencystringNoFiat currency code (USD, EUR, GBP, etc.) (default: USD)
cryptoCurrencystringNoCrypto to buy — USDC or USDT (default: USDC)
networkstringNoNetwork to receive on: base, ethereum, polygon, arbitrum (default: base)

Write Tools

vault_deposit

Deposit assets into your Bundie Account. The Account holds funds on its chain that can then be allocated to yield strategies.

ParamTypeRequiredDescription
walletAddressstringNoYour wallet address. Omit if signed in via OAuth
assetstringYesToken symbol (USDC, USDT) or address (0x...)
amountstringYesHuman-readable amount (e.g., "100.5")
chainIdnumberYesChain ID (e.g., 42161, 8453, 534352)

vault_withdraw

Withdraw assets from your Bundie Account back to your wallet or a specified address.

ParamTypeRequiredDescription
walletAddressstringNoYour wallet address. Omit if signed in via OAuth
assetstringYesToken symbol or address
amountstringYesHuman-readable amount
recipientAddressstringNoWithdraw to a different address
chainIdnumberYesChain ID

strategy_deposit

Deposit into a specific cross-chain yield strategy by protocol ID. Use yields_check first to find protocol IDs.

ParamTypeRequiredDescription
walletAddressstringNoYour wallet address. Omit if signed in via OAuth
protocolIdstringYesProtocol UUID from yields_check
amountstringYesHuman-readable amount
assetstringNoToken symbol (default: USDC)
chainIdnumberYesChain ID

strategy_withdraw

Withdraw from a specific strategy position. Use portfolio_view to see your position indices.

ParamTypeRequiredDescription
walletAddressstringNoYour wallet address. Omit if signed in via OAuth
positionIndexnumberYesPosition index from portfolio_view
amountstringYesHuman-readable amount
assetstringNoToken symbol (default: USDC)
destinationChainnumberYesChain ID to receive funds
chainIdnumberYesSource chain ID where the position lives

bridge

Bridge USDC or USDT between any supported chains via Relay Protocol. Returns a requestId that can be tracked with bridge_status.

ParamTypeRequiredDescription
walletAddressstringNoWallet initiating the bridge (0x...). Omit if signed in via OAuth
amountstringYesHuman-readable amount (e.g., "100.5")
assetstringNoToken to bridge — USDC or USDT (default: USDC)
sourceChainstringYesSource chain name or ID: ethereum, optimism, arbitrum, base, polygon, scroll, mode, linea, tempo
destinationChainstringYesDestination chain name or ID

AI Tools

wallet_analyze

Full AI wallet analysis - risk profile, on-chain behavior, DeFi positions, idle assets.

ParamTypeRequiredDescription
walletAddressstringNoWallet to analyze (0x...). Omit if signed in via OAuth

Note: Takes 1-3 minutes for new wallets. Results cached for 7 days.

wallet_recommend

AI-recommended diversified yield bundle. Analyzes the wallet first (if not cached), then runs a Bull/Bear/Moderator debate to select optimal strategies.

ParamTypeRequiredDescription
walletAddressstringNoWallet to recommend for (0x...). Omit if signed in via OAuth
tokensstring[]NoFilter by tokens (e.g., ["USDC"])
chainsnumber[]NoFilter by chain IDs (e.g., [8453, 42161])
minRiskScorenumberNoMin risk score (0-100, higher = safer) (default: 70)
maxRiskScorenumberNoMax risk score
bundleSizenumberNoStrategies per bundle (1-10, default: 3)
excludeUSXbooleanNoExclude USX token

portfolio_rebalance

Compare current positions against optimal allocation, with optional auto-execute.

ParamTypeRequiredDescription
walletAddressstringNoYour wallet address. Omit if signed in via OAuth
chainIdnumberYesChain ID
autoExecutebooleanNoExecute rebalance automatically (default: false)

wallet_migrate

Find yield migration opportunities - compare external DeFi positions against Bundie.

ParamTypeRequiredDescription
walletAddressstringNoWallet to check (0x...). Omit if signed in via OAuth

Note: Requires a prior wallet analysis. Run wallet_analyze first.

State Tool

portfolio_preferences

Set yield selection rules for the session. Applied to all subsequent wallet_recommend and portfolio_rebalance calls.

ParamTypeRequiredDescription
walletAddressstringNoWallet address. Omit if signed in via OAuth
maxAllocationPerProtocolnumberNoMax % in any single protocol
auditedOnlybooleanNoOnly audited protocols
minRiskScorenumberNoMin risk score (0-100)
maxRiskScorenumberNoMax risk score
excludeChainsnumber[]NoChain IDs to exclude
excludeProtocolsstring[]NoProtocol names to exclude
preferredTokensstring[]NoPreferred token symbols

Natural Language Mapping

User saysPreference set
"only audited protocols"auditedOnly: true
"max 30% in one place"maxAllocationPerProtocol: 30
"nothing below 75 risk"minRiskScore: 75
"only USDC"preferredTokens: ["USDC"]
"no Optimism"excludeChains: [10]

Connection Setup

{
  "mcpServers": {
    "bundie": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.bundie.fi/evm"]
    }
  }
}

Self-Hosted

{
  "mcpServers": {
    "bundie": {
      "command": "npx",
      "args": ["-y", "@bundie/evm-mcp"],
      "env": {
        "BACKEND_URL": "https://backend.bundie.fi",
        "BACKEND_API_KEY": "your-key",
        "ANALYZER_URL": "https://ai.bundie.fi",
        "ANALYZER_API_KEY": "your-key"
      }
    }
  }
}

Contact info@bundie.fi for self-hosted API keys.