prepare_marginfi_withdraw

Build an unsigned MarginFi WITHDRAW tx. Withdraws the specified amount (or ALL, via withdrawAll: true) from the user's supplied position in the named bank. Pre-flight refuses if the account has zero free collateral (the withdraw would push the health factor below the maintenance threshold — the o...

Server VaultPilot MCP vaultpilot-mcp
Category Financial
Risk class Critical
Parameters 62 required

What prepare_marginfi_withdraw does on VaultPilot MCP

AI agents use prepare_marginfi_withdraw to commit financial operations through VaultPilot MCP — usually the final step of a payment, billing, or trading workflow. A call moves real money.

ParameterTypeRequiredDescription
mint object Base58 SPL mint address. Used as an override or when the token isn't in the canonical SOLANA_TOKENS table. Exactly one of `symbol` or `mint` must be passed.
amount string Yes Human-readable decimal amount to withdraw. Pre-flight refuses if the withdraw would push the health factor below the maintenance threshold.
symbol string Canonical token symbol (USDC, SOL, USDT, JUP, BONK, JTO, mSOL, jitoSOL). The builder resolves this to the underlying mint; MarginFi treats SOL as wSOL internall
wallet string Yes Base58 Solana mainnet address (ed25519 pubkey, 43 or 44 chars).
withdrawAll boolean Set true to close the entire supplied position in this bank (lets the SDK pass the `withdraw_all` on-chain flag so the bank clears the balance slot). Omit for p
accountIndex integer MarginfiAccount slot (0 = first, 1 = second, ...). Most users stay on 0. Use a different index to segregate positions across multiple MarginfiAccounts owned by

Parameters from the server's own tool schema.

Why prepare_marginfi_withdraw needs a policy

prepare_marginfi_withdraw moves real money, and an autonomous agent will call it with the same confidence it calls a search tool. A misread instruction or an injected prompt is all it takes to drain an account or blow a budget.

Questions about prepare_marginfi_withdraw

What does the prepare_marginfi_withdraw tool do? +

Build an unsigned MarginFi WITHDRAW tx. Withdraws the specified amount (or ALL, via withdrawAll: true) from the user's supplied position in the named bank. Pre-flight refuses if the account has zero free collateral (the withdraw would push the health factor below the maintenance threshold — the on-chain tx would revert). DURABLE NONCE + prepare_marginfi_init prerequisites identical to prepare_marginfi_supply. BLIND-SIGN on Ledger. It is categorised as a Financial tool in the VaultPilot MCP MCP Server, which means it involves financial transactions. Block by default and require explicit approval.

What parameters does prepare_marginfi_withdraw accept? +

prepare_marginfi_withdraw accepts 6 parameters: mint, amount, symbol, wallet, withdrawAll, accountIndex. Required: amount, wallet. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on prepare_marginfi_withdraw? +

Register the VaultPilot MCP server in PolicyLayer and add a rule for prepare_marginfi_withdraw: 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 prepare_marginfi_withdraw? +

prepare_marginfi_withdraw is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit prepare_marginfi_withdraw? +

Yes. Add a rate_limit block to the prepare_marginfi_withdraw 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 prepare_marginfi_withdraw completely? +

Set action: deny in the PolicyLayer policy for prepare_marginfi_withdraw. 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 prepare_marginfi_withdraw? +

prepare_marginfi_withdraw 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.