# v4-sdk-integration

Скилл ведёт агента по Uniswap v4 SDK: сборка свапов через Universal Router, котировки, чтение состояния пула и работа с LP-позициями.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 729 установок · ★ 235
- Автор: uniswap
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/Uniswap/uniswap-ai/tree/HEAD/packages/plugins/uniswap-trading/skills/v4-sdk-integration/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/v4-sdk-integration

## Что делает

Скилл включается, когда вы просите агента собрать обмен токенов или управление ликвидностью напрямую через SDK, а не через Trading API. Внутри — справочник по пакетам `@uniswap/v4-sdk`, `@uniswap/sdk-core` и `@uniswap/universal-router-sdk`, таблица различий v3 и v4 и разбор ключевых контрактов: `PoolManager`, `Universal Router`, `Quoter`, `StateView`, `PositionManager`, `Permit2`.

Отдельно разобраны два паттерна. Свап строится цепочкой `V4Planner` → `RoutePlanner` → `execute()` Universal Router, с примерами для одного пула и для маршрута через несколько. Котировка идёт через `eth_call`: метод `quoteExactInputSingle` возвращает два значения, `amountOut` и `gasEstimate`, и в `amountOutMinimum` уходит только первое. Отправить котировку транзакцией — значит сжечь газ и не получить результат обратно.

Адреса контрактов в v4 различаются по сетям, поэтому перед деплоем их сверяют с deployments. Для одобрения токенов нужен `Permit2` — прямой `approve` здесь не работает. Если вы пишете Solidity-хуки, это другой скилл, `uniswap-hooks`.

Скилл рассчитан на модель `opus` и просит доступ к `Read`, `Write`, `Edit`, `Glob`, `Grep`, а также к `npm`, `npx`, `yarn` и `curl`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-sdk-integration -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/v4-sdk-integration/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/v4-sdk-integration/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-sdk-integration -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/v4-sdk-integration/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-sdk-integration -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/v4-sdk-integration/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Uniswap/uniswap-ai v4-sdk-integration
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/v4-sdk-integration/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-sdk-integration -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/Uniswap/uniswap-ai --path packages/plugins/uniswap-trading/skills/v4-sdk-integration
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/v4-sdk-integration/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-sdk-integration -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/Uniswap/uniswap-ai/tree/HEAD/packages/plugins/uniswap-trading/skills/v4-sdk-integration/SKILL.md

## Когда брать
- собрать свап токенов через Universal Router
- показать котировку и цену до подтверждения сделки
- добавить и вывести ликвидность из позиции
- прочитать состояние пула: цену, тик, ликвидность
- собрать маршрут обмена через несколько пулов

## Примеры запросов агенту
- Собери свап USDC в WETH на Uniswap v4 через V4Planner
- Как прочитать состояние пула v4 через StateView?
- Сделай котировку exact input single и подставь amountOutMinimum

## Похожие
- [claude-sdk-integration-patterns](https://affpapa.org/nevibecode/skills/claude-sdk-integration-patterns.md) — скилл · 434 установки
- [emblem-defi-yield](https://affpapa.org/nevibecode/skills/emblem-defi-yield.md) — скилл · 8700 установок
- [swap-tokens](https://affpapa.org/nevibecode/skills/swap-tokens.md) — скилл · 848 установок
- [impermanent-loss](https://affpapa.org/nevibecode/skills/impermanent-loss.md) — скилл · 426 установок
- [blockchain-developer](https://affpapa.org/nevibecode/skills/blockchain-developer.md) — скилл · 1200 установок
- [use-user-controlled-wallets](https://affpapa.org/nevibecode/skills/use-user-controlled-wallets.md) — скилл · 949 установок

Из того же набора: [uniswap/uniswap-ai](https://affpapa.org/nevibecode/by/uniswap/uniswap-ai.md) — 11 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
