# zap_into_lp_position

Maps to POST /addliquidity/quote. Builds a single-transaction zap to enter an LP position from ANY input token — the deposit token does NOT have to be one of the pool's underlying tokens. SwapWizard handles all intermediate swaps, the LP mint, and price-range setup in a single transaction. FULL CONCENTRATED LIQUIDITY SUPPORT: for CL pools (Uniswap V3/V4, PancakeSwap V3/Infinity CL, Aerodrome Slipstream, SushiSwap V3, Algebra forks like Camelot/THENA/QuickSwap, Fluid, Balancer V3) you can set a custom price range via tickLower/tickUpper — omit them for the protocol's default range. Classic pools (Curve, Balancer V2, Uniswap V2, Solidly) are also supported. Surplus returned to the user. Supports an optional affiliateCode (registered affiliate wallet address) forwarded to the API so the affiliate fee is paid on-chain to that address. IMPORTANT: The poolId parameter MUST come verbatim from the poolId field in the search_liquidity_pools response — do NOT construct or modify it. EXECUTION FLOW: (1) If the deposit token is non-native, send an ERC-20 approve to the router and WAIT for on-chain confirmation. (2) Call this tool again for a fresh quote (quotes expire). (3) Send the tx to the router contract: to=router, data=callData, value=value. This requires a private key or wallet signer. ⚠️ PRICE IMPACT: The response includes a priceImpact field. Agents MUST present this value to the user and request explicit confirmation before executing. ⚠️ ZERO OUTPUT: If an internal swap amount is too small, the API returns HTTP 400 with "swap amount too small: output rounds to zero". Increase the deposit amount.

Agent View of the PolicyLayer registry record for `zap_into_lp_position`. HTML page: https://policylayer.com/tools/defire-business-swapwizard-mcp/zap-into-lp-position

## Facts

- Tool: `zap_into_lp_position`
- Server: Swapwizard (`@swapwizard/mcp-server`) — https://policylayer.com/tools/defire-business-swapwizard-mcp.md
- Install: `npx -y @swapwizard/mcp-server`
- Homepage: https://github.com/DeFiRe-business/swapwizard-mcp
- Risk category: Financial (Critical risk)
- Registry record: grade D, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 7 (3 required)
- Recommended policy verdict: Approval-gated

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `poolId` | string | yes | Pool identifier from search_liquidity_pools (e.g. 'pancakeswap-v3:0x36696...') |
| `sender` | string | no | Wallet address of the sender (for simulation) |
| `chainId` | integer | yes | EVM chain ID |
| `deposits` | array | yes | Tokens and amounts to deposit |
| `tickLower` | integer | no | Custom lower tick for concentrated liquidity |
| `tickUpper` | integer | no | Custom upper tick for concentrated liquidity |
| `affiliateCode` | string | no | Optional affiliate wallet address registered on-chain with SwapWizard — forwarded to the API so the affiliate fee for this operation is paid to that address. Om |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "zap_into_lp_position",
    "arguments": {
      "poolId": "<poolId>",
      "chainId": 0,
      "deposits": []
    }
  }
}
```

## Why zap_into_lp_position is rated Critical

This tool executes on-chain DeFi transactions that commit real financial assets: it performs token swaps and mints LP positions in a single transaction. This constitutes a direct financial obligation/commitment of user funds across multiple AMMs on EVM chains, making it Financial category with critical severity due to the potential for significant asset loss if misused (wrong pool, wrong price range, wrong input…

From the tool's own definition: "Builds a single-transaction zap to enter an LP position from ANY input token — the deposit token does NOT have to be one of the pool's underlying tokens. SwapWizard handles all intermediate swaps, the LP mint, and price-range setup in a single transaction."

Risk signals: Handles credentials or secrets (deposits[].token)

## Use case

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

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Swapwizard:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "zap_into_lp_position": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on Swapwizard (10)

- `get_clean_quote` — Financial — https://policylayer.com/tools/defire-business-swapwizard-mcp/get-clean-quote.md
- `zap_out_of_lp_position` — Financial — https://policylayer.com/tools/defire-business-swapwizard-mcp/zap-out-of-lp-position.md
- `analyze_pool` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/analyze-pool.md
- `check_api_health` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/check-api-health.md
- `get_setup_guide` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/get-setup-guide.md
- `get_supported_chains` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/get-supported-chains.md
- `get_supported_dexes` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/get-supported-dexes.md
- `get_swap_quote` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/get-swap-quote.md
- `list_user_lp_positions` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/list-user-lp-positions.md
- `search_liquidity_pools` — Read — https://policylayer.com/tools/defire-business-swapwizard-mcp/search-liquidity-pools.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=defire-business-swapwizard-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/defire-business-swapwizard-mcp
