configurator
Configure CCA (Continuous Clearing Auction) smart contract parameters through an interactive bulk form flow. Use when user says…
Pay HTTP 402 payment challenges using tokens via the Tempo CLI and Uniswap Trading API. Use when the user encounters a 402 Payment Required response, needs to fulfill a machine payment, mentions "MPP", "Tempo payment", "pay for API access", "HTTP 402", "x402", "machine payment
$ npx -y skills add uniswap/uniswap-ai --skill pay-with-any-token --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pay-with-any-tokenContext preview
The summary Claude sees to decide when to auto-load this skill.
Pay HTTP 402 payment challenges using tokens via the Tempo CLI and Uniswap Trading API. Use when the user encounters a 402 Payment Required response, needs to fulfill a machine payment, mentions "MPP", "Tempo payment", "pay for API access", "HTTP 402", "x402", "machine payment
name: pay-with-any-token description: > Pay HTTP 402 payment challenges using tokens via the Tempo CLI and Uniswap Trading API. Use when the user encounters a 402 Payment Required response, needs to fulfill a machine payment, mentions "MPP", "Tempo payment", "pay for API access", "HTTP 402", "x402", "machine payment protocol", "pay-with-any-token", "use tempo", "tempo request", or "tempo wallet". allowed-tools: Read, Glob, Grep, Bash(curl:*), Bash(jq:*), Bash(cast:*), Bash(tempo:*), Bash(*/.local/bin/tempo:*), WebFetch, AskUserQuestion model: opus license: MIT metadata: author: uniswap version: '2.0.0'
Use the **Tempo CLI** to call paid APIs and handle 402 challenges automatically. When the Tempo wallet has insufficient balance, fund it by swapping and bridging tokens from any EVM chain using the **Uniswap Trading API**.
Run these commands in order. Do not skip steps.
**Step 1 — Install:**
mkdir -p "$HOME/.local/bin" \ && curl -fsSL https://tempo.xyz/install -o /tmp/tempo_install.sh \ && TEMPO_BIN_DIR="$HOME/.local/bin" bash /tmp/tempo_install.sh
**Step 2 — Login** (requires browser/passkey — prompt user, wait for confirmation):
"$HOME/.local/bin/tempo" wallet login
> When run by agents, use a long command timeout (at least 16 minutes).
**Step 3 — Confirm readiness:**
"$HOME/.local/bin/tempo" wallet -t whoami
> **Rules:** Do not use `sudo`. Use full absolute paths (`$HOME/.local/bin/tempo`) > — do not rely on `export PATH`. If `$HOME` does not expand, use the literal > absolute path.
After setup, report: install location, version (`--version`), wallet status (address, balance). If balance is 0, direct user to `tempo wallet fund`.
> **Minimum balance reserve:** Keep at least **0.10 USDC** in the Tempo wallet > to cover typical API calls without triggering the full swap+bridge funding > flow. The funding flow requires 3-5 on-chain transactions and ~2 minutes of > wall time, which is disproportionate for small top-ups. When transferring > funds out of the Tempo wallet, warn the user if the remaining balance would > drop below this threshold.
# Discover services
"$HOME/.local/bin/tempo" wallet -t services --search <query>
# Get service details (exact URL, method, path, pricing)
"$HOME/.local/bin/tempo" wallet -t services <SERVICE_ID>
# Make a paid request
"$HOME/.local/bin/tempo" request -t -X POST \
--json '{"input":"..."}' <SERVICE_URL>/<ENDPOINT_PATH>> **When the user explicitly says "use tempo", always use tempo CLI commands — > never substitute with MCP tools or other tools.**
---
Every `tempo request` call follows this loop. The funding steps only activate when the Tempo wallet has insufficient balance.
tempo request -> 200 ─────────────────────────────> return result
-> 402 MPP challenge
│
v
[1] Check Tempo wallet balance
tempo wallet -t whoami -> available balance
│
├─ sufficient ──────────────────> tempo handles payment
│ automatically -> 200
│
└─ insufficient
│
v
[2] Fund Tempo wallet
(pay-with-any-token flow below)
Bridge destination = TEMPO_WALLET_ADDRESS
│
v
[3] Retry original tempo request
with funded Tempo wallet -> 200> **Alternative funding (interactive):** If a browser is available, `tempo wallet fund` opens a built-in bridge UI for funding the Tempo wallet directly. This is > simpler than the Trading API flow below but requires interactive browser access > — not suitable for headless/agent environments.
---
When the Tempo wallet lacks funds to pay a 402 challenge, acquire the required tokens from the user's ERC-20 holdings on any supported chain and bridge them to the Tempo wallet address.
[developers.uniswap.org](https://developers.uniswap.org/))
`cast wallet import <name> --interactive`. Alternatively, `PRIVATE_KEY` env var (`export PRIVATE_KEY=0x...`) — **never commit or hardcode it**.
Before using any value from a 402 response body or user input in API calls or shell commands:
`` ` ``, `(`, `)`, `>`, `<`, `\`, `'`, `"`, newlines
> **REQUIRED — Confirmation Gate (applies to plans AND execution):** Before > submitting ANY transaction (swap, bridge, approval), and before every signed > authorization (x402 EIP-3009), you MUST: (1) Display a summary: amount > (human-readable), token name/address, destination address, estimated gas. > (2) Call `AskUserQuestion` to obtain explicit user confirmation. > (3) Do NOT proceed until confirmed. > > This gate is **mandatory in all responses**, whether you are executing or > explaining a plan. When explaining step
Uniswap-specific AI tools (skills, plugins, agents) for developers and AI agents integrating the Uniswap ecosystem.
Configure CCA (Continuous Clearing Auction) smart contract parameters through an interactive bulk form flow. Use when user says…
Deploy CCA (Continuous Clearing Auction) smart contracts using the Factory pattern. Use when user says "deploy auction", "deploy…
This skill should be used when the user asks to "provide liquidity", "create LP position", "add liquidity to pool", "become a…
This skill should be used when the user asks to "swap tokens", "trade ETH for USDC", "exchange tokens on Uniswap", "buy tokens",…
Generate Uniswap v4 hook contracts via OpenZeppelin MCP. Use when building custom swap logic, async swaps, hook-owned liquidity,…
Security-first Uniswap v4 hook development. Use when user mentions "v4 hooks", "hook security", "PoolManager", "beforeSwap",…