get_pnl_summary

Wallet-level net PnL over a preset time window across EVM (Ethereum/Arbitrum/Polygon/Base/Optimism), TRON, and Solana. Returns the headline pnlUsd (= ending value − starting value − net user contribution), with per-chain and per-asset breakdown. Math: starting quantity per asset is reconstructed ...

Server VaultPilot MCP vaultpilot-mcp
Category Read
Risk class Low
Parameters 40 required

What get_pnl_summary does on VaultPilot MCP

AI agents call get_pnl_summary to retrieve information from VaultPilot MCP without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

ParameterTypeRequiredDescription
period string Time window. "24h" / "7d" / "30d" are rolling; "mtd" is calendar-month-to-date (UTC, from the 1st of the current month); "ytd" is calendar-year-to-date (UTC); "
wallet string EVM wallet (Ethereum / Arbitrum / Polygon / Base / Optimism). Used to fetch current balances and walk EVM tx history for the period.
tronAddress string TRON mainnet base58 address (T-prefix). Folds TRX + TRC-20 balances and TRON history into the PnL.
solanaAddress string Solana mainnet base58 pubkey. Folds SOL + SPL balances and Solana history into the PnL.

Parameters from the server's own tool schema.

Why get_pnl_summary needs a policy

Even though get_pnl_summary only reads data, uncontrolled read access leaks sensitive information and racks up API costs — an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

Questions about get_pnl_summary

What does the get_pnl_summary tool do? +

Wallet-level net PnL over a preset time window across EVM (Ethereum/Arbitrum/Polygon/Base/Optimism), TRON, and Solana. Returns the headline pnlUsd (= ending value − starting value − net user contribution), with per-chain and per-asset breakdown. Math: starting quantity per asset is reconstructed as currentQty − netFlowQty (clamped at zero when negative — user received the asset entirely within the window), priced at the period's start via DefiLlama historical, then pnlUsd = walletValueChange − (inflowsUsd − outflowsUsd). Use this for the simple 'how much did I make?' question; pair with get_portfolio_diff for the same window when the user wants the price-vs-quantity decomposition narrative. Periods: 24h / 7d / 30d / ytd / inception (capped at 365d in v1 — "since wallet creation" is not literal because the underlying history fetcher caps at ~50 items per chain). At least one of wallet / tronAddress / solanaAddress is required. v1 caveats: wallet token balances only (DeFi position interest accrual collapses into the residual); gas costs not subtracted; Solana program-interaction txs (Jupiter swaps, MarginFi actions, native staking actions) are skipped from net-flow accounting because their balance deltas mix intra-tx swap legs; truncation flagged when history caps. Bitcoin is intentionally NOT supported in v1 — the BTC path lacks in-window flow accounting and a price-effect-only number would be misleading. It is categorised as a Read tool in the VaultPilot MCP MCP Server, which means it retrieves data without modifying state.

What parameters does get_pnl_summary accept? +

get_pnl_summary accepts 4 parameters: period, wallet, tronAddress, solanaAddress. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on get_pnl_summary? +

Register the VaultPilot MCP server in PolicyLayer and add a rule for get_pnl_summary: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches VaultPilot MCP. Nothing to install.

What risk level is get_pnl_summary? +

get_pnl_summary is a Read tool with low risk. Read-only tools are generally safe to allow by default.

Can I rate-limit get_pnl_summary? +

Yes. Add a rate_limit block to the get_pnl_summary rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block get_pnl_summary completely? +

Set action: deny in the PolicyLayer policy for get_pnl_summary. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides get_pnl_summary? +

get_pnl_summary is provided by the VaultPilot MCP server (vaultpilot-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.