{
  "schemaVersion": "1.0",
  "item": {
    "slug": "uniswap",
    "name": "Uniswap",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/ivangdavila/uniswap",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/uniswap",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/uniswap",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=uniswap",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/uniswap"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/uniswap",
    "agentPageUrl": "https://openagent3.xyz/skills/uniswap/agent",
    "manifestUrl": "https://openagent3.xyz/skills/uniswap/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/uniswap/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Swap Execution",
        "body": "Slippage tolerance sets max acceptable price change — 0.5% for stablecoins, 1-3% for volatile pairs, higher for low liquidity tokens\n\"Price impact\" and \"slippage\" are different — impact is immediate effect of your trade size, slippage is protection against price movement\nHigh price impact (>2%) means you're moving the market — split large trades or use limit orders on Uniswap X\nTransaction deadline prevents stale swaps — 20-30 minutes default is usually fine, but pending tx beyond deadline will fail"
      },
      {
        "title": "MEV and Frontrunning",
        "body": "Public swaps on Uniswap are visible in mempool before execution — bots can sandwich your trade\nUse MEV protection: swap through Uniswap wallet (built-in protection), or connect via Flashbots Protect RPC\nSigns of sandwich: execution price worse than quoted, with suspicious buy before and sell after your tx\nUniswap X routes through private order flow — significantly reduces MEV extraction"
      },
      {
        "title": "Token Approval Traps",
        "body": "First swap of any token requires approval transaction — this is normal, costs gas, and happens once per token per spender\n\"Infinite approval\" is the default — convenient but risky if Uniswap router is ever compromised\nCheck and revoke old approvals at revoke.cash — approvals persist forever until explicitly revoked\nApproval transaction can succeed while swap fails — user pays gas for approval but swap reverts on slippage"
      },
      {
        "title": "Fake Tokens",
        "body": "Anyone can create a token with any name and symbol — \"USDC\" on Uniswap might not be real USDC\nAlways verify token contract address on CoinGecko, CoinMarketCap, or project's official site\nWarning signs: no liquidity, recently created, honeypot (can buy but not sell), tax on transfer\nUniswap shows warning for unverified tokens — don't ignore it, especially for tokens you found via links"
      },
      {
        "title": "Liquidity Provision",
        "body": "Impermanent loss is real and permanent when you withdraw — LPs lose vs just holding when prices diverge\nV3 concentrated liquidity amplifies both gains and losses — narrow range means more fees but higher IL risk\nOut-of-range positions earn zero fees — price moves outside your range, you hold 100% of the depreciating asset\nV2 is simpler: full range, less management, but less capital efficient — consider for volatile pairs you want to forget"
      },
      {
        "title": "V3 Position Management",
        "body": "Narrower range = more fees per dollar but more rebalancing — only worth it if you actively manage\nGas costs to adjust positions add up — each add/remove liquidity is a transaction\n\"Collect fees\" is separate from \"remove liquidity\" — uncollected fees stay in the position\nNFT represents your V3 position — losing the NFT means losing access to the liquidity"
      },
      {
        "title": "Gas Optimization",
        "body": "Approve + swap is two transactions on first use — budget gas for both\nL2s (Arbitrum, Base, Optimism) have Uniswap with 10-50x lower fees — same interface, same liquidity depth\nSwapping during low gas periods (weekends, UTC night) saves significantly on mainnet\nFailed transactions still cost gas — simulate first if unsure about slippage or liquidity"
      },
      {
        "title": "Failed Swap Causes",
        "body": "\"Insufficient liquidity\" — try smaller amount or different route\n\"Slippage exceeded\" — price moved during pending period, increase slippage or retry\n\"Transfer failed\" — token has transfer tax or restrictions, may be a scam token\n\"Deadline exceeded\" — transaction was pending too long, just retry\n\"Approve first\" — need to approve token before swap, this is normal"
      },
      {
        "title": "Uniswap X and Limit Orders",
        "body": "Uniswap X uses off-chain orders filled by market makers — no gas if order isn't filled\nLimit orders let you set target price — order sits until price is reached or expires\nPartial fills possible — large orders may fill incrementally\nCheck order status in the app — pending orders can be cancelled"
      },
      {
        "title": "Safety Checklist Before Large Swaps",
        "body": "Verify token contract address matches official source\nCheck price impact percentage — high impact means bad execution\nConfirm slippage is set appropriately for the pair\nUse MEV protection for mainnet trades\nConsider splitting very large trades\nDouble-check recipient address if sending to different wallet"
      }
    ],
    "body": "Swap Execution\nSlippage tolerance sets max acceptable price change — 0.5% for stablecoins, 1-3% for volatile pairs, higher for low liquidity tokens\n\"Price impact\" and \"slippage\" are different — impact is immediate effect of your trade size, slippage is protection against price movement\nHigh price impact (>2%) means you're moving the market — split large trades or use limit orders on Uniswap X\nTransaction deadline prevents stale swaps — 20-30 minutes default is usually fine, but pending tx beyond deadline will fail\nMEV and Frontrunning\nPublic swaps on Uniswap are visible in mempool before execution — bots can sandwich your trade\nUse MEV protection: swap through Uniswap wallet (built-in protection), or connect via Flashbots Protect RPC\nSigns of sandwich: execution price worse than quoted, with suspicious buy before and sell after your tx\nUniswap X routes through private order flow — significantly reduces MEV extraction\nToken Approval Traps\nFirst swap of any token requires approval transaction — this is normal, costs gas, and happens once per token per spender\n\"Infinite approval\" is the default — convenient but risky if Uniswap router is ever compromised\nCheck and revoke old approvals at revoke.cash — approvals persist forever until explicitly revoked\nApproval transaction can succeed while swap fails — user pays gas for approval but swap reverts on slippage\nFake Tokens\nAnyone can create a token with any name and symbol — \"USDC\" on Uniswap might not be real USDC\nAlways verify token contract address on CoinGecko, CoinMarketCap, or project's official site\nWarning signs: no liquidity, recently created, honeypot (can buy but not sell), tax on transfer\nUniswap shows warning for unverified tokens — don't ignore it, especially for tokens you found via links\nLiquidity Provision\nImpermanent loss is real and permanent when you withdraw — LPs lose vs just holding when prices diverge\nV3 concentrated liquidity amplifies both gains and losses — narrow range means more fees but higher IL risk\nOut-of-range positions earn zero fees — price moves outside your range, you hold 100% of the depreciating asset\nV2 is simpler: full range, less management, but less capital efficient — consider for volatile pairs you want to forget\nV3 Position Management\nNarrower range = more fees per dollar but more rebalancing — only worth it if you actively manage\nGas costs to adjust positions add up — each add/remove liquidity is a transaction\n\"Collect fees\" is separate from \"remove liquidity\" — uncollected fees stay in the position\nNFT represents your V3 position — losing the NFT means losing access to the liquidity\nGas Optimization\nApprove + swap is two transactions on first use — budget gas for both\nL2s (Arbitrum, Base, Optimism) have Uniswap with 10-50x lower fees — same interface, same liquidity depth\nSwapping during low gas periods (weekends, UTC night) saves significantly on mainnet\nFailed transactions still cost gas — simulate first if unsure about slippage or liquidity\nFailed Swap Causes\n\"Insufficient liquidity\" — try smaller amount or different route\n\"Slippage exceeded\" — price moved during pending period, increase slippage or retry\n\"Transfer failed\" — token has transfer tax or restrictions, may be a scam token\n\"Deadline exceeded\" — transaction was pending too long, just retry\n\"Approve first\" — need to approve token before swap, this is normal\nUniswap X and Limit Orders\nUniswap X uses off-chain orders filled by market makers — no gas if order isn't filled\nLimit orders let you set target price — order sits until price is reached or expires\nPartial fills possible — large orders may fill incrementally\nCheck order status in the app — pending orders can be cancelled\nSafety Checklist Before Large Swaps\nVerify token contract address matches official source\nCheck price impact percentage — high impact means bad execution\nConfirm slippage is set appropriately for the pair\nUse MEV protection for mainnet trades\nConsider splitting very large trades\nDouble-check recipient address if sending to different wallet"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/uniswap",
    "publisherUrl": "https://clawhub.ai/ivangdavila/uniswap",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/uniswap",
    "downloadUrl": "https://openagent3.xyz/downloads/uniswap",
    "agentUrl": "https://openagent3.xyz/skills/uniswap/agent",
    "manifestUrl": "https://openagent3.xyz/skills/uniswap/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/uniswap/agent.md"
  }
}