Build an unsigned Uniswap V3 LP increaseLiquidity transaction — adds liquidity to an existing position identified by tokenId. Reads the position's (token0, token1, fee, tickLower, tickUpper) on-chain via positions(tokenId), so the caller only supplies the tokenId + amounts. Hard-refuses when the ...
AI agents invoke prepare_uniswap_v3_increase_liquidity to trigger actions in VaultPilot MCP. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
| Parameter | Type | Required | Description |
|---|---|---|---|
chain | string | — | |
wallet | string | Yes | |
tokenId | string | Yes | ERC-721 tokenId of the Uniswap V3 LP NFT to add liquidity to. The position must be owned by `wallet` — the builder reads ownerOf(tokenId) and refuses if it does |
approvalCap | string | — | Cap on the ERC-20 approval preceding this action. Omit for "unlimited" (standard DeFi UX — fewer follow-up approvals). Pass "exact" to approve only what this ac |
deadlineSec | integer | — | Seconds from now until the on-chain `deadline` parameter expires. Default 1200 (20 min). |
slippageBps | integer | — | Slippage tolerance in basis points (1 bp = 0.01%). Default 50 bps (0.5%). Hard ceiling 500 bps; soft cap 100 bps requires acknowledgeHighSlippage: true. |
amount0Desired | string | Yes | Human-readable decimal amount of the position's token0 to add. NOT raw wei. Pass "0" for a single-sided range deposit when the current price is outside the posi |
amount1Desired | string | Yes | Human-readable decimal amount of the position's token1. Same shape as amount0Desired. |
acknowledgeHighSlippage | boolean | — | Required when slippageBps is in (100, 500]. Surface the trade-off to the user before proceeding. |
Parameters from the server's own tool schema.
prepare_uniswap_v3_increase_liquidity triggers real processes with real consequences. An agent gone sideways doesn't fire it once — it starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.
Attacks that exploit this kind of access
Build an unsigned Uniswap V3 LP increaseLiquidity transaction — adds liquidity to an existing position identified by tokenId. Reads the position's (token0, token1, fee, tickLower, tickUpper) on-chain via positions(tokenId), so the caller only supplies the tokenId + amounts. Hard-refuses when the tokenId is not owned by wallet (the on-chain call would still succeed and route the deposit into someone else's position — the position owner gets the new liquidity). Use get_lp_positions to enumerate the wallet's tokenIds. Up to two ERC-20 approvals are chained ahead of the increaseLiquidity() call. v1 limitation: only WETH (not native ETH) is supported as a pair side; wrap ETH first via prepare_native_send to the WETH contract. Slippage defaults to 50 bps (0.5%); soft cap at 100 bps requires acknowledgeHighSlippage: true. Pass amount0Desired: "0" (or amount1Desired) for a single-sided range deposit when the current price is outside the position's range. It is categorised as a Execute tool in the VaultPilot MCP MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
prepare_uniswap_v3_increase_liquidity accepts 9 parameters: chain, wallet, tokenId, approvalCap, deadlineSec, slippageBps, amount0Desired, amount1Desired, acknowledgeHighSlippage. Required: wallet, tokenId, amount0Desired, amount1Desired. The full parameter table on this page comes from the server's own tool schema.
Register the VaultPilot MCP server in PolicyLayer and add a rule for prepare_uniswap_v3_increase_liquidity: 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.
prepare_uniswap_v3_increase_liquidity is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the prepare_uniswap_v3_increase_liquidity 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.
Set action: deny in the PolicyLayer policy for prepare_uniswap_v3_increase_liquidity. 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.
prepare_uniswap_v3_increase_liquidity 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.