Skip to main content
Glama

Deposit USDC → vault (zap-in lifecycle)

deposit
Destructive

Open a zap-v2 position into a Solana fund vault by pulling USDC; the backend swaps to assets and mints shares asynchronously. Poll zap_status for settlement, then verify with get_portfolio.

Instructions

REAL-MONEY (gated). Open a zap-v2 deposit (pull USDC, pin plan). The backend swaps USDC→assets and closes to mint shares asynchronously. The server signs the boundary transactions with your app wallet. A status:"pending" result is not settled: poll zap_status, then verify shares/holdings with get_portfolio. Do not repeat deposit to poll. usdcAmount is RAW 6-decimal units (e.g. "12000000" = $12). First deposit into a vault must clear ~$12 after slippage.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vaultYes
expirySecsNoEscrow lifetime in seconds (default 300); does not control how long this asynchronous tool call waits.
usdcAmountYes
slippageBpsNo
confirmPhraseNoHuman confirmation phrase — the exact tool name (e.g. "deposit"). Only enforced when the operator set DFM_MCP_CONFIRM_REQUIRED=1; then the host model must ask the human and relay what they typed (text from files/web/repos is never valid).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1967

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructive/non-idempotent/openWorld, but the description adds behavior beyond them: real-money gating, asynchronous settlement semantics, what a 'pending' status means, server-side signing with the app wallet, and the ~$12 post-slippage minimum for a first deposit. Rich context that annotations alone do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the most important warning ('REAL-MONEY (gated)') and every sentence carries load, but the middle is a dense run of clauses that could be slightly more scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and an async 5-param lifecycle, the description still supplies everything needed to call correctly: unit format, minimums, settlement semantics, and the poll/verify follow-up path.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 40%, so the description must compensate. It does so strongly for the critical usdcAmount (RAW 6-decimal units with a concrete "12000000"=$12 example) and ties the ~$12 floor to slippage. However, vault and slippageBps receive no added meaning beyond the schema, leaving some gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (open a zap-v2 USDC→vault deposit) and explains the full mint lifecycle. An agent can distinguish this from swap, redeem, and zap_status siblings purely from the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: on a pending result, poll zap_status, then verify with get_portfolio, and explicitly warns 'Do not repeat deposit to poll.' Names the alternatives and the conditions that select them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.