[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-uniswap-swap-planner":3,"mdc-aqpz6u-key":36,"related-repo-uniswap-swap-planner":5155,"related-org-uniswap-swap-planner":5246},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"swap-planner","plan and execute token swaps","This skill should be used when the user asks to \"swap tokens\", \"trade ETH for USDC\", \"exchange tokens on Uniswap\", \"buy tokens\", \"sell tokens\", \"convert ETH to stablecoins\", \"find memecoins\", \"discover tokens\", \"research tokens\", \"tokens to buy\", \"find tokens to swap\", \"what should I buy\", or mentions swapping, trading, researching, discovering, buying, or exchanging tokens on any Uniswap-supported chain. Supports both known token swaps and token discovery workflows (discovery uses keyword search and web search — there is no live \"trending\" feed). Generates deep links to execute swaps in the Uniswap interface.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"uniswap","Uniswap","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Funiswap.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Web3","web3","tag",{"name":17,"slug":18,"type":15},"DeFi","defi",{"name":20,"slug":21,"type":15},"Trading","trading",{"name":23,"slug":24,"type":15},"Liquidity","liquidity",215,"https:\u002F\u002Fgithub.com\u002FUniswap\u002Funiswap-ai","2026-07-17T06:08:10.008152","MIT",35,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"AI tools for building on Uniswap — skills, plugins, and agents for any coding agent.","https:\u002F\u002Fgithub.com\u002FUniswap\u002Funiswap-ai\u002Ftree\u002FHEAD\u002Fpackages\u002Fplugins\u002Funiswap-driver\u002Fskills\u002Fswap-planner","---\nname: swap-planner\ndescription: This skill should be used when the user asks to \"swap tokens\", \"trade ETH for USDC\", \"exchange tokens on Uniswap\", \"buy tokens\", \"sell tokens\", \"convert ETH to stablecoins\", \"find memecoins\", \"discover tokens\", \"research tokens\", \"tokens to buy\", \"find tokens to swap\", \"what should I buy\", or mentions swapping, trading, researching, discovering, buying, or exchanging tokens on any Uniswap-supported chain. Supports both known token swaps and token discovery workflows (discovery uses keyword search and web search — there is no live \"trending\" feed). Generates deep links to execute swaps in the Uniswap interface.\nallowed-tools: Read, Glob, Grep, Bash(curl:*), Bash(jq:*), Bash(cast:*), Bash(xdg-open:*), Bash(open:*), WebFetch, WebSearch, Task(subagent_type:Explore), AskUserQuestion\nmodel: sonnet\nlicense: MIT\nmetadata:\n  author: uniswap\n  version: '0.2.1'\n---\n\n# Swap Planning\n\nPlan and generate deep links for token swaps on Uniswap across all supported chains.\n\n> **Runtime Compatibility:** This skill uses `AskUserQuestion` for interactive prompts. If `AskUserQuestion` is not available in your runtime, collect the same parameters through natural language conversation instead.\n\n## Overview\n\nPlan token swaps by:\n\n1. Gathering swap intent (tokens, amounts, chain)\n2. Verifying token contracts on-chain\n3. Researching tokens via web search when needed\n4. Generating a deep link that opens in the Uniswap interface with parameters pre-filled\n\nThe generated link opens Uniswap with all parameters ready for execution.\n\n> **Note:** Browser opening (`xdg-open`\u002F`open`) may fail in SSH, containerized, or headless environments. Always display the URL prominently so users can copy and access it manually if needed.\n\n> **File Access:** This skill has read-only filesystem access. Never read files outside the current project directory unless explicitly requested by the user.\n\n## Workflow\n\n### Step 0: Token Discovery (When Needed)\n\nIf the user wants to **discover** tokens rather than swap a known token (e.g., \"find me a memecoin\", \"what's trending on Base\"), help them explore before proceeding to the swap.\n\n#### Option A: Search by Keyword\n\nDexScreener search works best with specific terms:\n\n```bash\n# Search for tokens by name\u002Fcategory (e.g., \"degen\", \"pepe\", \"ai agent\")\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Flatest\u002Fdex\u002Fsearch?q=degen\" | \\\n  jq '[.pairs[] | select(.chainId == \"base\" and .dexId == \"uniswap\")] |\n    sort_by(-.volume.h24) | .[0:5] | map({\n      token: .baseToken.symbol,\n      address: .baseToken.address,\n      price: .priceUsd,\n      volume24h: .volume.h24,\n      liquidity: .liquidity.usd\n    })'\n```\n\n**Good search terms:** `degen`, `pepe`, `ai`, `agent`, `meme`, `dog`, `cat`, or specific token names\n\n#### Option B: Check Promoted Tokens\n\nGet tokens with active promotions (limited selection):\n\n```bash\n# Get boosted\u002Fpromoted tokens on a chain\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-boosts\u002Ftop\u002Fv1\" | \\\n  jq '[.[] | select(.chainId == \"base\")] | .[0:5] | map({\n    tokenAddress,\n    url\n  })'\n```\n\n#### Option C: Web Search + Verify\n\nFor broad discovery (\"what's trending\"), use web search to find tokens, then verify with DexScreener:\n\n```bash\n# After finding a token address from web search, verify it exists\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-pairs\u002Fv1\u002F{network}\u002F{address}\" | \\\n  jq '[.[] | select(.dexId == \"uniswap\")][0] | {\n    name: .baseToken.name,\n    symbol: .baseToken.symbol,\n    price: .priceUsd,\n    liquidity: .liquidity.usd,\n    volume24h: .volume.h24\n  }'\n```\n\n**Network IDs:** See `references\u002Fchains.md` for the full list with DexScreener and DefiLlama provider IDs. Common IDs: `ethereum`, `base`, `arbitrum`, `optimism`, `polygon`, `bsc`, `avalanche`, `unichain`.\n\n**DexScreener coverage varies by chain.** Ethereum, Base, and Arbitrum have deep Uniswap data. Celo, Blast, Zora, and World Chain have limited Uniswap pool coverage — fewer results and potentially missing pairs. Fall back to DefiLlama for price data when DexScreener returns empty results (see `references\u002Fdata-providers.md`).\n\n**Note:** DexScreener's public API doesn't have a \"trending\" or \"top gainers\" endpoint. Token discovery uses keyword search (`\u002Flatest\u002Fdex\u002Fsearch`) and web search as a fallback. For general discovery, ask the user what type of token they're looking for and search by keyword.\n\n#### Category-Based Discovery\n\nFor specific categories (memecoins, DeFi, gaming tokens), use web search:\n\n```text\n\"trending {category} {chain} {current_year}\"\n```\n\nExample: `\"trending memecoins Base 2026\"`\n\n#### ⚠️ UNTRUSTED INPUT: Web-Discovered Tokens\n\nTokens discovered via WebSearch are **UNTRUSTED**. Before proceeding with any web-discovered token:\n\n1. **Label the source**: Explicitly tell the user \"This token address was found via web search, not provided by you\"\n2. **Warn about risks**: \"Web-discovered tokens may be scams, honeypots, or rug pulls\"\n3. **Require confirmation**: Use AskUserQuestion to get explicit user consent before generating a deep link for a web-discovered token\n4. **Show provenance**: In the swap summary table, include a \"Token Source\" row showing whether each token was \"User-provided\" or \"Web-discovered (unverified)\"\n\n**Never proceed with a web-discovered token without explicit user confirmation via AskUserQuestion.**\n\n#### Present Options to User\n\nAfter gathering token data, present options using AskUserQuestion:\n\n```json\n{\n  \"questions\": [\n    {\n      \"question\": \"Which token would you like to swap to?\",\n      \"header\": \"Token\",\n      \"options\": [\n        { \"label\": \"MOLT ($23M mcap)\", \"description\": \"$5.9M liquidity, $7.8M 24h volume\" },\n        { \"label\": \"CLANKER ($31M mcap)\", \"description\": \"$3.1M liquidity, established token\" },\n        { \"label\": \"CLAWSTR ($13M mcap)\", \"description\": \"$2.1M liquidity, high volume spike\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n```\n\n#### Risk Assessment for Trending Tokens\n\nEvaluate tokens before recommending:\n\n| Metric       | Low Risk   | Medium Risk       | High Risk |\n| ------------ | ---------- | ----------------- | --------- |\n| Market Cap   | >$50M      | $5M-$50M          | \u003C$5M      |\n| Pool TVL     | >$1M       | $100k-$1M         | \u003C$100k    |\n| 24h Volume   | Consistent | Spiking unusually | Very low  |\n| Contract Age | >30 days   | 7-30 days         | \u003C7 days   |\n\n**Always disclose risk level** when presenting options. For high-risk tokens, explicitly warn about volatility and potential for loss.\n\n#### Mandatory Warnings for High-Risk Tokens\n\nWhen ANY of these conditions are met, you MUST use AskUserQuestion to warn the user and get explicit confirmation before generating a deep link:\n\n- **Contract age \u003C 7 days**: \"This token contract is less than 7 days old. New tokens carry significantly higher risk of being scams or rug pulls.\"\n- **Pool TVL \u003C $100k**: \"This pool has very low liquidity. You may experience significant slippage and difficulty selling.\"\n- **No sell liquidity detected**: \"This token may be a honeypot — tokens that can be bought but not sold. Proceed with extreme caution.\"\n- **Market cap \u003C $5M**: \"This is a micro-cap token with high volatility. Only invest what you can afford to lose entirely.\"\n\nDo NOT generate a deep link for high-risk tokens without explicit user acknowledgment via AskUserQuestion.\n\n---\n\n### Step 1: Gather Swap Intent\n\nExtract from the user's request:\n\n| Parameter    | Required                | Example                   |\n| ------------ | ----------------------- | ------------------------- |\n| Input token  | Yes                     | ETH, USDC, token address  |\n| Output token | Yes                     | USDC, WBTC, token address |\n| Amount       | Yes                     | 1.5 ETH, $500 worth       |\n| Chain        | Yes (default: Ethereum) | Base, Arbitrum, etc.      |\n\n**If any required parameter is missing, use AskUserQuestion with structured options:**\n\nFor missing chain:\n\n```json\n{\n  \"questions\": [\n    {\n      \"question\": \"Which chain do you want to swap on?\",\n      \"header\": \"Chain\",\n      \"options\": [\n        { \"label\": \"Base (Recommended)\", \"description\": \"Low gas fees, fast transactions\" },\n        { \"label\": \"Ethereum\", \"description\": \"Main network, higher gas\" },\n        { \"label\": \"Arbitrum\", \"description\": \"Low fees, Ethereum L2\" },\n        { \"label\": \"Optimism\", \"description\": \"Low fees, Ethereum L2\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n```\n\nFor missing output token (when input is ETH):\n\n```json\n{\n  \"questions\": [\n    {\n      \"question\": \"What token do you want to receive?\",\n      \"header\": \"Output\",\n      \"options\": [\n        { \"label\": \"USDC\", \"description\": \"USD stablecoin\" },\n        { \"label\": \"USDT\", \"description\": \"Tether stablecoin\" },\n        { \"label\": \"DAI\", \"description\": \"Decentralized stablecoin\" },\n        { \"label\": \"WBTC\", \"description\": \"Wrapped Bitcoin\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n```\n\nFor missing amount:\n\n```json\n{\n  \"questions\": [\n    {\n      \"question\": \"How much do you want to swap?\",\n      \"header\": \"Amount\",\n      \"options\": [\n        { \"label\": \"0.1 ETH\", \"description\": \"~$320\" },\n        { \"label\": \"0.5 ETH\", \"description\": \"~$1,600\" },\n        { \"label\": \"1 ETH\", \"description\": \"~$3,200\" },\n        { \"label\": \"Custom amount\", \"description\": \"Enter specific amount\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n```\n\nAlways use forms instead of plain text questions for better UX.\n\n### Step 2: Resolve Token Addresses\n\nFor token symbols, resolve to addresses using known tokens or web search:\n\n**Native tokens**: Use `NATIVE` as the address parameter.\n\n**Common tokens by chain** - see `..\u002F..\u002Freferences\u002Fchains.md` for full list:\n\n| Token | Ethereum                                     | Base                                         | Arbitrum                                     |\n| ----- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |\n| USDC  | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` | `0xaf88d065e77c8cC2239327C5EDb3A432268e5831` |\n| WETH  | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | `0x4200000000000000000000000000000000000006` | `0x82aF49447D8a07e3bd95BD0d56f35241523fBab1` |\n| WBTC  | `0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599` | N\u002FA                                          | `0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f` |\n\nFor unknown tokens, use web search to find the contract address, then verify on-chain.\n\n### Step 3: Verify Token Contracts (Basic)\n\n**Input Validation (Required Before Any Shell Command):**\n\nBefore interpolating user-provided values into any shell command, validate all inputs:\n\n- **Token addresses** MUST match: `^0x[a-fA-F0-9]{40}$`\n- **Chain\u002Fnetwork names** MUST be from the allowed list in `..\u002F..\u002Freferences\u002Fchains.md`\n- **Amounts** MUST be valid decimal numbers (match: `^[0-9]+\\.?[0-9]*$`)\n- **Reject** any input containing shell metacharacters (`;`, `|`, `$`, `` ` ``, `&`, `(`, `)`, `>`, `\u003C`, `\\`, `'`, `\"`, newlines)\n\nVerify token contracts exist on-chain using curl (RPC call):\n\n```bash\n# Check if address is a contract using eth_getCode\n# IMPORTANT: Validate token_address matches ^0x[a-fA-F0-9]{40}$ before use\ncurl -s -X POST \"$rpc_url\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"$(jq -n --arg addr \"$token_address\" '{\"jsonrpc\":\"2.0\",\"method\":\"eth_getCode\",\"params\":[$addr,\"latest\"],\"id\":1}')\" \\\n  | jq -r '.result'\n```\n\nIf the result is `0x` or empty, the address is not a valid contract.\n\n**Alternative with cast** (optional, requires [Foundry](https:\u002F\u002Fbook.getfoundry.sh\u002F)):\n\n```bash\n# Validate token_address matches ^0x[a-fA-F0-9]{40}$ before use\ncast code \"$token_address\" --rpc-url \"$rpc_url\"\n```\n\n**Note:** The curl\u002FRPC method above is preferred for broader compatibility. Only use `cast` if already available in the environment. This skill ONLY uses `cast code` for contract verification. Do not use any other cast subcommands. The PreToolUse hook in `.claude\u002Fhooks\u002Fvalidate-forge-cast.sh` enforces this programmatically.\n\n**RPC URLs by chain** - see `..\u002F..\u002Freferences\u002Fchains.md` for full list.\n\n### Step 4: Research (If Needed)\n\nFor unfamiliar tokens, use web search to research:\n\n- Token legitimacy and project info\n- Recent news or security concerns\n- Liquidity availability on Uniswap\n\nInclude relevant findings in the summary.\n\n### Step 5: Fetch Price Data\n\nBefore generating the deep link, fetch current prices to estimate swap output. See `references\u002Fdata-providers.md` for full API details.\n\n**Quick price lookup with DexScreener:**\n\n```bash\n# Get token price and pool liquidity\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-pairs\u002Fv1\u002F{network}\u002F{address}\" | \\\n  jq '[.[] | select(.dexId == \"uniswap\")][0] | {\n    price: .priceUsd,\n    liquidity: .liquidity.usd,\n    volume24h: .volume.h24\n  }'\n```\n\n**Network IDs:** `ethereum`, `base`, `arbitrum`, `optimism`, `polygon`, `bsc`, `avalanche`, `unichain`\n\n**Liquidity warnings:**\n\n| Pool TVL    | Risk Level | Action                        |\n| ----------- | ---------- | ----------------------------- |\n| > $1M       | Low        | Proceed normally              |\n| $100k - $1M | Medium     | Note potential slippage       |\n| \u003C $100k     | High       | Warn user about slippage risk |\n\nIf API is unavailable, fall back to DefiLlama or web search for price estimates.\n\n### Step 6: Generate Deep Link\n\nConstruct the Uniswap swap URL:\n\n```text\nhttps:\u002F\u002Fapp.uniswap.org\u002Fswap?chain={chain}&inputCurrency={input}&outputCurrency={output}&value={amount}&field=INPUT\n```\n\n**URL Parameters:**\n\n| Parameter        | Description                  | Values                                                                                                                       |\n| ---------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| `chain`          | Network name                 | `ethereum`, `base`, `arbitrum`, `optimism`, `polygon`, `bnb`, `avalanche`, `celo`, `blast`, `zora`, `unichain`, `worldchain` |\n| `inputCurrency`  | Input token                  | Address or `NATIVE`                                                                                                          |\n| `outputCurrency` | Output token                 | Address or `NATIVE`                                                                                                          |\n| `value`          | Amount                       | Decimal number (e.g., `1.5`)                                                                                                 |\n| `field`          | Which field value applies to | `INPUT` or `OUTPUT`                                                                                                          |\n\n### Step 7: Present Output and Open Browser\n\nFormat the response with:\n\n1. **Summary** of the swap parameters\n2. **Deep link** URL (displayed for reference)\n3. **Notes** about risks or considerations\n4. **Open the browser** automatically using system command\n\n**Example output format:**\n\n```markdown\n## Swap Summary\n\n| Parameter        | Value                      |\n| ---------------- | -------------------------- |\n| From             | 1 ETH                      |\n| To               | USDC                       |\n| Chain            | Base                       |\n| Current Rate     | ~3,200 USDC per ETH        |\n| Estimated Output | ~3,200 USDC                |\n| Pool Liquidity   | $15.2M (Low slippage risk) |\n\n### Notes\n\n- Final amount depends on current market price\n- Default slippage is 0.5% - adjust in Uniswap if needed\n- Review all details in Uniswap before confirming\n\nOpening Uniswap in your browser...\n```\n\n**After displaying the summary, open the URL in the browser:**\n\n```bash\n# Linux\nxdg-open \"https:\u002F\u002Fapp.uniswap.org\u002Fswap?chain=base&inputCurrency=NATIVE&outputCurrency=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&value=1&field=INPUT\"\n\n# macOS\nopen \"https:\u002F\u002Fapp.uniswap.org\u002Fswap?...\"\n```\n\n**Environment limitations:** Browser opening may fail in remote SSH, containerized, or headless environments. If `xdg-open`\u002F`open` fails, display the full URL prominently so users can copy and paste it manually:\n\n```markdown\n**[Click here to open in Uniswap](https:\u002F\u002Fapp.uniswap.org\u002Fswap?...)**\n\nOr copy this URL: `https:\u002F\u002Fapp.uniswap.org\u002Fswap?...`\n```\n\nAlways present the summary and URL so users can review and execute.\n\n## Important Considerations\n\n### Slippage\n\nThe deep link uses Uniswap's default slippage (0.5%). For volatile tokens or large trades, advise users to adjust slippage in the interface.\n\n### Gas Estimation\n\nGas costs vary by chain and network congestion. Base and Arbitrum typically have lower gas than Ethereum mainnet.\n\n### Token Verification\n\nAlways verify token contracts before generating links. Scam tokens often use similar names to legitimate tokens.\n\n### Price Impact\n\nFor large trades, warn users about potential price impact. Suggest splitting into smaller trades if impact would be significant.\n\n## Supported Chains\n\nAll chains supported by the Uniswap interface:\n\n- Ethereum Mainnet (`ethereum`)\n- Base (`base`)\n- Arbitrum One (`arbitrum`)\n- Optimism (`optimism`)\n- Polygon (`polygon`)\n- BNB Chain (`bnb`)\n- Avalanche (`avalanche`)\n- Celo (`celo`)\n- Blast (`blast`)\n- Zora (`zora`)\n- World Chain (`worldchain`)\n- Unichain (`unichain`)\n\n## Additional Resources\n\n### Reference Files\n\n- **`..\u002F..\u002Freferences\u002Fchains.md`** - Chain IDs, RPC URLs, native tokens, common token addresses\n- **`references\u002Fdata-providers.md`** - DexScreener and DefiLlama APIs for prices and liquidity\n\n### Examples\n\nCommon swap scenarios:\n\n- ETH → USDC on Ethereum\n- ETH → USDC on Base (lower gas)\n- USDC → WBTC on Arbitrum\n",{"data":37,"body":42},{"name":4,"description":6,"allowed-tools":38,"model":39,"license":28,"metadata":40},"Read, Glob, Grep, Bash(curl:*), Bash(jq:*), Bash(cast:*), Bash(xdg-open:*), Bash(open:*), WebFetch, WebSearch, Task(subagent_type:Explore), AskUserQuestion","sonnet",{"author":8,"version":41},"0.2.1",{"type":43,"children":44},"root",[45,54,60,91,98,103,128,133,162,175,181,188,200,207,212,365,426,432,437,528,534,539,654,729,747,764,770,775,785,796,802,814,857,865,871,876,1316,1322,1327,1457,1467,1473,1478,1522,1527,1531,1537,1542,1639,1647,1652,2133,2138,2620,2625,3106,3111,3117,3122,3140,3158,3286,3291,3297,3305,3310,3455,3460,3631,3644,3665,3723,3755,3771,3777,3782,3800,3805,3811,3823,3831,3924,3979,3987,4067,4072,4078,4083,4092,4100,4335,4341,4346,4389,4397,4712,4720,4790,4813,4878,4883,4889,4895,4900,4906,4911,4917,4922,4928,4933,4939,4944,5079,5085,5091,5120,5126,5131,5149],{"type":46,"tag":47,"props":48,"children":50},"element","h1",{"id":49},"swap-planning",[51],{"type":52,"value":53},"text","Swap Planning",{"type":46,"tag":55,"props":56,"children":57},"p",{},[58],{"type":52,"value":59},"Plan and generate deep links for token swaps on Uniswap across all supported chains.",{"type":46,"tag":61,"props":62,"children":63},"blockquote",{},[64],{"type":46,"tag":55,"props":65,"children":66},{},[67,73,75,82,84,89],{"type":46,"tag":68,"props":69,"children":70},"strong",{},[71],{"type":52,"value":72},"Runtime Compatibility:",{"type":52,"value":74}," This skill uses ",{"type":46,"tag":76,"props":77,"children":79},"code",{"className":78},[],[80],{"type":52,"value":81},"AskUserQuestion",{"type":52,"value":83}," for interactive prompts. If ",{"type":46,"tag":76,"props":85,"children":87},{"className":86},[],[88],{"type":52,"value":81},{"type":52,"value":90}," is not available in your runtime, collect the same parameters through natural language conversation instead.",{"type":46,"tag":92,"props":93,"children":95},"h2",{"id":94},"overview",[96],{"type":52,"value":97},"Overview",{"type":46,"tag":55,"props":99,"children":100},{},[101],{"type":52,"value":102},"Plan token swaps by:",{"type":46,"tag":104,"props":105,"children":106},"ol",{},[107,113,118,123],{"type":46,"tag":108,"props":109,"children":110},"li",{},[111],{"type":52,"value":112},"Gathering swap intent (tokens, amounts, chain)",{"type":46,"tag":108,"props":114,"children":115},{},[116],{"type":52,"value":117},"Verifying token contracts on-chain",{"type":46,"tag":108,"props":119,"children":120},{},[121],{"type":52,"value":122},"Researching tokens via web search when needed",{"type":46,"tag":108,"props":124,"children":125},{},[126],{"type":52,"value":127},"Generating a deep link that opens in the Uniswap interface with parameters pre-filled",{"type":46,"tag":55,"props":129,"children":130},{},[131],{"type":52,"value":132},"The generated link opens Uniswap with all parameters ready for execution.",{"type":46,"tag":61,"props":134,"children":135},{},[136],{"type":46,"tag":55,"props":137,"children":138},{},[139,144,146,152,154,160],{"type":46,"tag":68,"props":140,"children":141},{},[142],{"type":52,"value":143},"Note:",{"type":52,"value":145}," Browser opening (",{"type":46,"tag":76,"props":147,"children":149},{"className":148},[],[150],{"type":52,"value":151},"xdg-open",{"type":52,"value":153},"\u002F",{"type":46,"tag":76,"props":155,"children":157},{"className":156},[],[158],{"type":52,"value":159},"open",{"type":52,"value":161},") may fail in SSH, containerized, or headless environments. Always display the URL prominently so users can copy and access it manually if needed.",{"type":46,"tag":61,"props":163,"children":164},{},[165],{"type":46,"tag":55,"props":166,"children":167},{},[168,173],{"type":46,"tag":68,"props":169,"children":170},{},[171],{"type":52,"value":172},"File Access:",{"type":52,"value":174}," This skill has read-only filesystem access. Never read files outside the current project directory unless explicitly requested by the user.",{"type":46,"tag":92,"props":176,"children":178},{"id":177},"workflow",[179],{"type":52,"value":180},"Workflow",{"type":46,"tag":182,"props":183,"children":185},"h3",{"id":184},"step-0-token-discovery-when-needed",[186],{"type":52,"value":187},"Step 0: Token Discovery (When Needed)",{"type":46,"tag":55,"props":189,"children":190},{},[191,193,198],{"type":52,"value":192},"If the user wants to ",{"type":46,"tag":68,"props":194,"children":195},{},[196],{"type":52,"value":197},"discover",{"type":52,"value":199}," tokens rather than swap a known token (e.g., \"find me a memecoin\", \"what's trending on Base\"), help them explore before proceeding to the swap.",{"type":46,"tag":201,"props":202,"children":204},"h4",{"id":203},"option-a-search-by-keyword",[205],{"type":52,"value":206},"Option A: Search by Keyword",{"type":46,"tag":55,"props":208,"children":209},{},[210],{"type":52,"value":211},"DexScreener search works best with specific terms:",{"type":46,"tag":213,"props":214,"children":219},"pre",{"className":215,"code":216,"language":217,"meta":218,"style":218},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Search for tokens by name\u002Fcategory (e.g., \"degen\", \"pepe\", \"ai agent\")\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Flatest\u002Fdex\u002Fsearch?q=degen\" | \\\n  jq '[.pairs[] | select(.chainId == \"base\" and .dexId == \"uniswap\")] |\n    sort_by(-.volume.h24) | .[0:5] | map({\n      token: .baseToken.symbol,\n      address: .baseToken.address,\n      price: .priceUsd,\n      volume24h: .volume.h24,\n      liquidity: .liquidity.usd\n    })'\n","bash","",[220],{"type":46,"tag":76,"props":221,"children":222},{"__ignoreMap":218},[223,235,278,297,306,315,324,333,342,351],{"type":46,"tag":224,"props":225,"children":228},"span",{"class":226,"line":227},"line",1,[229],{"type":46,"tag":224,"props":230,"children":232},{"style":231},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[233],{"type":52,"value":234},"# Search for tokens by name\u002Fcategory (e.g., \"degen\", \"pepe\", \"ai agent\")\n",{"type":46,"tag":224,"props":236,"children":238},{"class":226,"line":237},2,[239,245,251,257,262,267,272],{"type":46,"tag":224,"props":240,"children":242},{"style":241},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[243],{"type":52,"value":244},"curl",{"type":46,"tag":224,"props":246,"children":248},{"style":247},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[249],{"type":52,"value":250}," -s",{"type":46,"tag":224,"props":252,"children":254},{"style":253},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[255],{"type":52,"value":256}," \"",{"type":46,"tag":224,"props":258,"children":259},{"style":247},[260],{"type":52,"value":261},"https:\u002F\u002Fapi.dexscreener.com\u002Flatest\u002Fdex\u002Fsearch?q=degen",{"type":46,"tag":224,"props":263,"children":264},{"style":253},[265],{"type":52,"value":266},"\"",{"type":46,"tag":224,"props":268,"children":269},{"style":253},[270],{"type":52,"value":271}," |",{"type":46,"tag":224,"props":273,"children":275},{"style":274},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[276],{"type":52,"value":277}," \\\n",{"type":46,"tag":224,"props":279,"children":281},{"class":226,"line":280},3,[282,287,292],{"type":46,"tag":224,"props":283,"children":284},{"style":241},[285],{"type":52,"value":286},"  jq",{"type":46,"tag":224,"props":288,"children":289},{"style":253},[290],{"type":52,"value":291}," '",{"type":46,"tag":224,"props":293,"children":294},{"style":247},[295],{"type":52,"value":296},"[.pairs[] | select(.chainId == \"base\" and .dexId == \"uniswap\")] |\n",{"type":46,"tag":224,"props":298,"children":300},{"class":226,"line":299},4,[301],{"type":46,"tag":224,"props":302,"children":303},{"style":247},[304],{"type":52,"value":305},"    sort_by(-.volume.h24) | .[0:5] | map({\n",{"type":46,"tag":224,"props":307,"children":309},{"class":226,"line":308},5,[310],{"type":46,"tag":224,"props":311,"children":312},{"style":247},[313],{"type":52,"value":314},"      token: .baseToken.symbol,\n",{"type":46,"tag":224,"props":316,"children":318},{"class":226,"line":317},6,[319],{"type":46,"tag":224,"props":320,"children":321},{"style":247},[322],{"type":52,"value":323},"      address: .baseToken.address,\n",{"type":46,"tag":224,"props":325,"children":327},{"class":226,"line":326},7,[328],{"type":46,"tag":224,"props":329,"children":330},{"style":247},[331],{"type":52,"value":332},"      price: .priceUsd,\n",{"type":46,"tag":224,"props":334,"children":336},{"class":226,"line":335},8,[337],{"type":46,"tag":224,"props":338,"children":339},{"style":247},[340],{"type":52,"value":341},"      volume24h: .volume.h24,\n",{"type":46,"tag":224,"props":343,"children":345},{"class":226,"line":344},9,[346],{"type":46,"tag":224,"props":347,"children":348},{"style":247},[349],{"type":52,"value":350},"      liquidity: .liquidity.usd\n",{"type":46,"tag":224,"props":352,"children":354},{"class":226,"line":353},10,[355,360],{"type":46,"tag":224,"props":356,"children":357},{"style":247},[358],{"type":52,"value":359},"    })",{"type":46,"tag":224,"props":361,"children":362},{"style":253},[363],{"type":52,"value":364},"'\n",{"type":46,"tag":55,"props":366,"children":367},{},[368,373,375,381,383,389,390,396,397,403,404,410,411,417,418,424],{"type":46,"tag":68,"props":369,"children":370},{},[371],{"type":52,"value":372},"Good search terms:",{"type":52,"value":374}," ",{"type":46,"tag":76,"props":376,"children":378},{"className":377},[],[379],{"type":52,"value":380},"degen",{"type":52,"value":382},", ",{"type":46,"tag":76,"props":384,"children":386},{"className":385},[],[387],{"type":52,"value":388},"pepe",{"type":52,"value":382},{"type":46,"tag":76,"props":391,"children":393},{"className":392},[],[394],{"type":52,"value":395},"ai",{"type":52,"value":382},{"type":46,"tag":76,"props":398,"children":400},{"className":399},[],[401],{"type":52,"value":402},"agent",{"type":52,"value":382},{"type":46,"tag":76,"props":405,"children":407},{"className":406},[],[408],{"type":52,"value":409},"meme",{"type":52,"value":382},{"type":46,"tag":76,"props":412,"children":414},{"className":413},[],[415],{"type":52,"value":416},"dog",{"type":52,"value":382},{"type":46,"tag":76,"props":419,"children":421},{"className":420},[],[422],{"type":52,"value":423},"cat",{"type":52,"value":425},", or specific token names",{"type":46,"tag":201,"props":427,"children":429},{"id":428},"option-b-check-promoted-tokens",[430],{"type":52,"value":431},"Option B: Check Promoted Tokens",{"type":46,"tag":55,"props":433,"children":434},{},[435],{"type":52,"value":436},"Get tokens with active promotions (limited selection):",{"type":46,"tag":213,"props":438,"children":440},{"className":215,"code":439,"language":217,"meta":218,"style":218},"# Get boosted\u002Fpromoted tokens on a chain\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-boosts\u002Ftop\u002Fv1\" | \\\n  jq '[.[] | select(.chainId == \"base\")] | .[0:5] | map({\n    tokenAddress,\n    url\n  })'\n",[441],{"type":46,"tag":76,"props":442,"children":443},{"__ignoreMap":218},[444,452,484,500,508,516],{"type":46,"tag":224,"props":445,"children":446},{"class":226,"line":227},[447],{"type":46,"tag":224,"props":448,"children":449},{"style":231},[450],{"type":52,"value":451},"# Get boosted\u002Fpromoted tokens on a chain\n",{"type":46,"tag":224,"props":453,"children":454},{"class":226,"line":237},[455,459,463,467,472,476,480],{"type":46,"tag":224,"props":456,"children":457},{"style":241},[458],{"type":52,"value":244},{"type":46,"tag":224,"props":460,"children":461},{"style":247},[462],{"type":52,"value":250},{"type":46,"tag":224,"props":464,"children":465},{"style":253},[466],{"type":52,"value":256},{"type":46,"tag":224,"props":468,"children":469},{"style":247},[470],{"type":52,"value":471},"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-boosts\u002Ftop\u002Fv1",{"type":46,"tag":224,"props":473,"children":474},{"style":253},[475],{"type":52,"value":266},{"type":46,"tag":224,"props":477,"children":478},{"style":253},[479],{"type":52,"value":271},{"type":46,"tag":224,"props":481,"children":482},{"style":274},[483],{"type":52,"value":277},{"type":46,"tag":224,"props":485,"children":486},{"class":226,"line":280},[487,491,495],{"type":46,"tag":224,"props":488,"children":489},{"style":241},[490],{"type":52,"value":286},{"type":46,"tag":224,"props":492,"children":493},{"style":253},[494],{"type":52,"value":291},{"type":46,"tag":224,"props":496,"children":497},{"style":247},[498],{"type":52,"value":499},"[.[] | select(.chainId == \"base\")] | .[0:5] | map({\n",{"type":46,"tag":224,"props":501,"children":502},{"class":226,"line":299},[503],{"type":46,"tag":224,"props":504,"children":505},{"style":247},[506],{"type":52,"value":507},"    tokenAddress,\n",{"type":46,"tag":224,"props":509,"children":510},{"class":226,"line":308},[511],{"type":46,"tag":224,"props":512,"children":513},{"style":247},[514],{"type":52,"value":515},"    url\n",{"type":46,"tag":224,"props":517,"children":518},{"class":226,"line":317},[519,524],{"type":46,"tag":224,"props":520,"children":521},{"style":247},[522],{"type":52,"value":523},"  })",{"type":46,"tag":224,"props":525,"children":526},{"style":253},[527],{"type":52,"value":364},{"type":46,"tag":201,"props":529,"children":531},{"id":530},"option-c-web-search-verify",[532],{"type":52,"value":533},"Option C: Web Search + Verify",{"type":46,"tag":55,"props":535,"children":536},{},[537],{"type":52,"value":538},"For broad discovery (\"what's trending\"), use web search to find tokens, then verify with DexScreener:",{"type":46,"tag":213,"props":540,"children":542},{"className":215,"code":541,"language":217,"meta":218,"style":218},"# After finding a token address from web search, verify it exists\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-pairs\u002Fv1\u002F{network}\u002F{address}\" | \\\n  jq '[.[] | select(.dexId == \"uniswap\")][0] | {\n    name: .baseToken.name,\n    symbol: .baseToken.symbol,\n    price: .priceUsd,\n    liquidity: .liquidity.usd,\n    volume24h: .volume.h24\n  }'\n",[543],{"type":46,"tag":76,"props":544,"children":545},{"__ignoreMap":218},[546,554,586,602,610,618,626,634,642],{"type":46,"tag":224,"props":547,"children":548},{"class":226,"line":227},[549],{"type":46,"tag":224,"props":550,"children":551},{"style":231},[552],{"type":52,"value":553},"# After finding a token address from web search, verify it exists\n",{"type":46,"tag":224,"props":555,"children":556},{"class":226,"line":237},[557,561,565,569,574,578,582],{"type":46,"tag":224,"props":558,"children":559},{"style":241},[560],{"type":52,"value":244},{"type":46,"tag":224,"props":562,"children":563},{"style":247},[564],{"type":52,"value":250},{"type":46,"tag":224,"props":566,"children":567},{"style":253},[568],{"type":52,"value":256},{"type":46,"tag":224,"props":570,"children":571},{"style":247},[572],{"type":52,"value":573},"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-pairs\u002Fv1\u002F{network}\u002F{address}",{"type":46,"tag":224,"props":575,"children":576},{"style":253},[577],{"type":52,"value":266},{"type":46,"tag":224,"props":579,"children":580},{"style":253},[581],{"type":52,"value":271},{"type":46,"tag":224,"props":583,"children":584},{"style":274},[585],{"type":52,"value":277},{"type":46,"tag":224,"props":587,"children":588},{"class":226,"line":280},[589,593,597],{"type":46,"tag":224,"props":590,"children":591},{"style":241},[592],{"type":52,"value":286},{"type":46,"tag":224,"props":594,"children":595},{"style":253},[596],{"type":52,"value":291},{"type":46,"tag":224,"props":598,"children":599},{"style":247},[600],{"type":52,"value":601},"[.[] | select(.dexId == \"uniswap\")][0] | {\n",{"type":46,"tag":224,"props":603,"children":604},{"class":226,"line":299},[605],{"type":46,"tag":224,"props":606,"children":607},{"style":247},[608],{"type":52,"value":609},"    name: .baseToken.name,\n",{"type":46,"tag":224,"props":611,"children":612},{"class":226,"line":308},[613],{"type":46,"tag":224,"props":614,"children":615},{"style":247},[616],{"type":52,"value":617},"    symbol: .baseToken.symbol,\n",{"type":46,"tag":224,"props":619,"children":620},{"class":226,"line":317},[621],{"type":46,"tag":224,"props":622,"children":623},{"style":247},[624],{"type":52,"value":625},"    price: .priceUsd,\n",{"type":46,"tag":224,"props":627,"children":628},{"class":226,"line":326},[629],{"type":46,"tag":224,"props":630,"children":631},{"style":247},[632],{"type":52,"value":633},"    liquidity: .liquidity.usd,\n",{"type":46,"tag":224,"props":635,"children":636},{"class":226,"line":335},[637],{"type":46,"tag":224,"props":638,"children":639},{"style":247},[640],{"type":52,"value":641},"    volume24h: .volume.h24\n",{"type":46,"tag":224,"props":643,"children":644},{"class":226,"line":344},[645,650],{"type":46,"tag":224,"props":646,"children":647},{"style":247},[648],{"type":52,"value":649},"  }",{"type":46,"tag":224,"props":651,"children":652},{"style":253},[653],{"type":52,"value":364},{"type":46,"tag":55,"props":655,"children":656},{},[657,662,664,670,672,678,679,685,686,692,693,699,700,706,707,713,714,720,721,727],{"type":46,"tag":68,"props":658,"children":659},{},[660],{"type":52,"value":661},"Network IDs:",{"type":52,"value":663}," See ",{"type":46,"tag":76,"props":665,"children":667},{"className":666},[],[668],{"type":52,"value":669},"references\u002Fchains.md",{"type":52,"value":671}," for the full list with DexScreener and DefiLlama provider IDs. Common IDs: ",{"type":46,"tag":76,"props":673,"children":675},{"className":674},[],[676],{"type":52,"value":677},"ethereum",{"type":52,"value":382},{"type":46,"tag":76,"props":680,"children":682},{"className":681},[],[683],{"type":52,"value":684},"base",{"type":52,"value":382},{"type":46,"tag":76,"props":687,"children":689},{"className":688},[],[690],{"type":52,"value":691},"arbitrum",{"type":52,"value":382},{"type":46,"tag":76,"props":694,"children":696},{"className":695},[],[697],{"type":52,"value":698},"optimism",{"type":52,"value":382},{"type":46,"tag":76,"props":701,"children":703},{"className":702},[],[704],{"type":52,"value":705},"polygon",{"type":52,"value":382},{"type":46,"tag":76,"props":708,"children":710},{"className":709},[],[711],{"type":52,"value":712},"bsc",{"type":52,"value":382},{"type":46,"tag":76,"props":715,"children":717},{"className":716},[],[718],{"type":52,"value":719},"avalanche",{"type":52,"value":382},{"type":46,"tag":76,"props":722,"children":724},{"className":723},[],[725],{"type":52,"value":726},"unichain",{"type":52,"value":728},".",{"type":46,"tag":55,"props":730,"children":731},{},[732,737,739,745],{"type":46,"tag":68,"props":733,"children":734},{},[735],{"type":52,"value":736},"DexScreener coverage varies by chain.",{"type":52,"value":738}," Ethereum, Base, and Arbitrum have deep Uniswap data. Celo, Blast, Zora, and World Chain have limited Uniswap pool coverage — fewer results and potentially missing pairs. Fall back to DefiLlama for price data when DexScreener returns empty results (see ",{"type":46,"tag":76,"props":740,"children":742},{"className":741},[],[743],{"type":52,"value":744},"references\u002Fdata-providers.md",{"type":52,"value":746},").",{"type":46,"tag":55,"props":748,"children":749},{},[750,754,756,762],{"type":46,"tag":68,"props":751,"children":752},{},[753],{"type":52,"value":143},{"type":52,"value":755}," DexScreener's public API doesn't have a \"trending\" or \"top gainers\" endpoint. Token discovery uses keyword search (",{"type":46,"tag":76,"props":757,"children":759},{"className":758},[],[760],{"type":52,"value":761},"\u002Flatest\u002Fdex\u002Fsearch",{"type":52,"value":763},") and web search as a fallback. For general discovery, ask the user what type of token they're looking for and search by keyword.",{"type":46,"tag":201,"props":765,"children":767},{"id":766},"category-based-discovery",[768],{"type":52,"value":769},"Category-Based Discovery",{"type":46,"tag":55,"props":771,"children":772},{},[773],{"type":52,"value":774},"For specific categories (memecoins, DeFi, gaming tokens), use web search:",{"type":46,"tag":213,"props":776,"children":780},{"className":777,"code":779,"language":52,"meta":218},[778],"language-text","\"trending {category} {chain} {current_year}\"\n",[781],{"type":46,"tag":76,"props":782,"children":783},{"__ignoreMap":218},[784],{"type":52,"value":779},{"type":46,"tag":55,"props":786,"children":787},{},[788,790],{"type":52,"value":789},"Example: ",{"type":46,"tag":76,"props":791,"children":793},{"className":792},[],[794],{"type":52,"value":795},"\"trending memecoins Base 2026\"",{"type":46,"tag":201,"props":797,"children":799},{"id":798},"️-untrusted-input-web-discovered-tokens",[800],{"type":52,"value":801},"⚠️ UNTRUSTED INPUT: Web-Discovered Tokens",{"type":46,"tag":55,"props":803,"children":804},{},[805,807,812],{"type":52,"value":806},"Tokens discovered via WebSearch are ",{"type":46,"tag":68,"props":808,"children":809},{},[810],{"type":52,"value":811},"UNTRUSTED",{"type":52,"value":813},". Before proceeding with any web-discovered token:",{"type":46,"tag":104,"props":815,"children":816},{},[817,827,837,847],{"type":46,"tag":108,"props":818,"children":819},{},[820,825],{"type":46,"tag":68,"props":821,"children":822},{},[823],{"type":52,"value":824},"Label the source",{"type":52,"value":826},": Explicitly tell the user \"This token address was found via web search, not provided by you\"",{"type":46,"tag":108,"props":828,"children":829},{},[830,835],{"type":46,"tag":68,"props":831,"children":832},{},[833],{"type":52,"value":834},"Warn about risks",{"type":52,"value":836},": \"Web-discovered tokens may be scams, honeypots, or rug pulls\"",{"type":46,"tag":108,"props":838,"children":839},{},[840,845],{"type":46,"tag":68,"props":841,"children":842},{},[843],{"type":52,"value":844},"Require confirmation",{"type":52,"value":846},": Use AskUserQuestion to get explicit user consent before generating a deep link for a web-discovered token",{"type":46,"tag":108,"props":848,"children":849},{},[850,855],{"type":46,"tag":68,"props":851,"children":852},{},[853],{"type":52,"value":854},"Show provenance",{"type":52,"value":856},": In the swap summary table, include a \"Token Source\" row showing whether each token was \"User-provided\" or \"Web-discovered (unverified)\"",{"type":46,"tag":55,"props":858,"children":859},{},[860],{"type":46,"tag":68,"props":861,"children":862},{},[863],{"type":52,"value":864},"Never proceed with a web-discovered token without explicit user confirmation via AskUserQuestion.",{"type":46,"tag":201,"props":866,"children":868},{"id":867},"present-options-to-user",[869],{"type":52,"value":870},"Present Options to User",{"type":46,"tag":55,"props":872,"children":873},{},[874],{"type":52,"value":875},"After gathering token data, present options using AskUserQuestion:",{"type":46,"tag":213,"props":877,"children":881},{"className":878,"code":879,"language":880,"meta":218,"style":218},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"questions\": [\n    {\n      \"question\": \"Which token would you like to swap to?\",\n      \"header\": \"Token\",\n      \"options\": [\n        { \"label\": \"MOLT ($23M mcap)\", \"description\": \"$5.9M liquidity, $7.8M 24h volume\" },\n        { \"label\": \"CLANKER ($31M mcap)\", \"description\": \"$3.1M liquidity, established token\" },\n        { \"label\": \"CLAWSTR ($13M mcap)\", \"description\": \"$2.1M liquidity, high volume spike\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n","json",[882],{"type":46,"tag":76,"props":883,"children":884},{"__ignoreMap":218},[885,893,921,929,968,1005,1029,1108,1181,1255,1263,1289,1298,1307],{"type":46,"tag":224,"props":886,"children":887},{"class":226,"line":227},[888],{"type":46,"tag":224,"props":889,"children":890},{"style":253},[891],{"type":52,"value":892},"{\n",{"type":46,"tag":224,"props":894,"children":895},{"class":226,"line":237},[896,901,907,911,916],{"type":46,"tag":224,"props":897,"children":898},{"style":253},[899],{"type":52,"value":900},"  \"",{"type":46,"tag":224,"props":902,"children":904},{"style":903},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[905],{"type":52,"value":906},"questions",{"type":46,"tag":224,"props":908,"children":909},{"style":253},[910],{"type":52,"value":266},{"type":46,"tag":224,"props":912,"children":913},{"style":253},[914],{"type":52,"value":915},":",{"type":46,"tag":224,"props":917,"children":918},{"style":253},[919],{"type":52,"value":920}," [\n",{"type":46,"tag":224,"props":922,"children":923},{"class":226,"line":280},[924],{"type":46,"tag":224,"props":925,"children":926},{"style":253},[927],{"type":52,"value":928},"    {\n",{"type":46,"tag":224,"props":930,"children":931},{"class":226,"line":299},[932,937,942,946,950,954,959,963],{"type":46,"tag":224,"props":933,"children":934},{"style":253},[935],{"type":52,"value":936},"      \"",{"type":46,"tag":224,"props":938,"children":939},{"style":241},[940],{"type":52,"value":941},"question",{"type":46,"tag":224,"props":943,"children":944},{"style":253},[945],{"type":52,"value":266},{"type":46,"tag":224,"props":947,"children":948},{"style":253},[949],{"type":52,"value":915},{"type":46,"tag":224,"props":951,"children":952},{"style":253},[953],{"type":52,"value":256},{"type":46,"tag":224,"props":955,"children":956},{"style":247},[957],{"type":52,"value":958},"Which token would you like to swap to?",{"type":46,"tag":224,"props":960,"children":961},{"style":253},[962],{"type":52,"value":266},{"type":46,"tag":224,"props":964,"children":965},{"style":253},[966],{"type":52,"value":967},",\n",{"type":46,"tag":224,"props":969,"children":970},{"class":226,"line":308},[971,975,980,984,988,992,997,1001],{"type":46,"tag":224,"props":972,"children":973},{"style":253},[974],{"type":52,"value":936},{"type":46,"tag":224,"props":976,"children":977},{"style":241},[978],{"type":52,"value":979},"header",{"type":46,"tag":224,"props":981,"children":982},{"style":253},[983],{"type":52,"value":266},{"type":46,"tag":224,"props":985,"children":986},{"style":253},[987],{"type":52,"value":915},{"type":46,"tag":224,"props":989,"children":990},{"style":253},[991],{"type":52,"value":256},{"type":46,"tag":224,"props":993,"children":994},{"style":247},[995],{"type":52,"value":996},"Token",{"type":46,"tag":224,"props":998,"children":999},{"style":253},[1000],{"type":52,"value":266},{"type":46,"tag":224,"props":1002,"children":1003},{"style":253},[1004],{"type":52,"value":967},{"type":46,"tag":224,"props":1006,"children":1007},{"class":226,"line":317},[1008,1012,1017,1021,1025],{"type":46,"tag":224,"props":1009,"children":1010},{"style":253},[1011],{"type":52,"value":936},{"type":46,"tag":224,"props":1013,"children":1014},{"style":241},[1015],{"type":52,"value":1016},"options",{"type":46,"tag":224,"props":1018,"children":1019},{"style":253},[1020],{"type":52,"value":266},{"type":46,"tag":224,"props":1022,"children":1023},{"style":253},[1024],{"type":52,"value":915},{"type":46,"tag":224,"props":1026,"children":1027},{"style":253},[1028],{"type":52,"value":920},{"type":46,"tag":224,"props":1030,"children":1031},{"class":226,"line":326},[1032,1037,1041,1047,1051,1055,1059,1064,1068,1073,1077,1082,1086,1090,1094,1099,1103],{"type":46,"tag":224,"props":1033,"children":1034},{"style":253},[1035],{"type":52,"value":1036},"        {",{"type":46,"tag":224,"props":1038,"children":1039},{"style":253},[1040],{"type":52,"value":256},{"type":46,"tag":224,"props":1042,"children":1044},{"style":1043},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1045],{"type":52,"value":1046},"label",{"type":46,"tag":224,"props":1048,"children":1049},{"style":253},[1050],{"type":52,"value":266},{"type":46,"tag":224,"props":1052,"children":1053},{"style":253},[1054],{"type":52,"value":915},{"type":46,"tag":224,"props":1056,"children":1057},{"style":253},[1058],{"type":52,"value":256},{"type":46,"tag":224,"props":1060,"children":1061},{"style":247},[1062],{"type":52,"value":1063},"MOLT ($23M mcap)",{"type":46,"tag":224,"props":1065,"children":1066},{"style":253},[1067],{"type":52,"value":266},{"type":46,"tag":224,"props":1069,"children":1070},{"style":253},[1071],{"type":52,"value":1072},",",{"type":46,"tag":224,"props":1074,"children":1075},{"style":253},[1076],{"type":52,"value":256},{"type":46,"tag":224,"props":1078,"children":1079},{"style":1043},[1080],{"type":52,"value":1081},"description",{"type":46,"tag":224,"props":1083,"children":1084},{"style":253},[1085],{"type":52,"value":266},{"type":46,"tag":224,"props":1087,"children":1088},{"style":253},[1089],{"type":52,"value":915},{"type":46,"tag":224,"props":1091,"children":1092},{"style":253},[1093],{"type":52,"value":256},{"type":46,"tag":224,"props":1095,"children":1096},{"style":247},[1097],{"type":52,"value":1098},"$5.9M liquidity, $7.8M 24h volume",{"type":46,"tag":224,"props":1100,"children":1101},{"style":253},[1102],{"type":52,"value":266},{"type":46,"tag":224,"props":1104,"children":1105},{"style":253},[1106],{"type":52,"value":1107}," },\n",{"type":46,"tag":224,"props":1109,"children":1110},{"class":226,"line":335},[1111,1115,1119,1123,1127,1131,1135,1140,1144,1148,1152,1156,1160,1164,1168,1173,1177],{"type":46,"tag":224,"props":1112,"children":1113},{"style":253},[1114],{"type":52,"value":1036},{"type":46,"tag":224,"props":1116,"children":1117},{"style":253},[1118],{"type":52,"value":256},{"type":46,"tag":224,"props":1120,"children":1121},{"style":1043},[1122],{"type":52,"value":1046},{"type":46,"tag":224,"props":1124,"children":1125},{"style":253},[1126],{"type":52,"value":266},{"type":46,"tag":224,"props":1128,"children":1129},{"style":253},[1130],{"type":52,"value":915},{"type":46,"tag":224,"props":1132,"children":1133},{"style":253},[1134],{"type":52,"value":256},{"type":46,"tag":224,"props":1136,"children":1137},{"style":247},[1138],{"type":52,"value":1139},"CLANKER ($31M mcap)",{"type":46,"tag":224,"props":1141,"children":1142},{"style":253},[1143],{"type":52,"value":266},{"type":46,"tag":224,"props":1145,"children":1146},{"style":253},[1147],{"type":52,"value":1072},{"type":46,"tag":224,"props":1149,"children":1150},{"style":253},[1151],{"type":52,"value":256},{"type":46,"tag":224,"props":1153,"children":1154},{"style":1043},[1155],{"type":52,"value":1081},{"type":46,"tag":224,"props":1157,"children":1158},{"style":253},[1159],{"type":52,"value":266},{"type":46,"tag":224,"props":1161,"children":1162},{"style":253},[1163],{"type":52,"value":915},{"type":46,"tag":224,"props":1165,"children":1166},{"style":253},[1167],{"type":52,"value":256},{"type":46,"tag":224,"props":1169,"children":1170},{"style":247},[1171],{"type":52,"value":1172},"$3.1M liquidity, established token",{"type":46,"tag":224,"props":1174,"children":1175},{"style":253},[1176],{"type":52,"value":266},{"type":46,"tag":224,"props":1178,"children":1179},{"style":253},[1180],{"type":52,"value":1107},{"type":46,"tag":224,"props":1182,"children":1183},{"class":226,"line":344},[1184,1188,1192,1196,1200,1204,1208,1213,1217,1221,1225,1229,1233,1237,1241,1246,1250],{"type":46,"tag":224,"props":1185,"children":1186},{"style":253},[1187],{"type":52,"value":1036},{"type":46,"tag":224,"props":1189,"children":1190},{"style":253},[1191],{"type":52,"value":256},{"type":46,"tag":224,"props":1193,"children":1194},{"style":1043},[1195],{"type":52,"value":1046},{"type":46,"tag":224,"props":1197,"children":1198},{"style":253},[1199],{"type":52,"value":266},{"type":46,"tag":224,"props":1201,"children":1202},{"style":253},[1203],{"type":52,"value":915},{"type":46,"tag":224,"props":1205,"children":1206},{"style":253},[1207],{"type":52,"value":256},{"type":46,"tag":224,"props":1209,"children":1210},{"style":247},[1211],{"type":52,"value":1212},"CLAWSTR ($13M mcap)",{"type":46,"tag":224,"props":1214,"children":1215},{"style":253},[1216],{"type":52,"value":266},{"type":46,"tag":224,"props":1218,"children":1219},{"style":253},[1220],{"type":52,"value":1072},{"type":46,"tag":224,"props":1222,"children":1223},{"style":253},[1224],{"type":52,"value":256},{"type":46,"tag":224,"props":1226,"children":1227},{"style":1043},[1228],{"type":52,"value":1081},{"type":46,"tag":224,"props":1230,"children":1231},{"style":253},[1232],{"type":52,"value":266},{"type":46,"tag":224,"props":1234,"children":1235},{"style":253},[1236],{"type":52,"value":915},{"type":46,"tag":224,"props":1238,"children":1239},{"style":253},[1240],{"type":52,"value":256},{"type":46,"tag":224,"props":1242,"children":1243},{"style":247},[1244],{"type":52,"value":1245},"$2.1M liquidity, high volume spike",{"type":46,"tag":224,"props":1247,"children":1248},{"style":253},[1249],{"type":52,"value":266},{"type":46,"tag":224,"props":1251,"children":1252},{"style":253},[1253],{"type":52,"value":1254}," }\n",{"type":46,"tag":224,"props":1256,"children":1257},{"class":226,"line":353},[1258],{"type":46,"tag":224,"props":1259,"children":1260},{"style":253},[1261],{"type":52,"value":1262},"      ],\n",{"type":46,"tag":224,"props":1264,"children":1266},{"class":226,"line":1265},11,[1267,1271,1276,1280,1284],{"type":46,"tag":224,"props":1268,"children":1269},{"style":253},[1270],{"type":52,"value":936},{"type":46,"tag":224,"props":1272,"children":1273},{"style":241},[1274],{"type":52,"value":1275},"multiSelect",{"type":46,"tag":224,"props":1277,"children":1278},{"style":253},[1279],{"type":52,"value":266},{"type":46,"tag":224,"props":1281,"children":1282},{"style":253},[1283],{"type":52,"value":915},{"type":46,"tag":224,"props":1285,"children":1286},{"style":253},[1287],{"type":52,"value":1288}," false\n",{"type":46,"tag":224,"props":1290,"children":1292},{"class":226,"line":1291},12,[1293],{"type":46,"tag":224,"props":1294,"children":1295},{"style":253},[1296],{"type":52,"value":1297},"    }\n",{"type":46,"tag":224,"props":1299,"children":1301},{"class":226,"line":1300},13,[1302],{"type":46,"tag":224,"props":1303,"children":1304},{"style":253},[1305],{"type":52,"value":1306},"  ]\n",{"type":46,"tag":224,"props":1308,"children":1310},{"class":226,"line":1309},14,[1311],{"type":46,"tag":224,"props":1312,"children":1313},{"style":253},[1314],{"type":52,"value":1315},"}\n",{"type":46,"tag":201,"props":1317,"children":1319},{"id":1318},"risk-assessment-for-trending-tokens",[1320],{"type":52,"value":1321},"Risk Assessment for Trending Tokens",{"type":46,"tag":55,"props":1323,"children":1324},{},[1325],{"type":52,"value":1326},"Evaluate tokens before recommending:",{"type":46,"tag":1328,"props":1329,"children":1330},"table",{},[1331,1360],{"type":46,"tag":1332,"props":1333,"children":1334},"thead",{},[1335],{"type":46,"tag":1336,"props":1337,"children":1338},"tr",{},[1339,1345,1350,1355],{"type":46,"tag":1340,"props":1341,"children":1342},"th",{},[1343],{"type":52,"value":1344},"Metric",{"type":46,"tag":1340,"props":1346,"children":1347},{},[1348],{"type":52,"value":1349},"Low Risk",{"type":46,"tag":1340,"props":1351,"children":1352},{},[1353],{"type":52,"value":1354},"Medium Risk",{"type":46,"tag":1340,"props":1356,"children":1357},{},[1358],{"type":52,"value":1359},"High Risk",{"type":46,"tag":1361,"props":1362,"children":1363},"tbody",{},[1364,1388,1411,1434],{"type":46,"tag":1336,"props":1365,"children":1366},{},[1367,1373,1378,1383],{"type":46,"tag":1368,"props":1369,"children":1370},"td",{},[1371],{"type":52,"value":1372},"Market Cap",{"type":46,"tag":1368,"props":1374,"children":1375},{},[1376],{"type":52,"value":1377},">$50M",{"type":46,"tag":1368,"props":1379,"children":1380},{},[1381],{"type":52,"value":1382},"$5M-$50M",{"type":46,"tag":1368,"props":1384,"children":1385},{},[1386],{"type":52,"value":1387},"\u003C$5M",{"type":46,"tag":1336,"props":1389,"children":1390},{},[1391,1396,1401,1406],{"type":46,"tag":1368,"props":1392,"children":1393},{},[1394],{"type":52,"value":1395},"Pool TVL",{"type":46,"tag":1368,"props":1397,"children":1398},{},[1399],{"type":52,"value":1400},">$1M",{"type":46,"tag":1368,"props":1402,"children":1403},{},[1404],{"type":52,"value":1405},"$100k-$1M",{"type":46,"tag":1368,"props":1407,"children":1408},{},[1409],{"type":52,"value":1410},"\u003C$100k",{"type":46,"tag":1336,"props":1412,"children":1413},{},[1414,1419,1424,1429],{"type":46,"tag":1368,"props":1415,"children":1416},{},[1417],{"type":52,"value":1418},"24h Volume",{"type":46,"tag":1368,"props":1420,"children":1421},{},[1422],{"type":52,"value":1423},"Consistent",{"type":46,"tag":1368,"props":1425,"children":1426},{},[1427],{"type":52,"value":1428},"Spiking unusually",{"type":46,"tag":1368,"props":1430,"children":1431},{},[1432],{"type":52,"value":1433},"Very low",{"type":46,"tag":1336,"props":1435,"children":1436},{},[1437,1442,1447,1452],{"type":46,"tag":1368,"props":1438,"children":1439},{},[1440],{"type":52,"value":1441},"Contract Age",{"type":46,"tag":1368,"props":1443,"children":1444},{},[1445],{"type":52,"value":1446},">30 days",{"type":46,"tag":1368,"props":1448,"children":1449},{},[1450],{"type":52,"value":1451},"7-30 days",{"type":46,"tag":1368,"props":1453,"children":1454},{},[1455],{"type":52,"value":1456},"\u003C7 days",{"type":46,"tag":55,"props":1458,"children":1459},{},[1460,1465],{"type":46,"tag":68,"props":1461,"children":1462},{},[1463],{"type":52,"value":1464},"Always disclose risk level",{"type":52,"value":1466}," when presenting options. For high-risk tokens, explicitly warn about volatility and potential for loss.",{"type":46,"tag":201,"props":1468,"children":1470},{"id":1469},"mandatory-warnings-for-high-risk-tokens",[1471],{"type":52,"value":1472},"Mandatory Warnings for High-Risk Tokens",{"type":46,"tag":55,"props":1474,"children":1475},{},[1476],{"type":52,"value":1477},"When ANY of these conditions are met, you MUST use AskUserQuestion to warn the user and get explicit confirmation before generating a deep link:",{"type":46,"tag":1479,"props":1480,"children":1481},"ul",{},[1482,1492,1502,1512],{"type":46,"tag":108,"props":1483,"children":1484},{},[1485,1490],{"type":46,"tag":68,"props":1486,"children":1487},{},[1488],{"type":52,"value":1489},"Contract age \u003C 7 days",{"type":52,"value":1491},": \"This token contract is less than 7 days old. New tokens carry significantly higher risk of being scams or rug pulls.\"",{"type":46,"tag":108,"props":1493,"children":1494},{},[1495,1500],{"type":46,"tag":68,"props":1496,"children":1497},{},[1498],{"type":52,"value":1499},"Pool TVL \u003C $100k",{"type":52,"value":1501},": \"This pool has very low liquidity. You may experience significant slippage and difficulty selling.\"",{"type":46,"tag":108,"props":1503,"children":1504},{},[1505,1510],{"type":46,"tag":68,"props":1506,"children":1507},{},[1508],{"type":52,"value":1509},"No sell liquidity detected",{"type":52,"value":1511},": \"This token may be a honeypot — tokens that can be bought but not sold. Proceed with extreme caution.\"",{"type":46,"tag":108,"props":1513,"children":1514},{},[1515,1520],{"type":46,"tag":68,"props":1516,"children":1517},{},[1518],{"type":52,"value":1519},"Market cap \u003C $5M",{"type":52,"value":1521},": \"This is a micro-cap token with high volatility. Only invest what you can afford to lose entirely.\"",{"type":46,"tag":55,"props":1523,"children":1524},{},[1525],{"type":52,"value":1526},"Do NOT generate a deep link for high-risk tokens without explicit user acknowledgment via AskUserQuestion.",{"type":46,"tag":1528,"props":1529,"children":1530},"hr",{},[],{"type":46,"tag":182,"props":1532,"children":1534},{"id":1533},"step-1-gather-swap-intent",[1535],{"type":52,"value":1536},"Step 1: Gather Swap Intent",{"type":46,"tag":55,"props":1538,"children":1539},{},[1540],{"type":52,"value":1541},"Extract from the user's request:",{"type":46,"tag":1328,"props":1543,"children":1544},{},[1545,1566],{"type":46,"tag":1332,"props":1546,"children":1547},{},[1548],{"type":46,"tag":1336,"props":1549,"children":1550},{},[1551,1556,1561],{"type":46,"tag":1340,"props":1552,"children":1553},{},[1554],{"type":52,"value":1555},"Parameter",{"type":46,"tag":1340,"props":1557,"children":1558},{},[1559],{"type":52,"value":1560},"Required",{"type":46,"tag":1340,"props":1562,"children":1563},{},[1564],{"type":52,"value":1565},"Example",{"type":46,"tag":1361,"props":1567,"children":1568},{},[1569,1587,1604,1621],{"type":46,"tag":1336,"props":1570,"children":1571},{},[1572,1577,1582],{"type":46,"tag":1368,"props":1573,"children":1574},{},[1575],{"type":52,"value":1576},"Input token",{"type":46,"tag":1368,"props":1578,"children":1579},{},[1580],{"type":52,"value":1581},"Yes",{"type":46,"tag":1368,"props":1583,"children":1584},{},[1585],{"type":52,"value":1586},"ETH, USDC, token address",{"type":46,"tag":1336,"props":1588,"children":1589},{},[1590,1595,1599],{"type":46,"tag":1368,"props":1591,"children":1592},{},[1593],{"type":52,"value":1594},"Output token",{"type":46,"tag":1368,"props":1596,"children":1597},{},[1598],{"type":52,"value":1581},{"type":46,"tag":1368,"props":1600,"children":1601},{},[1602],{"type":52,"value":1603},"USDC, WBTC, token address",{"type":46,"tag":1336,"props":1605,"children":1606},{},[1607,1612,1616],{"type":46,"tag":1368,"props":1608,"children":1609},{},[1610],{"type":52,"value":1611},"Amount",{"type":46,"tag":1368,"props":1613,"children":1614},{},[1615],{"type":52,"value":1581},{"type":46,"tag":1368,"props":1617,"children":1618},{},[1619],{"type":52,"value":1620},"1.5 ETH, $500 worth",{"type":46,"tag":1336,"props":1622,"children":1623},{},[1624,1629,1634],{"type":46,"tag":1368,"props":1625,"children":1626},{},[1627],{"type":52,"value":1628},"Chain",{"type":46,"tag":1368,"props":1630,"children":1631},{},[1632],{"type":52,"value":1633},"Yes (default: Ethereum)",{"type":46,"tag":1368,"props":1635,"children":1636},{},[1637],{"type":52,"value":1638},"Base, Arbitrum, etc.",{"type":46,"tag":55,"props":1640,"children":1641},{},[1642],{"type":46,"tag":68,"props":1643,"children":1644},{},[1645],{"type":52,"value":1646},"If any required parameter is missing, use AskUserQuestion with structured options:",{"type":46,"tag":55,"props":1648,"children":1649},{},[1650],{"type":52,"value":1651},"For missing chain:",{"type":46,"tag":213,"props":1653,"children":1655},{"className":878,"code":1654,"language":880,"meta":218,"style":218},"{\n  \"questions\": [\n    {\n      \"question\": \"Which chain do you want to swap on?\",\n      \"header\": \"Chain\",\n      \"options\": [\n        { \"label\": \"Base (Recommended)\", \"description\": \"Low gas fees, fast transactions\" },\n        { \"label\": \"Ethereum\", \"description\": \"Main network, higher gas\" },\n        { \"label\": \"Arbitrum\", \"description\": \"Low fees, Ethereum L2\" },\n        { \"label\": \"Optimism\", \"description\": \"Low fees, Ethereum L2\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n",[1656],{"type":46,"tag":76,"props":1657,"children":1658},{"__ignoreMap":218},[1659,1666,1689,1696,1732,1767,1790,1863,1936,2009,2081,2088,2111,2118,2125],{"type":46,"tag":224,"props":1660,"children":1661},{"class":226,"line":227},[1662],{"type":46,"tag":224,"props":1663,"children":1664},{"style":253},[1665],{"type":52,"value":892},{"type":46,"tag":224,"props":1667,"children":1668},{"class":226,"line":237},[1669,1673,1677,1681,1685],{"type":46,"tag":224,"props":1670,"children":1671},{"style":253},[1672],{"type":52,"value":900},{"type":46,"tag":224,"props":1674,"children":1675},{"style":903},[1676],{"type":52,"value":906},{"type":46,"tag":224,"props":1678,"children":1679},{"style":253},[1680],{"type":52,"value":266},{"type":46,"tag":224,"props":1682,"children":1683},{"style":253},[1684],{"type":52,"value":915},{"type":46,"tag":224,"props":1686,"children":1687},{"style":253},[1688],{"type":52,"value":920},{"type":46,"tag":224,"props":1690,"children":1691},{"class":226,"line":280},[1692],{"type":46,"tag":224,"props":1693,"children":1694},{"style":253},[1695],{"type":52,"value":928},{"type":46,"tag":224,"props":1697,"children":1698},{"class":226,"line":299},[1699,1703,1707,1711,1715,1719,1724,1728],{"type":46,"tag":224,"props":1700,"children":1701},{"style":253},[1702],{"type":52,"value":936},{"type":46,"tag":224,"props":1704,"children":1705},{"style":241},[1706],{"type":52,"value":941},{"type":46,"tag":224,"props":1708,"children":1709},{"style":253},[1710],{"type":52,"value":266},{"type":46,"tag":224,"props":1712,"children":1713},{"style":253},[1714],{"type":52,"value":915},{"type":46,"tag":224,"props":1716,"children":1717},{"style":253},[1718],{"type":52,"value":256},{"type":46,"tag":224,"props":1720,"children":1721},{"style":247},[1722],{"type":52,"value":1723},"Which chain do you want to swap on?",{"type":46,"tag":224,"props":1725,"children":1726},{"style":253},[1727],{"type":52,"value":266},{"type":46,"tag":224,"props":1729,"children":1730},{"style":253},[1731],{"type":52,"value":967},{"type":46,"tag":224,"props":1733,"children":1734},{"class":226,"line":308},[1735,1739,1743,1747,1751,1755,1759,1763],{"type":46,"tag":224,"props":1736,"children":1737},{"style":253},[1738],{"type":52,"value":936},{"type":46,"tag":224,"props":1740,"children":1741},{"style":241},[1742],{"type":52,"value":979},{"type":46,"tag":224,"props":1744,"children":1745},{"style":253},[1746],{"type":52,"value":266},{"type":46,"tag":224,"props":1748,"children":1749},{"style":253},[1750],{"type":52,"value":915},{"type":46,"tag":224,"props":1752,"children":1753},{"style":253},[1754],{"type":52,"value":256},{"type":46,"tag":224,"props":1756,"children":1757},{"style":247},[1758],{"type":52,"value":1628},{"type":46,"tag":224,"props":1760,"children":1761},{"style":253},[1762],{"type":52,"value":266},{"type":46,"tag":224,"props":1764,"children":1765},{"style":253},[1766],{"type":52,"value":967},{"type":46,"tag":224,"props":1768,"children":1769},{"class":226,"line":317},[1770,1774,1778,1782,1786],{"type":46,"tag":224,"props":1771,"children":1772},{"style":253},[1773],{"type":52,"value":936},{"type":46,"tag":224,"props":1775,"children":1776},{"style":241},[1777],{"type":52,"value":1016},{"type":46,"tag":224,"props":1779,"children":1780},{"style":253},[1781],{"type":52,"value":266},{"type":46,"tag":224,"props":1783,"children":1784},{"style":253},[1785],{"type":52,"value":915},{"type":46,"tag":224,"props":1787,"children":1788},{"style":253},[1789],{"type":52,"value":920},{"type":46,"tag":224,"props":1791,"children":1792},{"class":226,"line":326},[1793,1797,1801,1805,1809,1813,1817,1822,1826,1830,1834,1838,1842,1846,1850,1855,1859],{"type":46,"tag":224,"props":1794,"children":1795},{"style":253},[1796],{"type":52,"value":1036},{"type":46,"tag":224,"props":1798,"children":1799},{"style":253},[1800],{"type":52,"value":256},{"type":46,"tag":224,"props":1802,"children":1803},{"style":1043},[1804],{"type":52,"value":1046},{"type":46,"tag":224,"props":1806,"children":1807},{"style":253},[1808],{"type":52,"value":266},{"type":46,"tag":224,"props":1810,"children":1811},{"style":253},[1812],{"type":52,"value":915},{"type":46,"tag":224,"props":1814,"children":1815},{"style":253},[1816],{"type":52,"value":256},{"type":46,"tag":224,"props":1818,"children":1819},{"style":247},[1820],{"type":52,"value":1821},"Base (Recommended)",{"type":46,"tag":224,"props":1823,"children":1824},{"style":253},[1825],{"type":52,"value":266},{"type":46,"tag":224,"props":1827,"children":1828},{"style":253},[1829],{"type":52,"value":1072},{"type":46,"tag":224,"props":1831,"children":1832},{"style":253},[1833],{"type":52,"value":256},{"type":46,"tag":224,"props":1835,"children":1836},{"style":1043},[1837],{"type":52,"value":1081},{"type":46,"tag":224,"props":1839,"children":1840},{"style":253},[1841],{"type":52,"value":266},{"type":46,"tag":224,"props":1843,"children":1844},{"style":253},[1845],{"type":52,"value":915},{"type":46,"tag":224,"props":1847,"children":1848},{"style":253},[1849],{"type":52,"value":256},{"type":46,"tag":224,"props":1851,"children":1852},{"style":247},[1853],{"type":52,"value":1854},"Low gas fees, fast transactions",{"type":46,"tag":224,"props":1856,"children":1857},{"style":253},[1858],{"type":52,"value":266},{"type":46,"tag":224,"props":1860,"children":1861},{"style":253},[1862],{"type":52,"value":1107},{"type":46,"tag":224,"props":1864,"children":1865},{"class":226,"line":335},[1866,1870,1874,1878,1882,1886,1890,1895,1899,1903,1907,1911,1915,1919,1923,1928,1932],{"type":46,"tag":224,"props":1867,"children":1868},{"style":253},[1869],{"type":52,"value":1036},{"type":46,"tag":224,"props":1871,"children":1872},{"style":253},[1873],{"type":52,"value":256},{"type":46,"tag":224,"props":1875,"children":1876},{"style":1043},[1877],{"type":52,"value":1046},{"type":46,"tag":224,"props":1879,"children":1880},{"style":253},[1881],{"type":52,"value":266},{"type":46,"tag":224,"props":1883,"children":1884},{"style":253},[1885],{"type":52,"value":915},{"type":46,"tag":224,"props":1887,"children":1888},{"style":253},[1889],{"type":52,"value":256},{"type":46,"tag":224,"props":1891,"children":1892},{"style":247},[1893],{"type":52,"value":1894},"Ethereum",{"type":46,"tag":224,"props":1896,"children":1897},{"style":253},[1898],{"type":52,"value":266},{"type":46,"tag":224,"props":1900,"children":1901},{"style":253},[1902],{"type":52,"value":1072},{"type":46,"tag":224,"props":1904,"children":1905},{"style":253},[1906],{"type":52,"value":256},{"type":46,"tag":224,"props":1908,"children":1909},{"style":1043},[1910],{"type":52,"value":1081},{"type":46,"tag":224,"props":1912,"children":1913},{"style":253},[1914],{"type":52,"value":266},{"type":46,"tag":224,"props":1916,"children":1917},{"style":253},[1918],{"type":52,"value":915},{"type":46,"tag":224,"props":1920,"children":1921},{"style":253},[1922],{"type":52,"value":256},{"type":46,"tag":224,"props":1924,"children":1925},{"style":247},[1926],{"type":52,"value":1927},"Main network, higher gas",{"type":46,"tag":224,"props":1929,"children":1930},{"style":253},[1931],{"type":52,"value":266},{"type":46,"tag":224,"props":1933,"children":1934},{"style":253},[1935],{"type":52,"value":1107},{"type":46,"tag":224,"props":1937,"children":1938},{"class":226,"line":344},[1939,1943,1947,1951,1955,1959,1963,1968,1972,1976,1980,1984,1988,1992,1996,2001,2005],{"type":46,"tag":224,"props":1940,"children":1941},{"style":253},[1942],{"type":52,"value":1036},{"type":46,"tag":224,"props":1944,"children":1945},{"style":253},[1946],{"type":52,"value":256},{"type":46,"tag":224,"props":1948,"children":1949},{"style":1043},[1950],{"type":52,"value":1046},{"type":46,"tag":224,"props":1952,"children":1953},{"style":253},[1954],{"type":52,"value":266},{"type":46,"tag":224,"props":1956,"children":1957},{"style":253},[1958],{"type":52,"value":915},{"type":46,"tag":224,"props":1960,"children":1961},{"style":253},[1962],{"type":52,"value":256},{"type":46,"tag":224,"props":1964,"children":1965},{"style":247},[1966],{"type":52,"value":1967},"Arbitrum",{"type":46,"tag":224,"props":1969,"children":1970},{"style":253},[1971],{"type":52,"value":266},{"type":46,"tag":224,"props":1973,"children":1974},{"style":253},[1975],{"type":52,"value":1072},{"type":46,"tag":224,"props":1977,"children":1978},{"style":253},[1979],{"type":52,"value":256},{"type":46,"tag":224,"props":1981,"children":1982},{"style":1043},[1983],{"type":52,"value":1081},{"type":46,"tag":224,"props":1985,"children":1986},{"style":253},[1987],{"type":52,"value":266},{"type":46,"tag":224,"props":1989,"children":1990},{"style":253},[1991],{"type":52,"value":915},{"type":46,"tag":224,"props":1993,"children":1994},{"style":253},[1995],{"type":52,"value":256},{"type":46,"tag":224,"props":1997,"children":1998},{"style":247},[1999],{"type":52,"value":2000},"Low fees, Ethereum L2",{"type":46,"tag":224,"props":2002,"children":2003},{"style":253},[2004],{"type":52,"value":266},{"type":46,"tag":224,"props":2006,"children":2007},{"style":253},[2008],{"type":52,"value":1107},{"type":46,"tag":224,"props":2010,"children":2011},{"class":226,"line":353},[2012,2016,2020,2024,2028,2032,2036,2041,2045,2049,2053,2057,2061,2065,2069,2073,2077],{"type":46,"tag":224,"props":2013,"children":2014},{"style":253},[2015],{"type":52,"value":1036},{"type":46,"tag":224,"props":2017,"children":2018},{"style":253},[2019],{"type":52,"value":256},{"type":46,"tag":224,"props":2021,"children":2022},{"style":1043},[2023],{"type":52,"value":1046},{"type":46,"tag":224,"props":2025,"children":2026},{"style":253},[2027],{"type":52,"value":266},{"type":46,"tag":224,"props":2029,"children":2030},{"style":253},[2031],{"type":52,"value":915},{"type":46,"tag":224,"props":2033,"children":2034},{"style":253},[2035],{"type":52,"value":256},{"type":46,"tag":224,"props":2037,"children":2038},{"style":247},[2039],{"type":52,"value":2040},"Optimism",{"type":46,"tag":224,"props":2042,"children":2043},{"style":253},[2044],{"type":52,"value":266},{"type":46,"tag":224,"props":2046,"children":2047},{"style":253},[2048],{"type":52,"value":1072},{"type":46,"tag":224,"props":2050,"children":2051},{"style":253},[2052],{"type":52,"value":256},{"type":46,"tag":224,"props":2054,"children":2055},{"style":1043},[2056],{"type":52,"value":1081},{"type":46,"tag":224,"props":2058,"children":2059},{"style":253},[2060],{"type":52,"value":266},{"type":46,"tag":224,"props":2062,"children":2063},{"style":253},[2064],{"type":52,"value":915},{"type":46,"tag":224,"props":2066,"children":2067},{"style":253},[2068],{"type":52,"value":256},{"type":46,"tag":224,"props":2070,"children":2071},{"style":247},[2072],{"type":52,"value":2000},{"type":46,"tag":224,"props":2074,"children":2075},{"style":253},[2076],{"type":52,"value":266},{"type":46,"tag":224,"props":2078,"children":2079},{"style":253},[2080],{"type":52,"value":1254},{"type":46,"tag":224,"props":2082,"children":2083},{"class":226,"line":1265},[2084],{"type":46,"tag":224,"props":2085,"children":2086},{"style":253},[2087],{"type":52,"value":1262},{"type":46,"tag":224,"props":2089,"children":2090},{"class":226,"line":1291},[2091,2095,2099,2103,2107],{"type":46,"tag":224,"props":2092,"children":2093},{"style":253},[2094],{"type":52,"value":936},{"type":46,"tag":224,"props":2096,"children":2097},{"style":241},[2098],{"type":52,"value":1275},{"type":46,"tag":224,"props":2100,"children":2101},{"style":253},[2102],{"type":52,"value":266},{"type":46,"tag":224,"props":2104,"children":2105},{"style":253},[2106],{"type":52,"value":915},{"type":46,"tag":224,"props":2108,"children":2109},{"style":253},[2110],{"type":52,"value":1288},{"type":46,"tag":224,"props":2112,"children":2113},{"class":226,"line":1300},[2114],{"type":46,"tag":224,"props":2115,"children":2116},{"style":253},[2117],{"type":52,"value":1297},{"type":46,"tag":224,"props":2119,"children":2120},{"class":226,"line":1309},[2121],{"type":46,"tag":224,"props":2122,"children":2123},{"style":253},[2124],{"type":52,"value":1306},{"type":46,"tag":224,"props":2126,"children":2128},{"class":226,"line":2127},15,[2129],{"type":46,"tag":224,"props":2130,"children":2131},{"style":253},[2132],{"type":52,"value":1315},{"type":46,"tag":55,"props":2134,"children":2135},{},[2136],{"type":52,"value":2137},"For missing output token (when input is ETH):",{"type":46,"tag":213,"props":2139,"children":2141},{"className":878,"code":2140,"language":880,"meta":218,"style":218},"{\n  \"questions\": [\n    {\n      \"question\": \"What token do you want to receive?\",\n      \"header\": \"Output\",\n      \"options\": [\n        { \"label\": \"USDC\", \"description\": \"USD stablecoin\" },\n        { \"label\": \"USDT\", \"description\": \"Tether stablecoin\" },\n        { \"label\": \"DAI\", \"description\": \"Decentralized stablecoin\" },\n        { \"label\": \"WBTC\", \"description\": \"Wrapped Bitcoin\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n",[2142],{"type":46,"tag":76,"props":2143,"children":2144},{"__ignoreMap":218},[2145,2152,2175,2182,2218,2254,2277,2350,2423,2496,2569,2576,2599,2606,2613],{"type":46,"tag":224,"props":2146,"children":2147},{"class":226,"line":227},[2148],{"type":46,"tag":224,"props":2149,"children":2150},{"style":253},[2151],{"type":52,"value":892},{"type":46,"tag":224,"props":2153,"children":2154},{"class":226,"line":237},[2155,2159,2163,2167,2171],{"type":46,"tag":224,"props":2156,"children":2157},{"style":253},[2158],{"type":52,"value":900},{"type":46,"tag":224,"props":2160,"children":2161},{"style":903},[2162],{"type":52,"value":906},{"type":46,"tag":224,"props":2164,"children":2165},{"style":253},[2166],{"type":52,"value":266},{"type":46,"tag":224,"props":2168,"children":2169},{"style":253},[2170],{"type":52,"value":915},{"type":46,"tag":224,"props":2172,"children":2173},{"style":253},[2174],{"type":52,"value":920},{"type":46,"tag":224,"props":2176,"children":2177},{"class":226,"line":280},[2178],{"type":46,"tag":224,"props":2179,"children":2180},{"style":253},[2181],{"type":52,"value":928},{"type":46,"tag":224,"props":2183,"children":2184},{"class":226,"line":299},[2185,2189,2193,2197,2201,2205,2210,2214],{"type":46,"tag":224,"props":2186,"children":2187},{"style":253},[2188],{"type":52,"value":936},{"type":46,"tag":224,"props":2190,"children":2191},{"style":241},[2192],{"type":52,"value":941},{"type":46,"tag":224,"props":2194,"children":2195},{"style":253},[2196],{"type":52,"value":266},{"type":46,"tag":224,"props":2198,"children":2199},{"style":253},[2200],{"type":52,"value":915},{"type":46,"tag":224,"props":2202,"children":2203},{"style":253},[2204],{"type":52,"value":256},{"type":46,"tag":224,"props":2206,"children":2207},{"style":247},[2208],{"type":52,"value":2209},"What token do you want to receive?",{"type":46,"tag":224,"props":2211,"children":2212},{"style":253},[2213],{"type":52,"value":266},{"type":46,"tag":224,"props":2215,"children":2216},{"style":253},[2217],{"type":52,"value":967},{"type":46,"tag":224,"props":2219,"children":2220},{"class":226,"line":308},[2221,2225,2229,2233,2237,2241,2246,2250],{"type":46,"tag":224,"props":2222,"children":2223},{"style":253},[2224],{"type":52,"value":936},{"type":46,"tag":224,"props":2226,"children":2227},{"style":241},[2228],{"type":52,"value":979},{"type":46,"tag":224,"props":2230,"children":2231},{"style":253},[2232],{"type":52,"value":266},{"type":46,"tag":224,"props":2234,"children":2235},{"style":253},[2236],{"type":52,"value":915},{"type":46,"tag":224,"props":2238,"children":2239},{"style":253},[2240],{"type":52,"value":256},{"type":46,"tag":224,"props":2242,"children":2243},{"style":247},[2244],{"type":52,"value":2245},"Output",{"type":46,"tag":224,"props":2247,"children":2248},{"style":253},[2249],{"type":52,"value":266},{"type":46,"tag":224,"props":2251,"children":2252},{"style":253},[2253],{"type":52,"value":967},{"type":46,"tag":224,"props":2255,"children":2256},{"class":226,"line":317},[2257,2261,2265,2269,2273],{"type":46,"tag":224,"props":2258,"children":2259},{"style":253},[2260],{"type":52,"value":936},{"type":46,"tag":224,"props":2262,"children":2263},{"style":241},[2264],{"type":52,"value":1016},{"type":46,"tag":224,"props":2266,"children":2267},{"style":253},[2268],{"type":52,"value":266},{"type":46,"tag":224,"props":2270,"children":2271},{"style":253},[2272],{"type":52,"value":915},{"type":46,"tag":224,"props":2274,"children":2275},{"style":253},[2276],{"type":52,"value":920},{"type":46,"tag":224,"props":2278,"children":2279},{"class":226,"line":326},[2280,2284,2288,2292,2296,2300,2304,2309,2313,2317,2321,2325,2329,2333,2337,2342,2346],{"type":46,"tag":224,"props":2281,"children":2282},{"style":253},[2283],{"type":52,"value":1036},{"type":46,"tag":224,"props":2285,"children":2286},{"style":253},[2287],{"type":52,"value":256},{"type":46,"tag":224,"props":2289,"children":2290},{"style":1043},[2291],{"type":52,"value":1046},{"type":46,"tag":224,"props":2293,"children":2294},{"style":253},[2295],{"type":52,"value":266},{"type":46,"tag":224,"props":2297,"children":2298},{"style":253},[2299],{"type":52,"value":915},{"type":46,"tag":224,"props":2301,"children":2302},{"style":253},[2303],{"type":52,"value":256},{"type":46,"tag":224,"props":2305,"children":2306},{"style":247},[2307],{"type":52,"value":2308},"USDC",{"type":46,"tag":224,"props":2310,"children":2311},{"style":253},[2312],{"type":52,"value":266},{"type":46,"tag":224,"props":2314,"children":2315},{"style":253},[2316],{"type":52,"value":1072},{"type":46,"tag":224,"props":2318,"children":2319},{"style":253},[2320],{"type":52,"value":256},{"type":46,"tag":224,"props":2322,"children":2323},{"style":1043},[2324],{"type":52,"value":1081},{"type":46,"tag":224,"props":2326,"children":2327},{"style":253},[2328],{"type":52,"value":266},{"type":46,"tag":224,"props":2330,"children":2331},{"style":253},[2332],{"type":52,"value":915},{"type":46,"tag":224,"props":2334,"children":2335},{"style":253},[2336],{"type":52,"value":256},{"type":46,"tag":224,"props":2338,"children":2339},{"style":247},[2340],{"type":52,"value":2341},"USD stablecoin",{"type":46,"tag":224,"props":2343,"children":2344},{"style":253},[2345],{"type":52,"value":266},{"type":46,"tag":224,"props":2347,"children":2348},{"style":253},[2349],{"type":52,"value":1107},{"type":46,"tag":224,"props":2351,"children":2352},{"class":226,"line":335},[2353,2357,2361,2365,2369,2373,2377,2382,2386,2390,2394,2398,2402,2406,2410,2415,2419],{"type":46,"tag":224,"props":2354,"children":2355},{"style":253},[2356],{"type":52,"value":1036},{"type":46,"tag":224,"props":2358,"children":2359},{"style":253},[2360],{"type":52,"value":256},{"type":46,"tag":224,"props":2362,"children":2363},{"style":1043},[2364],{"type":52,"value":1046},{"type":46,"tag":224,"props":2366,"children":2367},{"style":253},[2368],{"type":52,"value":266},{"type":46,"tag":224,"props":2370,"children":2371},{"style":253},[2372],{"type":52,"value":915},{"type":46,"tag":224,"props":2374,"children":2375},{"style":253},[2376],{"type":52,"value":256},{"type":46,"tag":224,"props":2378,"children":2379},{"style":247},[2380],{"type":52,"value":2381},"USDT",{"type":46,"tag":224,"props":2383,"children":2384},{"style":253},[2385],{"type":52,"value":266},{"type":46,"tag":224,"props":2387,"children":2388},{"style":253},[2389],{"type":52,"value":1072},{"type":46,"tag":224,"props":2391,"children":2392},{"style":253},[2393],{"type":52,"value":256},{"type":46,"tag":224,"props":2395,"children":2396},{"style":1043},[2397],{"type":52,"value":1081},{"type":46,"tag":224,"props":2399,"children":2400},{"style":253},[2401],{"type":52,"value":266},{"type":46,"tag":224,"props":2403,"children":2404},{"style":253},[2405],{"type":52,"value":915},{"type":46,"tag":224,"props":2407,"children":2408},{"style":253},[2409],{"type":52,"value":256},{"type":46,"tag":224,"props":2411,"children":2412},{"style":247},[2413],{"type":52,"value":2414},"Tether stablecoin",{"type":46,"tag":224,"props":2416,"children":2417},{"style":253},[2418],{"type":52,"value":266},{"type":46,"tag":224,"props":2420,"children":2421},{"style":253},[2422],{"type":52,"value":1107},{"type":46,"tag":224,"props":2424,"children":2425},{"class":226,"line":344},[2426,2430,2434,2438,2442,2446,2450,2455,2459,2463,2467,2471,2475,2479,2483,2488,2492],{"type":46,"tag":224,"props":2427,"children":2428},{"style":253},[2429],{"type":52,"value":1036},{"type":46,"tag":224,"props":2431,"children":2432},{"style":253},[2433],{"type":52,"value":256},{"type":46,"tag":224,"props":2435,"children":2436},{"style":1043},[2437],{"type":52,"value":1046},{"type":46,"tag":224,"props":2439,"children":2440},{"style":253},[2441],{"type":52,"value":266},{"type":46,"tag":224,"props":2443,"children":2444},{"style":253},[2445],{"type":52,"value":915},{"type":46,"tag":224,"props":2447,"children":2448},{"style":253},[2449],{"type":52,"value":256},{"type":46,"tag":224,"props":2451,"children":2452},{"style":247},[2453],{"type":52,"value":2454},"DAI",{"type":46,"tag":224,"props":2456,"children":2457},{"style":253},[2458],{"type":52,"value":266},{"type":46,"tag":224,"props":2460,"children":2461},{"style":253},[2462],{"type":52,"value":1072},{"type":46,"tag":224,"props":2464,"children":2465},{"style":253},[2466],{"type":52,"value":256},{"type":46,"tag":224,"props":2468,"children":2469},{"style":1043},[2470],{"type":52,"value":1081},{"type":46,"tag":224,"props":2472,"children":2473},{"style":253},[2474],{"type":52,"value":266},{"type":46,"tag":224,"props":2476,"children":2477},{"style":253},[2478],{"type":52,"value":915},{"type":46,"tag":224,"props":2480,"children":2481},{"style":253},[2482],{"type":52,"value":256},{"type":46,"tag":224,"props":2484,"children":2485},{"style":247},[2486],{"type":52,"value":2487},"Decentralized stablecoin",{"type":46,"tag":224,"props":2489,"children":2490},{"style":253},[2491],{"type":52,"value":266},{"type":46,"tag":224,"props":2493,"children":2494},{"style":253},[2495],{"type":52,"value":1107},{"type":46,"tag":224,"props":2497,"children":2498},{"class":226,"line":353},[2499,2503,2507,2511,2515,2519,2523,2528,2532,2536,2540,2544,2548,2552,2556,2561,2565],{"type":46,"tag":224,"props":2500,"children":2501},{"style":253},[2502],{"type":52,"value":1036},{"type":46,"tag":224,"props":2504,"children":2505},{"style":253},[2506],{"type":52,"value":256},{"type":46,"tag":224,"props":2508,"children":2509},{"style":1043},[2510],{"type":52,"value":1046},{"type":46,"tag":224,"props":2512,"children":2513},{"style":253},[2514],{"type":52,"value":266},{"type":46,"tag":224,"props":2516,"children":2517},{"style":253},[2518],{"type":52,"value":915},{"type":46,"tag":224,"props":2520,"children":2521},{"style":253},[2522],{"type":52,"value":256},{"type":46,"tag":224,"props":2524,"children":2525},{"style":247},[2526],{"type":52,"value":2527},"WBTC",{"type":46,"tag":224,"props":2529,"children":2530},{"style":253},[2531],{"type":52,"value":266},{"type":46,"tag":224,"props":2533,"children":2534},{"style":253},[2535],{"type":52,"value":1072},{"type":46,"tag":224,"props":2537,"children":2538},{"style":253},[2539],{"type":52,"value":256},{"type":46,"tag":224,"props":2541,"children":2542},{"style":1043},[2543],{"type":52,"value":1081},{"type":46,"tag":224,"props":2545,"children":2546},{"style":253},[2547],{"type":52,"value":266},{"type":46,"tag":224,"props":2549,"children":2550},{"style":253},[2551],{"type":52,"value":915},{"type":46,"tag":224,"props":2553,"children":2554},{"style":253},[2555],{"type":52,"value":256},{"type":46,"tag":224,"props":2557,"children":2558},{"style":247},[2559],{"type":52,"value":2560},"Wrapped Bitcoin",{"type":46,"tag":224,"props":2562,"children":2563},{"style":253},[2564],{"type":52,"value":266},{"type":46,"tag":224,"props":2566,"children":2567},{"style":253},[2568],{"type":52,"value":1254},{"type":46,"tag":224,"props":2570,"children":2571},{"class":226,"line":1265},[2572],{"type":46,"tag":224,"props":2573,"children":2574},{"style":253},[2575],{"type":52,"value":1262},{"type":46,"tag":224,"props":2577,"children":2578},{"class":226,"line":1291},[2579,2583,2587,2591,2595],{"type":46,"tag":224,"props":2580,"children":2581},{"style":253},[2582],{"type":52,"value":936},{"type":46,"tag":224,"props":2584,"children":2585},{"style":241},[2586],{"type":52,"value":1275},{"type":46,"tag":224,"props":2588,"children":2589},{"style":253},[2590],{"type":52,"value":266},{"type":46,"tag":224,"props":2592,"children":2593},{"style":253},[2594],{"type":52,"value":915},{"type":46,"tag":224,"props":2596,"children":2597},{"style":253},[2598],{"type":52,"value":1288},{"type":46,"tag":224,"props":2600,"children":2601},{"class":226,"line":1300},[2602],{"type":46,"tag":224,"props":2603,"children":2604},{"style":253},[2605],{"type":52,"value":1297},{"type":46,"tag":224,"props":2607,"children":2608},{"class":226,"line":1309},[2609],{"type":46,"tag":224,"props":2610,"children":2611},{"style":253},[2612],{"type":52,"value":1306},{"type":46,"tag":224,"props":2614,"children":2615},{"class":226,"line":2127},[2616],{"type":46,"tag":224,"props":2617,"children":2618},{"style":253},[2619],{"type":52,"value":1315},{"type":46,"tag":55,"props":2621,"children":2622},{},[2623],{"type":52,"value":2624},"For missing amount:",{"type":46,"tag":213,"props":2626,"children":2628},{"className":878,"code":2627,"language":880,"meta":218,"style":218},"{\n  \"questions\": [\n    {\n      \"question\": \"How much do you want to swap?\",\n      \"header\": \"Amount\",\n      \"options\": [\n        { \"label\": \"0.1 ETH\", \"description\": \"~$320\" },\n        { \"label\": \"0.5 ETH\", \"description\": \"~$1,600\" },\n        { \"label\": \"1 ETH\", \"description\": \"~$3,200\" },\n        { \"label\": \"Custom amount\", \"description\": \"Enter specific amount\" }\n      ],\n      \"multiSelect\": false\n    }\n  ]\n}\n",[2629],{"type":46,"tag":76,"props":2630,"children":2631},{"__ignoreMap":218},[2632,2639,2662,2669,2705,2740,2763,2836,2909,2982,3055,3062,3085,3092,3099],{"type":46,"tag":224,"props":2633,"children":2634},{"class":226,"line":227},[2635],{"type":46,"tag":224,"props":2636,"children":2637},{"style":253},[2638],{"type":52,"value":892},{"type":46,"tag":224,"props":2640,"children":2641},{"class":226,"line":237},[2642,2646,2650,2654,2658],{"type":46,"tag":224,"props":2643,"children":2644},{"style":253},[2645],{"type":52,"value":900},{"type":46,"tag":224,"props":2647,"children":2648},{"style":903},[2649],{"type":52,"value":906},{"type":46,"tag":224,"props":2651,"children":2652},{"style":253},[2653],{"type":52,"value":266},{"type":46,"tag":224,"props":2655,"children":2656},{"style":253},[2657],{"type":52,"value":915},{"type":46,"tag":224,"props":2659,"children":2660},{"style":253},[2661],{"type":52,"value":920},{"type":46,"tag":224,"props":2663,"children":2664},{"class":226,"line":280},[2665],{"type":46,"tag":224,"props":2666,"children":2667},{"style":253},[2668],{"type":52,"value":928},{"type":46,"tag":224,"props":2670,"children":2671},{"class":226,"line":299},[2672,2676,2680,2684,2688,2692,2697,2701],{"type":46,"tag":224,"props":2673,"children":2674},{"style":253},[2675],{"type":52,"value":936},{"type":46,"tag":224,"props":2677,"children":2678},{"style":241},[2679],{"type":52,"value":941},{"type":46,"tag":224,"props":2681,"children":2682},{"style":253},[2683],{"type":52,"value":266},{"type":46,"tag":224,"props":2685,"children":2686},{"style":253},[2687],{"type":52,"value":915},{"type":46,"tag":224,"props":2689,"children":2690},{"style":253},[2691],{"type":52,"value":256},{"type":46,"tag":224,"props":2693,"children":2694},{"style":247},[2695],{"type":52,"value":2696},"How much do you want to swap?",{"type":46,"tag":224,"props":2698,"children":2699},{"style":253},[2700],{"type":52,"value":266},{"type":46,"tag":224,"props":2702,"children":2703},{"style":253},[2704],{"type":52,"value":967},{"type":46,"tag":224,"props":2706,"children":2707},{"class":226,"line":308},[2708,2712,2716,2720,2724,2728,2732,2736],{"type":46,"tag":224,"props":2709,"children":2710},{"style":253},[2711],{"type":52,"value":936},{"type":46,"tag":224,"props":2713,"children":2714},{"style":241},[2715],{"type":52,"value":979},{"type":46,"tag":224,"props":2717,"children":2718},{"style":253},[2719],{"type":52,"value":266},{"type":46,"tag":224,"props":2721,"children":2722},{"style":253},[2723],{"type":52,"value":915},{"type":46,"tag":224,"props":2725,"children":2726},{"style":253},[2727],{"type":52,"value":256},{"type":46,"tag":224,"props":2729,"children":2730},{"style":247},[2731],{"type":52,"value":1611},{"type":46,"tag":224,"props":2733,"children":2734},{"style":253},[2735],{"type":52,"value":266},{"type":46,"tag":224,"props":2737,"children":2738},{"style":253},[2739],{"type":52,"value":967},{"type":46,"tag":224,"props":2741,"children":2742},{"class":226,"line":317},[2743,2747,2751,2755,2759],{"type":46,"tag":224,"props":2744,"children":2745},{"style":253},[2746],{"type":52,"value":936},{"type":46,"tag":224,"props":2748,"children":2749},{"style":241},[2750],{"type":52,"value":1016},{"type":46,"tag":224,"props":2752,"children":2753},{"style":253},[2754],{"type":52,"value":266},{"type":46,"tag":224,"props":2756,"children":2757},{"style":253},[2758],{"type":52,"value":915},{"type":46,"tag":224,"props":2760,"children":2761},{"style":253},[2762],{"type":52,"value":920},{"type":46,"tag":224,"props":2764,"children":2765},{"class":226,"line":326},[2766,2770,2774,2778,2782,2786,2790,2795,2799,2803,2807,2811,2815,2819,2823,2828,2832],{"type":46,"tag":224,"props":2767,"children":2768},{"style":253},[2769],{"type":52,"value":1036},{"type":46,"tag":224,"props":2771,"children":2772},{"style":253},[2773],{"type":52,"value":256},{"type":46,"tag":224,"props":2775,"children":2776},{"style":1043},[2777],{"type":52,"value":1046},{"type":46,"tag":224,"props":2779,"children":2780},{"style":253},[2781],{"type":52,"value":266},{"type":46,"tag":224,"props":2783,"children":2784},{"style":253},[2785],{"type":52,"value":915},{"type":46,"tag":224,"props":2787,"children":2788},{"style":253},[2789],{"type":52,"value":256},{"type":46,"tag":224,"props":2791,"children":2792},{"style":247},[2793],{"type":52,"value":2794},"0.1 ETH",{"type":46,"tag":224,"props":2796,"children":2797},{"style":253},[2798],{"type":52,"value":266},{"type":46,"tag":224,"props":2800,"children":2801},{"style":253},[2802],{"type":52,"value":1072},{"type":46,"tag":224,"props":2804,"children":2805},{"style":253},[2806],{"type":52,"value":256},{"type":46,"tag":224,"props":2808,"children":2809},{"style":1043},[2810],{"type":52,"value":1081},{"type":46,"tag":224,"props":2812,"children":2813},{"style":253},[2814],{"type":52,"value":266},{"type":46,"tag":224,"props":2816,"children":2817},{"style":253},[2818],{"type":52,"value":915},{"type":46,"tag":224,"props":2820,"children":2821},{"style":253},[2822],{"type":52,"value":256},{"type":46,"tag":224,"props":2824,"children":2825},{"style":247},[2826],{"type":52,"value":2827},"~$320",{"type":46,"tag":224,"props":2829,"children":2830},{"style":253},[2831],{"type":52,"value":266},{"type":46,"tag":224,"props":2833,"children":2834},{"style":253},[2835],{"type":52,"value":1107},{"type":46,"tag":224,"props":2837,"children":2838},{"class":226,"line":335},[2839,2843,2847,2851,2855,2859,2863,2868,2872,2876,2880,2884,2888,2892,2896,2901,2905],{"type":46,"tag":224,"props":2840,"children":2841},{"style":253},[2842],{"type":52,"value":1036},{"type":46,"tag":224,"props":2844,"children":2845},{"style":253},[2846],{"type":52,"value":256},{"type":46,"tag":224,"props":2848,"children":2849},{"style":1043},[2850],{"type":52,"value":1046},{"type":46,"tag":224,"props":2852,"children":2853},{"style":253},[2854],{"type":52,"value":266},{"type":46,"tag":224,"props":2856,"children":2857},{"style":253},[2858],{"type":52,"value":915},{"type":46,"tag":224,"props":2860,"children":2861},{"style":253},[2862],{"type":52,"value":256},{"type":46,"tag":224,"props":2864,"children":2865},{"style":247},[2866],{"type":52,"value":2867},"0.5 ETH",{"type":46,"tag":224,"props":2869,"children":2870},{"style":253},[2871],{"type":52,"value":266},{"type":46,"tag":224,"props":2873,"children":2874},{"style":253},[2875],{"type":52,"value":1072},{"type":46,"tag":224,"props":2877,"children":2878},{"style":253},[2879],{"type":52,"value":256},{"type":46,"tag":224,"props":2881,"children":2882},{"style":1043},[2883],{"type":52,"value":1081},{"type":46,"tag":224,"props":2885,"children":2886},{"style":253},[2887],{"type":52,"value":266},{"type":46,"tag":224,"props":2889,"children":2890},{"style":253},[2891],{"type":52,"value":915},{"type":46,"tag":224,"props":2893,"children":2894},{"style":253},[2895],{"type":52,"value":256},{"type":46,"tag":224,"props":2897,"children":2898},{"style":247},[2899],{"type":52,"value":2900},"~$1,600",{"type":46,"tag":224,"props":2902,"children":2903},{"style":253},[2904],{"type":52,"value":266},{"type":46,"tag":224,"props":2906,"children":2907},{"style":253},[2908],{"type":52,"value":1107},{"type":46,"tag":224,"props":2910,"children":2911},{"class":226,"line":344},[2912,2916,2920,2924,2928,2932,2936,2941,2945,2949,2953,2957,2961,2965,2969,2974,2978],{"type":46,"tag":224,"props":2913,"children":2914},{"style":253},[2915],{"type":52,"value":1036},{"type":46,"tag":224,"props":2917,"children":2918},{"style":253},[2919],{"type":52,"value":256},{"type":46,"tag":224,"props":2921,"children":2922},{"style":1043},[2923],{"type":52,"value":1046},{"type":46,"tag":224,"props":2925,"children":2926},{"style":253},[2927],{"type":52,"value":266},{"type":46,"tag":224,"props":2929,"children":2930},{"style":253},[2931],{"type":52,"value":915},{"type":46,"tag":224,"props":2933,"children":2934},{"style":253},[2935],{"type":52,"value":256},{"type":46,"tag":224,"props":2937,"children":2938},{"style":247},[2939],{"type":52,"value":2940},"1 ETH",{"type":46,"tag":224,"props":2942,"children":2943},{"style":253},[2944],{"type":52,"value":266},{"type":46,"tag":224,"props":2946,"children":2947},{"style":253},[2948],{"type":52,"value":1072},{"type":46,"tag":224,"props":2950,"children":2951},{"style":253},[2952],{"type":52,"value":256},{"type":46,"tag":224,"props":2954,"children":2955},{"style":1043},[2956],{"type":52,"value":1081},{"type":46,"tag":224,"props":2958,"children":2959},{"style":253},[2960],{"type":52,"value":266},{"type":46,"tag":224,"props":2962,"children":2963},{"style":253},[2964],{"type":52,"value":915},{"type":46,"tag":224,"props":2966,"children":2967},{"style":253},[2968],{"type":52,"value":256},{"type":46,"tag":224,"props":2970,"children":2971},{"style":247},[2972],{"type":52,"value":2973},"~$3,200",{"type":46,"tag":224,"props":2975,"children":2976},{"style":253},[2977],{"type":52,"value":266},{"type":46,"tag":224,"props":2979,"children":2980},{"style":253},[2981],{"type":52,"value":1107},{"type":46,"tag":224,"props":2983,"children":2984},{"class":226,"line":353},[2985,2989,2993,2997,3001,3005,3009,3014,3018,3022,3026,3030,3034,3038,3042,3047,3051],{"type":46,"tag":224,"props":2986,"children":2987},{"style":253},[2988],{"type":52,"value":1036},{"type":46,"tag":224,"props":2990,"children":2991},{"style":253},[2992],{"type":52,"value":256},{"type":46,"tag":224,"props":2994,"children":2995},{"style":1043},[2996],{"type":52,"value":1046},{"type":46,"tag":224,"props":2998,"children":2999},{"style":253},[3000],{"type":52,"value":266},{"type":46,"tag":224,"props":3002,"children":3003},{"style":253},[3004],{"type":52,"value":915},{"type":46,"tag":224,"props":3006,"children":3007},{"style":253},[3008],{"type":52,"value":256},{"type":46,"tag":224,"props":3010,"children":3011},{"style":247},[3012],{"type":52,"value":3013},"Custom amount",{"type":46,"tag":224,"props":3015,"children":3016},{"style":253},[3017],{"type":52,"value":266},{"type":46,"tag":224,"props":3019,"children":3020},{"style":253},[3021],{"type":52,"value":1072},{"type":46,"tag":224,"props":3023,"children":3024},{"style":253},[3025],{"type":52,"value":256},{"type":46,"tag":224,"props":3027,"children":3028},{"style":1043},[3029],{"type":52,"value":1081},{"type":46,"tag":224,"props":3031,"children":3032},{"style":253},[3033],{"type":52,"value":266},{"type":46,"tag":224,"props":3035,"children":3036},{"style":253},[3037],{"type":52,"value":915},{"type":46,"tag":224,"props":3039,"children":3040},{"style":253},[3041],{"type":52,"value":256},{"type":46,"tag":224,"props":3043,"children":3044},{"style":247},[3045],{"type":52,"value":3046},"Enter specific amount",{"type":46,"tag":224,"props":3048,"children":3049},{"style":253},[3050],{"type":52,"value":266},{"type":46,"tag":224,"props":3052,"children":3053},{"style":253},[3054],{"type":52,"value":1254},{"type":46,"tag":224,"props":3056,"children":3057},{"class":226,"line":1265},[3058],{"type":46,"tag":224,"props":3059,"children":3060},{"style":253},[3061],{"type":52,"value":1262},{"type":46,"tag":224,"props":3063,"children":3064},{"class":226,"line":1291},[3065,3069,3073,3077,3081],{"type":46,"tag":224,"props":3066,"children":3067},{"style":253},[3068],{"type":52,"value":936},{"type":46,"tag":224,"props":3070,"children":3071},{"style":241},[3072],{"type":52,"value":1275},{"type":46,"tag":224,"props":3074,"children":3075},{"style":253},[3076],{"type":52,"value":266},{"type":46,"tag":224,"props":3078,"children":3079},{"style":253},[3080],{"type":52,"value":915},{"type":46,"tag":224,"props":3082,"children":3083},{"style":253},[3084],{"type":52,"value":1288},{"type":46,"tag":224,"props":3086,"children":3087},{"class":226,"line":1300},[3088],{"type":46,"tag":224,"props":3089,"children":3090},{"style":253},[3091],{"type":52,"value":1297},{"type":46,"tag":224,"props":3093,"children":3094},{"class":226,"line":1309},[3095],{"type":46,"tag":224,"props":3096,"children":3097},{"style":253},[3098],{"type":52,"value":1306},{"type":46,"tag":224,"props":3100,"children":3101},{"class":226,"line":2127},[3102],{"type":46,"tag":224,"props":3103,"children":3104},{"style":253},[3105],{"type":52,"value":1315},{"type":46,"tag":55,"props":3107,"children":3108},{},[3109],{"type":52,"value":3110},"Always use forms instead of plain text questions for better UX.",{"type":46,"tag":182,"props":3112,"children":3114},{"id":3113},"step-2-resolve-token-addresses",[3115],{"type":52,"value":3116},"Step 2: Resolve Token Addresses",{"type":46,"tag":55,"props":3118,"children":3119},{},[3120],{"type":52,"value":3121},"For token symbols, resolve to addresses using known tokens or web search:",{"type":46,"tag":55,"props":3123,"children":3124},{},[3125,3130,3132,3138],{"type":46,"tag":68,"props":3126,"children":3127},{},[3128],{"type":52,"value":3129},"Native tokens",{"type":52,"value":3131},": Use ",{"type":46,"tag":76,"props":3133,"children":3135},{"className":3134},[],[3136],{"type":52,"value":3137},"NATIVE",{"type":52,"value":3139}," as the address parameter.",{"type":46,"tag":55,"props":3141,"children":3142},{},[3143,3148,3150,3156],{"type":46,"tag":68,"props":3144,"children":3145},{},[3146],{"type":52,"value":3147},"Common tokens by chain",{"type":52,"value":3149}," - see ",{"type":46,"tag":76,"props":3151,"children":3153},{"className":3152},[],[3154],{"type":52,"value":3155},"..\u002F..\u002Freferences\u002Fchains.md",{"type":52,"value":3157}," for full list:",{"type":46,"tag":1328,"props":3159,"children":3160},{},[3161,3184],{"type":46,"tag":1332,"props":3162,"children":3163},{},[3164],{"type":46,"tag":1336,"props":3165,"children":3166},{},[3167,3171,3175,3180],{"type":46,"tag":1340,"props":3168,"children":3169},{},[3170],{"type":52,"value":996},{"type":46,"tag":1340,"props":3172,"children":3173},{},[3174],{"type":52,"value":1894},{"type":46,"tag":1340,"props":3176,"children":3177},{},[3178],{"type":52,"value":3179},"Base",{"type":46,"tag":1340,"props":3181,"children":3182},{},[3183],{"type":52,"value":1967},{"type":46,"tag":1361,"props":3185,"children":3186},{},[3187,3221,3256],{"type":46,"tag":1336,"props":3188,"children":3189},{},[3190,3194,3203,3212],{"type":46,"tag":1368,"props":3191,"children":3192},{},[3193],{"type":52,"value":2308},{"type":46,"tag":1368,"props":3195,"children":3196},{},[3197],{"type":46,"tag":76,"props":3198,"children":3200},{"className":3199},[],[3201],{"type":52,"value":3202},"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",{"type":46,"tag":1368,"props":3204,"children":3205},{},[3206],{"type":46,"tag":76,"props":3207,"children":3209},{"className":3208},[],[3210],{"type":52,"value":3211},"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",{"type":46,"tag":1368,"props":3213,"children":3214},{},[3215],{"type":46,"tag":76,"props":3216,"children":3218},{"className":3217},[],[3219],{"type":52,"value":3220},"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",{"type":46,"tag":1336,"props":3222,"children":3223},{},[3224,3229,3238,3247],{"type":46,"tag":1368,"props":3225,"children":3226},{},[3227],{"type":52,"value":3228},"WETH",{"type":46,"tag":1368,"props":3230,"children":3231},{},[3232],{"type":46,"tag":76,"props":3233,"children":3235},{"className":3234},[],[3236],{"type":52,"value":3237},"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",{"type":46,"tag":1368,"props":3239,"children":3240},{},[3241],{"type":46,"tag":76,"props":3242,"children":3244},{"className":3243},[],[3245],{"type":52,"value":3246},"0x4200000000000000000000000000000000000006",{"type":46,"tag":1368,"props":3248,"children":3249},{},[3250],{"type":46,"tag":76,"props":3251,"children":3253},{"className":3252},[],[3254],{"type":52,"value":3255},"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",{"type":46,"tag":1336,"props":3257,"children":3258},{},[3259,3263,3272,3277],{"type":46,"tag":1368,"props":3260,"children":3261},{},[3262],{"type":52,"value":2527},{"type":46,"tag":1368,"props":3264,"children":3265},{},[3266],{"type":46,"tag":76,"props":3267,"children":3269},{"className":3268},[],[3270],{"type":52,"value":3271},"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",{"type":46,"tag":1368,"props":3273,"children":3274},{},[3275],{"type":52,"value":3276},"N\u002FA",{"type":46,"tag":1368,"props":3278,"children":3279},{},[3280],{"type":46,"tag":76,"props":3281,"children":3283},{"className":3282},[],[3284],{"type":52,"value":3285},"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",{"type":46,"tag":55,"props":3287,"children":3288},{},[3289],{"type":52,"value":3290},"For unknown tokens, use web search to find the contract address, then verify on-chain.",{"type":46,"tag":182,"props":3292,"children":3294},{"id":3293},"step-3-verify-token-contracts-basic",[3295],{"type":52,"value":3296},"Step 3: Verify Token Contracts (Basic)",{"type":46,"tag":55,"props":3298,"children":3299},{},[3300],{"type":46,"tag":68,"props":3301,"children":3302},{},[3303],{"type":52,"value":3304},"Input Validation (Required Before Any Shell Command):",{"type":46,"tag":55,"props":3306,"children":3307},{},[3308],{"type":52,"value":3309},"Before interpolating user-provided values into any shell command, validate all inputs:",{"type":46,"tag":1479,"props":3311,"children":3312},{},[3313,3329,3344,3362],{"type":46,"tag":108,"props":3314,"children":3315},{},[3316,3321,3323],{"type":46,"tag":68,"props":3317,"children":3318},{},[3319],{"type":52,"value":3320},"Token addresses",{"type":52,"value":3322}," MUST match: ",{"type":46,"tag":76,"props":3324,"children":3326},{"className":3325},[],[3327],{"type":52,"value":3328},"^0x[a-fA-F0-9]{40}$",{"type":46,"tag":108,"props":3330,"children":3331},{},[3332,3337,3339],{"type":46,"tag":68,"props":3333,"children":3334},{},[3335],{"type":52,"value":3336},"Chain\u002Fnetwork names",{"type":52,"value":3338}," MUST be from the allowed list in ",{"type":46,"tag":76,"props":3340,"children":3342},{"className":3341},[],[3343],{"type":52,"value":3155},{"type":46,"tag":108,"props":3345,"children":3346},{},[3347,3352,3354,3360],{"type":46,"tag":68,"props":3348,"children":3349},{},[3350],{"type":52,"value":3351},"Amounts",{"type":52,"value":3353}," MUST be valid decimal numbers (match: ",{"type":46,"tag":76,"props":3355,"children":3357},{"className":3356},[],[3358],{"type":52,"value":3359},"^[0-9]+\\.?[0-9]*$",{"type":52,"value":3361},")",{"type":46,"tag":108,"props":3363,"children":3364},{},[3365,3370,3372,3378,3379,3385,3386,3392,3393,3399,3400,3406,3407,3413,3414,3419,3420,3426,3427,3433,3434,3440,3441,3447,3448,3453],{"type":46,"tag":68,"props":3366,"children":3367},{},[3368],{"type":52,"value":3369},"Reject",{"type":52,"value":3371}," any input containing shell metacharacters (",{"type":46,"tag":76,"props":3373,"children":3375},{"className":3374},[],[3376],{"type":52,"value":3377},";",{"type":52,"value":382},{"type":46,"tag":76,"props":3380,"children":3382},{"className":3381},[],[3383],{"type":52,"value":3384},"|",{"type":52,"value":382},{"type":46,"tag":76,"props":3387,"children":3389},{"className":3388},[],[3390],{"type":52,"value":3391},"$",{"type":52,"value":382},{"type":46,"tag":76,"props":3394,"children":3396},{"className":3395},[],[3397],{"type":52,"value":3398},"`",{"type":52,"value":382},{"type":46,"tag":76,"props":3401,"children":3403},{"className":3402},[],[3404],{"type":52,"value":3405},"&",{"type":52,"value":382},{"type":46,"tag":76,"props":3408,"children":3410},{"className":3409},[],[3411],{"type":52,"value":3412},"(",{"type":52,"value":382},{"type":46,"tag":76,"props":3415,"children":3417},{"className":3416},[],[3418],{"type":52,"value":3361},{"type":52,"value":382},{"type":46,"tag":76,"props":3421,"children":3423},{"className":3422},[],[3424],{"type":52,"value":3425},">",{"type":52,"value":382},{"type":46,"tag":76,"props":3428,"children":3430},{"className":3429},[],[3431],{"type":52,"value":3432},"\u003C",{"type":52,"value":382},{"type":46,"tag":76,"props":3435,"children":3437},{"className":3436},[],[3438],{"type":52,"value":3439},"\\",{"type":52,"value":382},{"type":46,"tag":76,"props":3442,"children":3444},{"className":3443},[],[3445],{"type":52,"value":3446},"'",{"type":52,"value":382},{"type":46,"tag":76,"props":3449,"children":3451},{"className":3450},[],[3452],{"type":52,"value":266},{"type":52,"value":3454},", newlines)",{"type":46,"tag":55,"props":3456,"children":3457},{},[3458],{"type":52,"value":3459},"Verify token contracts exist on-chain using curl (RPC call):",{"type":46,"tag":213,"props":3461,"children":3463},{"className":215,"code":3462,"language":217,"meta":218,"style":218},"# Check if address is a contract using eth_getCode\n# IMPORTANT: Validate token_address matches ^0x[a-fA-F0-9]{40}$ before use\ncurl -s -X POST \"$rpc_url\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"$(jq -n --arg addr \"$token_address\" '{\"jsonrpc\":\"2.0\",\"method\":\"eth_getCode\",\"params\":[$addr,\"latest\"],\"id\":1}')\" \\\n  | jq -r '.result'\n",[3464],{"type":46,"tag":76,"props":3465,"children":3466},{"__ignoreMap":218},[3467,3475,3483,3521,3546,3600],{"type":46,"tag":224,"props":3468,"children":3469},{"class":226,"line":227},[3470],{"type":46,"tag":224,"props":3471,"children":3472},{"style":231},[3473],{"type":52,"value":3474},"# Check if address is a contract using eth_getCode\n",{"type":46,"tag":224,"props":3476,"children":3477},{"class":226,"line":237},[3478],{"type":46,"tag":224,"props":3479,"children":3480},{"style":231},[3481],{"type":52,"value":3482},"# IMPORTANT: Validate token_address matches ^0x[a-fA-F0-9]{40}$ before use\n",{"type":46,"tag":224,"props":3484,"children":3485},{"class":226,"line":280},[3486,3490,3494,3499,3504,3508,3513,3517],{"type":46,"tag":224,"props":3487,"children":3488},{"style":241},[3489],{"type":52,"value":244},{"type":46,"tag":224,"props":3491,"children":3492},{"style":247},[3493],{"type":52,"value":250},{"type":46,"tag":224,"props":3495,"children":3496},{"style":247},[3497],{"type":52,"value":3498}," -X",{"type":46,"tag":224,"props":3500,"children":3501},{"style":247},[3502],{"type":52,"value":3503}," POST",{"type":46,"tag":224,"props":3505,"children":3506},{"style":253},[3507],{"type":52,"value":256},{"type":46,"tag":224,"props":3509,"children":3510},{"style":274},[3511],{"type":52,"value":3512},"$rpc_url",{"type":46,"tag":224,"props":3514,"children":3515},{"style":253},[3516],{"type":52,"value":266},{"type":46,"tag":224,"props":3518,"children":3519},{"style":274},[3520],{"type":52,"value":277},{"type":46,"tag":224,"props":3522,"children":3523},{"class":226,"line":299},[3524,3529,3533,3538,3542],{"type":46,"tag":224,"props":3525,"children":3526},{"style":247},[3527],{"type":52,"value":3528},"  -H",{"type":46,"tag":224,"props":3530,"children":3531},{"style":253},[3532],{"type":52,"value":256},{"type":46,"tag":224,"props":3534,"children":3535},{"style":247},[3536],{"type":52,"value":3537},"Content-Type: application\u002Fjson",{"type":46,"tag":224,"props":3539,"children":3540},{"style":253},[3541],{"type":52,"value":266},{"type":46,"tag":224,"props":3543,"children":3544},{"style":274},[3545],{"type":52,"value":277},{"type":46,"tag":224,"props":3547,"children":3548},{"class":226,"line":308},[3549,3554,3559,3564,3569,3573,3578,3582,3586,3591,3596],{"type":46,"tag":224,"props":3550,"children":3551},{"style":247},[3552],{"type":52,"value":3553},"  -d",{"type":46,"tag":224,"props":3555,"children":3556},{"style":253},[3557],{"type":52,"value":3558}," \"$(",{"type":46,"tag":224,"props":3560,"children":3561},{"style":241},[3562],{"type":52,"value":3563},"jq",{"type":46,"tag":224,"props":3565,"children":3566},{"style":247},[3567],{"type":52,"value":3568}," -n --arg addr ",{"type":46,"tag":224,"props":3570,"children":3571},{"style":253},[3572],{"type":52,"value":266},{"type":46,"tag":224,"props":3574,"children":3575},{"style":274},[3576],{"type":52,"value":3577},"$token_address",{"type":46,"tag":224,"props":3579,"children":3580},{"style":253},[3581],{"type":52,"value":266},{"type":46,"tag":224,"props":3583,"children":3584},{"style":253},[3585],{"type":52,"value":291},{"type":46,"tag":224,"props":3587,"children":3588},{"style":247},[3589],{"type":52,"value":3590},"{\"jsonrpc\":\"2.0\",\"method\":\"eth_getCode\",\"params\":[$addr,\"latest\"],\"id\":1}",{"type":46,"tag":224,"props":3592,"children":3593},{"style":253},[3594],{"type":52,"value":3595},"')\"",{"type":46,"tag":224,"props":3597,"children":3598},{"style":274},[3599],{"type":52,"value":277},{"type":46,"tag":224,"props":3601,"children":3602},{"class":226,"line":317},[3603,3608,3613,3618,3622,3627],{"type":46,"tag":224,"props":3604,"children":3605},{"style":253},[3606],{"type":52,"value":3607},"  |",{"type":46,"tag":224,"props":3609,"children":3610},{"style":241},[3611],{"type":52,"value":3612}," jq",{"type":46,"tag":224,"props":3614,"children":3615},{"style":247},[3616],{"type":52,"value":3617}," -r",{"type":46,"tag":224,"props":3619,"children":3620},{"style":253},[3621],{"type":52,"value":291},{"type":46,"tag":224,"props":3623,"children":3624},{"style":247},[3625],{"type":52,"value":3626},".result",{"type":46,"tag":224,"props":3628,"children":3629},{"style":253},[3630],{"type":52,"value":364},{"type":46,"tag":55,"props":3632,"children":3633},{},[3634,3636,3642],{"type":52,"value":3635},"If the result is ",{"type":46,"tag":76,"props":3637,"children":3639},{"className":3638},[],[3640],{"type":52,"value":3641},"0x",{"type":52,"value":3643}," or empty, the address is not a valid contract.",{"type":46,"tag":55,"props":3645,"children":3646},{},[3647,3652,3654,3663],{"type":46,"tag":68,"props":3648,"children":3649},{},[3650],{"type":52,"value":3651},"Alternative with cast",{"type":52,"value":3653}," (optional, requires ",{"type":46,"tag":3655,"props":3656,"children":3660},"a",{"href":3657,"rel":3658},"https:\u002F\u002Fbook.getfoundry.sh\u002F",[3659],"nofollow",[3661],{"type":52,"value":3662},"Foundry",{"type":52,"value":3664},"):",{"type":46,"tag":213,"props":3666,"children":3668},{"className":215,"code":3667,"language":217,"meta":218,"style":218},"# Validate token_address matches ^0x[a-fA-F0-9]{40}$ before use\ncast code \"$token_address\" --rpc-url \"$rpc_url\"\n",[3669],{"type":46,"tag":76,"props":3670,"children":3671},{"__ignoreMap":218},[3672,3680],{"type":46,"tag":224,"props":3673,"children":3674},{"class":226,"line":227},[3675],{"type":46,"tag":224,"props":3676,"children":3677},{"style":231},[3678],{"type":52,"value":3679},"# Validate token_address matches ^0x[a-fA-F0-9]{40}$ before use\n",{"type":46,"tag":224,"props":3681,"children":3682},{"class":226,"line":237},[3683,3688,3693,3697,3701,3705,3710,3714,3718],{"type":46,"tag":224,"props":3684,"children":3685},{"style":241},[3686],{"type":52,"value":3687},"cast",{"type":46,"tag":224,"props":3689,"children":3690},{"style":247},[3691],{"type":52,"value":3692}," code",{"type":46,"tag":224,"props":3694,"children":3695},{"style":253},[3696],{"type":52,"value":256},{"type":46,"tag":224,"props":3698,"children":3699},{"style":274},[3700],{"type":52,"value":3577},{"type":46,"tag":224,"props":3702,"children":3703},{"style":253},[3704],{"type":52,"value":266},{"type":46,"tag":224,"props":3706,"children":3707},{"style":247},[3708],{"type":52,"value":3709}," --rpc-url",{"type":46,"tag":224,"props":3711,"children":3712},{"style":253},[3713],{"type":52,"value":256},{"type":46,"tag":224,"props":3715,"children":3716},{"style":274},[3717],{"type":52,"value":3512},{"type":46,"tag":224,"props":3719,"children":3720},{"style":253},[3721],{"type":52,"value":3722},"\"\n",{"type":46,"tag":55,"props":3724,"children":3725},{},[3726,3730,3732,3737,3739,3745,3747,3753],{"type":46,"tag":68,"props":3727,"children":3728},{},[3729],{"type":52,"value":143},{"type":52,"value":3731}," The curl\u002FRPC method above is preferred for broader compatibility. Only use ",{"type":46,"tag":76,"props":3733,"children":3735},{"className":3734},[],[3736],{"type":52,"value":3687},{"type":52,"value":3738}," if already available in the environment. This skill ONLY uses ",{"type":46,"tag":76,"props":3740,"children":3742},{"className":3741},[],[3743],{"type":52,"value":3744},"cast code",{"type":52,"value":3746}," for contract verification. Do not use any other cast subcommands. The PreToolUse hook in ",{"type":46,"tag":76,"props":3748,"children":3750},{"className":3749},[],[3751],{"type":52,"value":3752},".claude\u002Fhooks\u002Fvalidate-forge-cast.sh",{"type":52,"value":3754}," enforces this programmatically.",{"type":46,"tag":55,"props":3756,"children":3757},{},[3758,3763,3764,3769],{"type":46,"tag":68,"props":3759,"children":3760},{},[3761],{"type":52,"value":3762},"RPC URLs by chain",{"type":52,"value":3149},{"type":46,"tag":76,"props":3765,"children":3767},{"className":3766},[],[3768],{"type":52,"value":3155},{"type":52,"value":3770}," for full list.",{"type":46,"tag":182,"props":3772,"children":3774},{"id":3773},"step-4-research-if-needed",[3775],{"type":52,"value":3776},"Step 4: Research (If Needed)",{"type":46,"tag":55,"props":3778,"children":3779},{},[3780],{"type":52,"value":3781},"For unfamiliar tokens, use web search to research:",{"type":46,"tag":1479,"props":3783,"children":3784},{},[3785,3790,3795],{"type":46,"tag":108,"props":3786,"children":3787},{},[3788],{"type":52,"value":3789},"Token legitimacy and project info",{"type":46,"tag":108,"props":3791,"children":3792},{},[3793],{"type":52,"value":3794},"Recent news or security concerns",{"type":46,"tag":108,"props":3796,"children":3797},{},[3798],{"type":52,"value":3799},"Liquidity availability on Uniswap",{"type":46,"tag":55,"props":3801,"children":3802},{},[3803],{"type":52,"value":3804},"Include relevant findings in the summary.",{"type":46,"tag":182,"props":3806,"children":3808},{"id":3807},"step-5-fetch-price-data",[3809],{"type":52,"value":3810},"Step 5: Fetch Price Data",{"type":46,"tag":55,"props":3812,"children":3813},{},[3814,3816,3821],{"type":52,"value":3815},"Before generating the deep link, fetch current prices to estimate swap output. See ",{"type":46,"tag":76,"props":3817,"children":3819},{"className":3818},[],[3820],{"type":52,"value":744},{"type":52,"value":3822}," for full API details.",{"type":46,"tag":55,"props":3824,"children":3825},{},[3826],{"type":46,"tag":68,"props":3827,"children":3828},{},[3829],{"type":52,"value":3830},"Quick price lookup with DexScreener:",{"type":46,"tag":213,"props":3832,"children":3834},{"className":215,"code":3833,"language":217,"meta":218,"style":218},"# Get token price and pool liquidity\ncurl -s \"https:\u002F\u002Fapi.dexscreener.com\u002Ftoken-pairs\u002Fv1\u002F{network}\u002F{address}\" | \\\n  jq '[.[] | select(.dexId == \"uniswap\")][0] | {\n    price: .priceUsd,\n    liquidity: .liquidity.usd,\n    volume24h: .volume.h24\n  }'\n",[3835],{"type":46,"tag":76,"props":3836,"children":3837},{"__ignoreMap":218},[3838,3846,3877,3892,3899,3906,3913],{"type":46,"tag":224,"props":3839,"children":3840},{"class":226,"line":227},[3841],{"type":46,"tag":224,"props":3842,"children":3843},{"style":231},[3844],{"type":52,"value":3845},"# Get token price and pool liquidity\n",{"type":46,"tag":224,"props":3847,"children":3848},{"class":226,"line":237},[3849,3853,3857,3861,3865,3869,3873],{"type":46,"tag":224,"props":3850,"children":3851},{"style":241},[3852],{"type":52,"value":244},{"type":46,"tag":224,"props":3854,"children":3855},{"style":247},[3856],{"type":52,"value":250},{"type":46,"tag":224,"props":3858,"children":3859},{"style":253},[3860],{"type":52,"value":256},{"type":46,"tag":224,"props":3862,"children":3863},{"style":247},[3864],{"type":52,"value":573},{"type":46,"tag":224,"props":3866,"children":3867},{"style":253},[3868],{"type":52,"value":266},{"type":46,"tag":224,"props":3870,"children":3871},{"style":253},[3872],{"type":52,"value":271},{"type":46,"tag":224,"props":3874,"children":3875},{"style":274},[3876],{"type":52,"value":277},{"type":46,"tag":224,"props":3878,"children":3879},{"class":226,"line":280},[3880,3884,3888],{"type":46,"tag":224,"props":3881,"children":3882},{"style":241},[3883],{"type":52,"value":286},{"type":46,"tag":224,"props":3885,"children":3886},{"style":253},[3887],{"type":52,"value":291},{"type":46,"tag":224,"props":3889,"children":3890},{"style":247},[3891],{"type":52,"value":601},{"type":46,"tag":224,"props":3893,"children":3894},{"class":226,"line":299},[3895],{"type":46,"tag":224,"props":3896,"children":3897},{"style":247},[3898],{"type":52,"value":625},{"type":46,"tag":224,"props":3900,"children":3901},{"class":226,"line":308},[3902],{"type":46,"tag":224,"props":3903,"children":3904},{"style":247},[3905],{"type":52,"value":633},{"type":46,"tag":224,"props":3907,"children":3908},{"class":226,"line":317},[3909],{"type":46,"tag":224,"props":3910,"children":3911},{"style":247},[3912],{"type":52,"value":641},{"type":46,"tag":224,"props":3914,"children":3915},{"class":226,"line":326},[3916,3920],{"type":46,"tag":224,"props":3917,"children":3918},{"style":247},[3919],{"type":52,"value":649},{"type":46,"tag":224,"props":3921,"children":3922},{"style":253},[3923],{"type":52,"value":364},{"type":46,"tag":55,"props":3925,"children":3926},{},[3927,3931,3932,3937,3938,3943,3944,3949,3950,3955,3956,3961,3962,3967,3968,3973,3974],{"type":46,"tag":68,"props":3928,"children":3929},{},[3930],{"type":52,"value":661},{"type":52,"value":374},{"type":46,"tag":76,"props":3933,"children":3935},{"className":3934},[],[3936],{"type":52,"value":677},{"type":52,"value":382},{"type":46,"tag":76,"props":3939,"children":3941},{"className":3940},[],[3942],{"type":52,"value":684},{"type":52,"value":382},{"type":46,"tag":76,"props":3945,"children":3947},{"className":3946},[],[3948],{"type":52,"value":691},{"type":52,"value":382},{"type":46,"tag":76,"props":3951,"children":3953},{"className":3952},[],[3954],{"type":52,"value":698},{"type":52,"value":382},{"type":46,"tag":76,"props":3957,"children":3959},{"className":3958},[],[3960],{"type":52,"value":705},{"type":52,"value":382},{"type":46,"tag":76,"props":3963,"children":3965},{"className":3964},[],[3966],{"type":52,"value":712},{"type":52,"value":382},{"type":46,"tag":76,"props":3969,"children":3971},{"className":3970},[],[3972],{"type":52,"value":719},{"type":52,"value":382},{"type":46,"tag":76,"props":3975,"children":3977},{"className":3976},[],[3978],{"type":52,"value":726},{"type":46,"tag":55,"props":3980,"children":3981},{},[3982],{"type":46,"tag":68,"props":3983,"children":3984},{},[3985],{"type":52,"value":3986},"Liquidity warnings:",{"type":46,"tag":1328,"props":3988,"children":3989},{},[3990,4010],{"type":46,"tag":1332,"props":3991,"children":3992},{},[3993],{"type":46,"tag":1336,"props":3994,"children":3995},{},[3996,4000,4005],{"type":46,"tag":1340,"props":3997,"children":3998},{},[3999],{"type":52,"value":1395},{"type":46,"tag":1340,"props":4001,"children":4002},{},[4003],{"type":52,"value":4004},"Risk Level",{"type":46,"tag":1340,"props":4006,"children":4007},{},[4008],{"type":52,"value":4009},"Action",{"type":46,"tag":1361,"props":4011,"children":4012},{},[4013,4031,4049],{"type":46,"tag":1336,"props":4014,"children":4015},{},[4016,4021,4026],{"type":46,"tag":1368,"props":4017,"children":4018},{},[4019],{"type":52,"value":4020},"> $1M",{"type":46,"tag":1368,"props":4022,"children":4023},{},[4024],{"type":52,"value":4025},"Low",{"type":46,"tag":1368,"props":4027,"children":4028},{},[4029],{"type":52,"value":4030},"Proceed normally",{"type":46,"tag":1336,"props":4032,"children":4033},{},[4034,4039,4044],{"type":46,"tag":1368,"props":4035,"children":4036},{},[4037],{"type":52,"value":4038},"$100k - $1M",{"type":46,"tag":1368,"props":4040,"children":4041},{},[4042],{"type":52,"value":4043},"Medium",{"type":46,"tag":1368,"props":4045,"children":4046},{},[4047],{"type":52,"value":4048},"Note potential slippage",{"type":46,"tag":1336,"props":4050,"children":4051},{},[4052,4057,4062],{"type":46,"tag":1368,"props":4053,"children":4054},{},[4055],{"type":52,"value":4056},"\u003C $100k",{"type":46,"tag":1368,"props":4058,"children":4059},{},[4060],{"type":52,"value":4061},"High",{"type":46,"tag":1368,"props":4063,"children":4064},{},[4065],{"type":52,"value":4066},"Warn user about slippage risk",{"type":46,"tag":55,"props":4068,"children":4069},{},[4070],{"type":52,"value":4071},"If API is unavailable, fall back to DefiLlama or web search for price estimates.",{"type":46,"tag":182,"props":4073,"children":4075},{"id":4074},"step-6-generate-deep-link",[4076],{"type":52,"value":4077},"Step 6: Generate Deep Link",{"type":46,"tag":55,"props":4079,"children":4080},{},[4081],{"type":52,"value":4082},"Construct the Uniswap swap URL:",{"type":46,"tag":213,"props":4084,"children":4087},{"className":4085,"code":4086,"language":52,"meta":218},[778],"https:\u002F\u002Fapp.uniswap.org\u002Fswap?chain={chain}&inputCurrency={input}&outputCurrency={output}&value={amount}&field=INPUT\n",[4088],{"type":46,"tag":76,"props":4089,"children":4090},{"__ignoreMap":218},[4091],{"type":52,"value":4086},{"type":46,"tag":55,"props":4093,"children":4094},{},[4095],{"type":46,"tag":68,"props":4096,"children":4097},{},[4098],{"type":52,"value":4099},"URL Parameters:",{"type":46,"tag":1328,"props":4101,"children":4102},{},[4103,4123],{"type":46,"tag":1332,"props":4104,"children":4105},{},[4106],{"type":46,"tag":1336,"props":4107,"children":4108},{},[4109,4113,4118],{"type":46,"tag":1340,"props":4110,"children":4111},{},[4112],{"type":52,"value":1555},{"type":46,"tag":1340,"props":4114,"children":4115},{},[4116],{"type":52,"value":4117},"Description",{"type":46,"tag":1340,"props":4119,"children":4120},{},[4121],{"type":52,"value":4122},"Values",{"type":46,"tag":1361,"props":4124,"children":4125},{},[4126,4222,4248,4273,4301],{"type":46,"tag":1336,"props":4127,"children":4128},{},[4129,4138,4143],{"type":46,"tag":1368,"props":4130,"children":4131},{},[4132],{"type":46,"tag":76,"props":4133,"children":4135},{"className":4134},[],[4136],{"type":52,"value":4137},"chain",{"type":46,"tag":1368,"props":4139,"children":4140},{},[4141],{"type":52,"value":4142},"Network name",{"type":46,"tag":1368,"props":4144,"children":4145},{},[4146,4151,4152,4157,4158,4163,4164,4169,4170,4175,4176,4182,4183,4188,4189,4195,4196,4202,4203,4209,4210,4215,4216],{"type":46,"tag":76,"props":4147,"children":4149},{"className":4148},[],[4150],{"type":52,"value":677},{"type":52,"value":382},{"type":46,"tag":76,"props":4153,"children":4155},{"className":4154},[],[4156],{"type":52,"value":684},{"type":52,"value":382},{"type":46,"tag":76,"props":4159,"children":4161},{"className":4160},[],[4162],{"type":52,"value":691},{"type":52,"value":382},{"type":46,"tag":76,"props":4165,"children":4167},{"className":4166},[],[4168],{"type":52,"value":698},{"type":52,"value":382},{"type":46,"tag":76,"props":4171,"children":4173},{"className":4172},[],[4174],{"type":52,"value":705},{"type":52,"value":382},{"type":46,"tag":76,"props":4177,"children":4179},{"className":4178},[],[4180],{"type":52,"value":4181},"bnb",{"type":52,"value":382},{"type":46,"tag":76,"props":4184,"children":4186},{"className":4185},[],[4187],{"type":52,"value":719},{"type":52,"value":382},{"type":46,"tag":76,"props":4190,"children":4192},{"className":4191},[],[4193],{"type":52,"value":4194},"celo",{"type":52,"value":382},{"type":46,"tag":76,"props":4197,"children":4199},{"className":4198},[],[4200],{"type":52,"value":4201},"blast",{"type":52,"value":382},{"type":46,"tag":76,"props":4204,"children":4206},{"className":4205},[],[4207],{"type":52,"value":4208},"zora",{"type":52,"value":382},{"type":46,"tag":76,"props":4211,"children":4213},{"className":4212},[],[4214],{"type":52,"value":726},{"type":52,"value":382},{"type":46,"tag":76,"props":4217,"children":4219},{"className":4218},[],[4220],{"type":52,"value":4221},"worldchain",{"type":46,"tag":1336,"props":4223,"children":4224},{},[4225,4234,4238],{"type":46,"tag":1368,"props":4226,"children":4227},{},[4228],{"type":46,"tag":76,"props":4229,"children":4231},{"className":4230},[],[4232],{"type":52,"value":4233},"inputCurrency",{"type":46,"tag":1368,"props":4235,"children":4236},{},[4237],{"type":52,"value":1576},{"type":46,"tag":1368,"props":4239,"children":4240},{},[4241,4243],{"type":52,"value":4242},"Address or ",{"type":46,"tag":76,"props":4244,"children":4246},{"className":4245},[],[4247],{"type":52,"value":3137},{"type":46,"tag":1336,"props":4249,"children":4250},{},[4251,4260,4264],{"type":46,"tag":1368,"props":4252,"children":4253},{},[4254],{"type":46,"tag":76,"props":4255,"children":4257},{"className":4256},[],[4258],{"type":52,"value":4259},"outputCurrency",{"type":46,"tag":1368,"props":4261,"children":4262},{},[4263],{"type":52,"value":1594},{"type":46,"tag":1368,"props":4265,"children":4266},{},[4267,4268],{"type":52,"value":4242},{"type":46,"tag":76,"props":4269,"children":4271},{"className":4270},[],[4272],{"type":52,"value":3137},{"type":46,"tag":1336,"props":4274,"children":4275},{},[4276,4285,4289],{"type":46,"tag":1368,"props":4277,"children":4278},{},[4279],{"type":46,"tag":76,"props":4280,"children":4282},{"className":4281},[],[4283],{"type":52,"value":4284},"value",{"type":46,"tag":1368,"props":4286,"children":4287},{},[4288],{"type":52,"value":1611},{"type":46,"tag":1368,"props":4290,"children":4291},{},[4292,4294,4300],{"type":52,"value":4293},"Decimal number (e.g., ",{"type":46,"tag":76,"props":4295,"children":4297},{"className":4296},[],[4298],{"type":52,"value":4299},"1.5",{"type":52,"value":3361},{"type":46,"tag":1336,"props":4302,"children":4303},{},[4304,4313,4318],{"type":46,"tag":1368,"props":4305,"children":4306},{},[4307],{"type":46,"tag":76,"props":4308,"children":4310},{"className":4309},[],[4311],{"type":52,"value":4312},"field",{"type":46,"tag":1368,"props":4314,"children":4315},{},[4316],{"type":52,"value":4317},"Which field value applies to",{"type":46,"tag":1368,"props":4319,"children":4320},{},[4321,4327,4329],{"type":46,"tag":76,"props":4322,"children":4324},{"className":4323},[],[4325],{"type":52,"value":4326},"INPUT",{"type":52,"value":4328}," or ",{"type":46,"tag":76,"props":4330,"children":4332},{"className":4331},[],[4333],{"type":52,"value":4334},"OUTPUT",{"type":46,"tag":182,"props":4336,"children":4338},{"id":4337},"step-7-present-output-and-open-browser",[4339],{"type":52,"value":4340},"Step 7: Present Output and Open Browser",{"type":46,"tag":55,"props":4342,"children":4343},{},[4344],{"type":52,"value":4345},"Format the response with:",{"type":46,"tag":104,"props":4347,"children":4348},{},[4349,4359,4369,4379],{"type":46,"tag":108,"props":4350,"children":4351},{},[4352,4357],{"type":46,"tag":68,"props":4353,"children":4354},{},[4355],{"type":52,"value":4356},"Summary",{"type":52,"value":4358}," of the swap parameters",{"type":46,"tag":108,"props":4360,"children":4361},{},[4362,4367],{"type":46,"tag":68,"props":4363,"children":4364},{},[4365],{"type":52,"value":4366},"Deep link",{"type":52,"value":4368}," URL (displayed for reference)",{"type":46,"tag":108,"props":4370,"children":4371},{},[4372,4377],{"type":46,"tag":68,"props":4373,"children":4374},{},[4375],{"type":52,"value":4376},"Notes",{"type":52,"value":4378}," about risks or considerations",{"type":46,"tag":108,"props":4380,"children":4381},{},[4382,4387],{"type":46,"tag":68,"props":4383,"children":4384},{},[4385],{"type":52,"value":4386},"Open the browser",{"type":52,"value":4388}," automatically using system command",{"type":46,"tag":55,"props":4390,"children":4391},{},[4392],{"type":46,"tag":68,"props":4393,"children":4394},{},[4395],{"type":52,"value":4396},"Example output format:",{"type":46,"tag":213,"props":4398,"children":4402},{"className":4399,"code":4400,"language":4401,"meta":218,"style":218},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","## Swap Summary\n\n| Parameter        | Value                      |\n| ---------------- | -------------------------- |\n| From             | 1 ETH                      |\n| To               | USDC                       |\n| Chain            | Base                       |\n| Current Rate     | ~3,200 USDC per ETH        |\n| Estimated Output | ~3,200 USDC                |\n| Pool Liquidity   | $15.2M (Low slippage risk) |\n\n### Notes\n\n- Final amount depends on current market price\n- Default slippage is 0.5% - adjust in Uniswap if needed\n- Review all details in Uniswap before confirming\n\nOpening Uniswap in your browser...\n","markdown",[4403],{"type":46,"tag":76,"props":4404,"children":4405},{"__ignoreMap":218},[4406,4419,4428,4454,4480,4505,4530,4555,4580,4605,4630,4637,4650,4657,4670,4682,4695,4703],{"type":46,"tag":224,"props":4407,"children":4408},{"class":226,"line":227},[4409,4414],{"type":46,"tag":224,"props":4410,"children":4411},{"style":253},[4412],{"type":52,"value":4413},"## ",{"type":46,"tag":224,"props":4415,"children":4416},{"style":241},[4417],{"type":52,"value":4418},"Swap Summary\n",{"type":46,"tag":224,"props":4420,"children":4421},{"class":226,"line":237},[4422],{"type":46,"tag":224,"props":4423,"children":4425},{"emptyLinePlaceholder":4424},true,[4426],{"type":52,"value":4427},"\n",{"type":46,"tag":224,"props":4429,"children":4430},{"class":226,"line":280},[4431,4435,4440,4444,4449],{"type":46,"tag":224,"props":4432,"children":4433},{"style":253},[4434],{"type":52,"value":3384},{"type":46,"tag":224,"props":4436,"children":4437},{"style":274},[4438],{"type":52,"value":4439}," Parameter        ",{"type":46,"tag":224,"props":4441,"children":4442},{"style":253},[4443],{"type":52,"value":3384},{"type":46,"tag":224,"props":4445,"children":4446},{"style":274},[4447],{"type":52,"value":4448}," Value                      ",{"type":46,"tag":224,"props":4450,"children":4451},{"style":253},[4452],{"type":52,"value":4453},"|\n",{"type":46,"tag":224,"props":4455,"children":4456},{"class":226,"line":299},[4457,4461,4466,4470,4475],{"type":46,"tag":224,"props":4458,"children":4459},{"style":253},[4460],{"type":52,"value":3384},{"type":46,"tag":224,"props":4462,"children":4463},{"style":253},[4464],{"type":52,"value":4465}," ----------------",{"type":46,"tag":224,"props":4467,"children":4468},{"style":253},[4469],{"type":52,"value":271},{"type":46,"tag":224,"props":4471,"children":4472},{"style":253},[4473],{"type":52,"value":4474}," --------------------------",{"type":46,"tag":224,"props":4476,"children":4477},{"style":253},[4478],{"type":52,"value":4479}," |\n",{"type":46,"tag":224,"props":4481,"children":4482},{"class":226,"line":308},[4483,4487,4492,4496,4501],{"type":46,"tag":224,"props":4484,"children":4485},{"style":253},[4486],{"type":52,"value":3384},{"type":46,"tag":224,"props":4488,"children":4489},{"style":274},[4490],{"type":52,"value":4491}," From             ",{"type":46,"tag":224,"props":4493,"children":4494},{"style":253},[4495],{"type":52,"value":3384},{"type":46,"tag":224,"props":4497,"children":4498},{"style":274},[4499],{"type":52,"value":4500}," 1 ETH                      ",{"type":46,"tag":224,"props":4502,"children":4503},{"style":253},[4504],{"type":52,"value":4453},{"type":46,"tag":224,"props":4506,"children":4507},{"class":226,"line":317},[4508,4512,4517,4521,4526],{"type":46,"tag":224,"props":4509,"children":4510},{"style":253},[4511],{"type":52,"value":3384},{"type":46,"tag":224,"props":4513,"children":4514},{"style":274},[4515],{"type":52,"value":4516}," To               ",{"type":46,"tag":224,"props":4518,"children":4519},{"style":253},[4520],{"type":52,"value":3384},{"type":46,"tag":224,"props":4522,"children":4523},{"style":274},[4524],{"type":52,"value":4525}," USDC                       ",{"type":46,"tag":224,"props":4527,"children":4528},{"style":253},[4529],{"type":52,"value":4453},{"type":46,"tag":224,"props":4531,"children":4532},{"class":226,"line":326},[4533,4537,4542,4546,4551],{"type":46,"tag":224,"props":4534,"children":4535},{"style":253},[4536],{"type":52,"value":3384},{"type":46,"tag":224,"props":4538,"children":4539},{"style":274},[4540],{"type":52,"value":4541}," Chain            ",{"type":46,"tag":224,"props":4543,"children":4544},{"style":253},[4545],{"type":52,"value":3384},{"type":46,"tag":224,"props":4547,"children":4548},{"style":274},[4549],{"type":52,"value":4550}," Base                       ",{"type":46,"tag":224,"props":4552,"children":4553},{"style":253},[4554],{"type":52,"value":4453},{"type":46,"tag":224,"props":4556,"children":4557},{"class":226,"line":335},[4558,4562,4567,4571,4576],{"type":46,"tag":224,"props":4559,"children":4560},{"style":253},[4561],{"type":52,"value":3384},{"type":46,"tag":224,"props":4563,"children":4564},{"style":274},[4565],{"type":52,"value":4566}," Current Rate     ",{"type":46,"tag":224,"props":4568,"children":4569},{"style":253},[4570],{"type":52,"value":3384},{"type":46,"tag":224,"props":4572,"children":4573},{"style":274},[4574],{"type":52,"value":4575}," ~3,200 USDC per ETH        ",{"type":46,"tag":224,"props":4577,"children":4578},{"style":253},[4579],{"type":52,"value":4453},{"type":46,"tag":224,"props":4581,"children":4582},{"class":226,"line":344},[4583,4587,4592,4596,4601],{"type":46,"tag":224,"props":4584,"children":4585},{"style":253},[4586],{"type":52,"value":3384},{"type":46,"tag":224,"props":4588,"children":4589},{"style":274},[4590],{"type":52,"value":4591}," Estimated Output ",{"type":46,"tag":224,"props":4593,"children":4594},{"style":253},[4595],{"type":52,"value":3384},{"type":46,"tag":224,"props":4597,"children":4598},{"style":274},[4599],{"type":52,"value":4600}," ~3,200 USDC                ",{"type":46,"tag":224,"props":4602,"children":4603},{"style":253},[4604],{"type":52,"value":4453},{"type":46,"tag":224,"props":4606,"children":4607},{"class":226,"line":353},[4608,4612,4617,4621,4626],{"type":46,"tag":224,"props":4609,"children":4610},{"style":253},[4611],{"type":52,"value":3384},{"type":46,"tag":224,"props":4613,"children":4614},{"style":274},[4615],{"type":52,"value":4616}," Pool Liquidity   ",{"type":46,"tag":224,"props":4618,"children":4619},{"style":253},[4620],{"type":52,"value":3384},{"type":46,"tag":224,"props":4622,"children":4623},{"style":274},[4624],{"type":52,"value":4625}," $15.2M (Low slippage risk) ",{"type":46,"tag":224,"props":4627,"children":4628},{"style":253},[4629],{"type":52,"value":4453},{"type":46,"tag":224,"props":4631,"children":4632},{"class":226,"line":1265},[4633],{"type":46,"tag":224,"props":4634,"children":4635},{"emptyLinePlaceholder":4424},[4636],{"type":52,"value":4427},{"type":46,"tag":224,"props":4638,"children":4639},{"class":226,"line":1291},[4640,4645],{"type":46,"tag":224,"props":4641,"children":4642},{"style":253},[4643],{"type":52,"value":4644},"### ",{"type":46,"tag":224,"props":4646,"children":4647},{"style":241},[4648],{"type":52,"value":4649},"Notes\n",{"type":46,"tag":224,"props":4651,"children":4652},{"class":226,"line":1300},[4653],{"type":46,"tag":224,"props":4654,"children":4655},{"emptyLinePlaceholder":4424},[4656],{"type":52,"value":4427},{"type":46,"tag":224,"props":4658,"children":4659},{"class":226,"line":1309},[4660,4665],{"type":46,"tag":224,"props":4661,"children":4662},{"style":253},[4663],{"type":52,"value":4664},"-",{"type":46,"tag":224,"props":4666,"children":4667},{"style":274},[4668],{"type":52,"value":4669}," Final amount depends on current market price\n",{"type":46,"tag":224,"props":4671,"children":4672},{"class":226,"line":2127},[4673,4677],{"type":46,"tag":224,"props":4674,"children":4675},{"style":253},[4676],{"type":52,"value":4664},{"type":46,"tag":224,"props":4678,"children":4679},{"style":274},[4680],{"type":52,"value":4681}," Default slippage is 0.5% - adjust in Uniswap if needed\n",{"type":46,"tag":224,"props":4683,"children":4685},{"class":226,"line":4684},16,[4686,4690],{"type":46,"tag":224,"props":4687,"children":4688},{"style":253},[4689],{"type":52,"value":4664},{"type":46,"tag":224,"props":4691,"children":4692},{"style":274},[4693],{"type":52,"value":4694}," Review all details in Uniswap before confirming\n",{"type":46,"tag":224,"props":4696,"children":4698},{"class":226,"line":4697},17,[4699],{"type":46,"tag":224,"props":4700,"children":4701},{"emptyLinePlaceholder":4424},[4702],{"type":52,"value":4427},{"type":46,"tag":224,"props":4704,"children":4706},{"class":226,"line":4705},18,[4707],{"type":46,"tag":224,"props":4708,"children":4709},{"style":274},[4710],{"type":52,"value":4711},"Opening Uniswap in your browser...\n",{"type":46,"tag":55,"props":4713,"children":4714},{},[4715],{"type":46,"tag":68,"props":4716,"children":4717},{},[4718],{"type":52,"value":4719},"After displaying the summary, open the URL in the browser:",{"type":46,"tag":213,"props":4721,"children":4723},{"className":215,"code":4722,"language":217,"meta":218,"style":218},"# Linux\nxdg-open \"https:\u002F\u002Fapp.uniswap.org\u002Fswap?chain=base&inputCurrency=NATIVE&outputCurrency=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&value=1&field=INPUT\"\n\n# macOS\nopen \"https:\u002F\u002Fapp.uniswap.org\u002Fswap?...\"\n",[4724],{"type":46,"tag":76,"props":4725,"children":4726},{"__ignoreMap":218},[4727,4735,4755,4762,4770],{"type":46,"tag":224,"props":4728,"children":4729},{"class":226,"line":227},[4730],{"type":46,"tag":224,"props":4731,"children":4732},{"style":231},[4733],{"type":52,"value":4734},"# Linux\n",{"type":46,"tag":224,"props":4736,"children":4737},{"class":226,"line":237},[4738,4742,4746,4751],{"type":46,"tag":224,"props":4739,"children":4740},{"style":241},[4741],{"type":52,"value":151},{"type":46,"tag":224,"props":4743,"children":4744},{"style":253},[4745],{"type":52,"value":256},{"type":46,"tag":224,"props":4747,"children":4748},{"style":247},[4749],{"type":52,"value":4750},"https:\u002F\u002Fapp.uniswap.org\u002Fswap?chain=base&inputCurrency=NATIVE&outputCurrency=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&value=1&field=INPUT",{"type":46,"tag":224,"props":4752,"children":4753},{"style":253},[4754],{"type":52,"value":3722},{"type":46,"tag":224,"props":4756,"children":4757},{"class":226,"line":280},[4758],{"type":46,"tag":224,"props":4759,"children":4760},{"emptyLinePlaceholder":4424},[4761],{"type":52,"value":4427},{"type":46,"tag":224,"props":4763,"children":4764},{"class":226,"line":299},[4765],{"type":46,"tag":224,"props":4766,"children":4767},{"style":231},[4768],{"type":52,"value":4769},"# macOS\n",{"type":46,"tag":224,"props":4771,"children":4772},{"class":226,"line":308},[4773,4777,4781,4786],{"type":46,"tag":224,"props":4774,"children":4775},{"style":241},[4776],{"type":52,"value":159},{"type":46,"tag":224,"props":4778,"children":4779},{"style":253},[4780],{"type":52,"value":256},{"type":46,"tag":224,"props":4782,"children":4783},{"style":247},[4784],{"type":52,"value":4785},"https:\u002F\u002Fapp.uniswap.org\u002Fswap?...",{"type":46,"tag":224,"props":4787,"children":4788},{"style":253},[4789],{"type":52,"value":3722},{"type":46,"tag":55,"props":4791,"children":4792},{},[4793,4798,4800,4805,4806,4811],{"type":46,"tag":68,"props":4794,"children":4795},{},[4796],{"type":52,"value":4797},"Environment limitations:",{"type":52,"value":4799}," Browser opening may fail in remote SSH, containerized, or headless environments. If ",{"type":46,"tag":76,"props":4801,"children":4803},{"className":4802},[],[4804],{"type":52,"value":151},{"type":52,"value":153},{"type":46,"tag":76,"props":4807,"children":4809},{"className":4808},[],[4810],{"type":52,"value":159},{"type":52,"value":4812}," fails, display the full URL prominently so users can copy and paste it manually:",{"type":46,"tag":213,"props":4814,"children":4816},{"className":4399,"code":4815,"language":4401,"meta":218,"style":218},"**[Click here to open in Uniswap](https:\u002F\u002Fapp.uniswap.org\u002Fswap?...)**\n\nOr copy this URL: `https:\u002F\u002Fapp.uniswap.org\u002Fswap?...`\n",[4817],{"type":46,"tag":76,"props":4818,"children":4819},{"__ignoreMap":218},[4820,4850,4857],{"type":46,"tag":224,"props":4821,"children":4822},{"class":226,"line":227},[4823,4829,4835,4840,4845],{"type":46,"tag":224,"props":4824,"children":4826},{"style":4825},"--shiki-light:#39ADB5;--shiki-light-font-weight:bold;--shiki-default:#89DDFF;--shiki-default-font-weight:bold;--shiki-dark:#89DDFF;--shiki-dark-font-weight:bold",[4827],{"type":52,"value":4828},"**[",{"type":46,"tag":224,"props":4830,"children":4832},{"style":4831},"--shiki-light:#91B859;--shiki-light-font-weight:bold;--shiki-default:#C3E88D;--shiki-default-font-weight:bold;--shiki-dark:#C3E88D;--shiki-dark-font-weight:bold",[4833],{"type":52,"value":4834},"Click here to open in Uniswap",{"type":46,"tag":224,"props":4836,"children":4837},{"style":4825},[4838],{"type":52,"value":4839},"](",{"type":46,"tag":224,"props":4841,"children":4843},{"style":4842},"--shiki-light:#E53935;--shiki-light-text-decoration:underline;--shiki-default:#F07178;--shiki-default-text-decoration:underline;--shiki-dark:#F07178;--shiki-dark-text-decoration:underline",[4844],{"type":52,"value":4785},{"type":46,"tag":224,"props":4846,"children":4847},{"style":4825},[4848],{"type":52,"value":4849},")**\n",{"type":46,"tag":224,"props":4851,"children":4852},{"class":226,"line":237},[4853],{"type":46,"tag":224,"props":4854,"children":4855},{"emptyLinePlaceholder":4424},[4856],{"type":52,"value":4427},{"type":46,"tag":224,"props":4858,"children":4859},{"class":226,"line":280},[4860,4865,4869,4873],{"type":46,"tag":224,"props":4861,"children":4862},{"style":274},[4863],{"type":52,"value":4864},"Or copy this URL: ",{"type":46,"tag":224,"props":4866,"children":4867},{"style":253},[4868],{"type":52,"value":3398},{"type":46,"tag":224,"props":4870,"children":4871},{"style":247},[4872],{"type":52,"value":4785},{"type":46,"tag":224,"props":4874,"children":4875},{"style":253},[4876],{"type":52,"value":4877},"`\n",{"type":46,"tag":55,"props":4879,"children":4880},{},[4881],{"type":52,"value":4882},"Always present the summary and URL so users can review and execute.",{"type":46,"tag":92,"props":4884,"children":4886},{"id":4885},"important-considerations",[4887],{"type":52,"value":4888},"Important Considerations",{"type":46,"tag":182,"props":4890,"children":4892},{"id":4891},"slippage",[4893],{"type":52,"value":4894},"Slippage",{"type":46,"tag":55,"props":4896,"children":4897},{},[4898],{"type":52,"value":4899},"The deep link uses Uniswap's default slippage (0.5%). For volatile tokens or large trades, advise users to adjust slippage in the interface.",{"type":46,"tag":182,"props":4901,"children":4903},{"id":4902},"gas-estimation",[4904],{"type":52,"value":4905},"Gas Estimation",{"type":46,"tag":55,"props":4907,"children":4908},{},[4909],{"type":52,"value":4910},"Gas costs vary by chain and network congestion. Base and Arbitrum typically have lower gas than Ethereum mainnet.",{"type":46,"tag":182,"props":4912,"children":4914},{"id":4913},"token-verification",[4915],{"type":52,"value":4916},"Token Verification",{"type":46,"tag":55,"props":4918,"children":4919},{},[4920],{"type":52,"value":4921},"Always verify token contracts before generating links. Scam tokens often use similar names to legitimate tokens.",{"type":46,"tag":182,"props":4923,"children":4925},{"id":4924},"price-impact",[4926],{"type":52,"value":4927},"Price Impact",{"type":46,"tag":55,"props":4929,"children":4930},{},[4931],{"type":52,"value":4932},"For large trades, warn users about potential price impact. Suggest splitting into smaller trades if impact would be significant.",{"type":46,"tag":92,"props":4934,"children":4936},{"id":4935},"supported-chains",[4937],{"type":52,"value":4938},"Supported Chains",{"type":46,"tag":55,"props":4940,"children":4941},{},[4942],{"type":52,"value":4943},"All chains supported by the Uniswap interface:",{"type":46,"tag":1479,"props":4945,"children":4946},{},[4947,4958,4969,4980,4991,5002,5013,5024,5035,5046,5057,5068],{"type":46,"tag":108,"props":4948,"children":4949},{},[4950,4952,4957],{"type":52,"value":4951},"Ethereum Mainnet (",{"type":46,"tag":76,"props":4953,"children":4955},{"className":4954},[],[4956],{"type":52,"value":677},{"type":52,"value":3361},{"type":46,"tag":108,"props":4959,"children":4960},{},[4961,4963,4968],{"type":52,"value":4962},"Base (",{"type":46,"tag":76,"props":4964,"children":4966},{"className":4965},[],[4967],{"type":52,"value":684},{"type":52,"value":3361},{"type":46,"tag":108,"props":4970,"children":4971},{},[4972,4974,4979],{"type":52,"value":4973},"Arbitrum One (",{"type":46,"tag":76,"props":4975,"children":4977},{"className":4976},[],[4978],{"type":52,"value":691},{"type":52,"value":3361},{"type":46,"tag":108,"props":4981,"children":4982},{},[4983,4985,4990],{"type":52,"value":4984},"Optimism (",{"type":46,"tag":76,"props":4986,"children":4988},{"className":4987},[],[4989],{"type":52,"value":698},{"type":52,"value":3361},{"type":46,"tag":108,"props":4992,"children":4993},{},[4994,4996,5001],{"type":52,"value":4995},"Polygon (",{"type":46,"tag":76,"props":4997,"children":4999},{"className":4998},[],[5000],{"type":52,"value":705},{"type":52,"value":3361},{"type":46,"tag":108,"props":5003,"children":5004},{},[5005,5007,5012],{"type":52,"value":5006},"BNB Chain (",{"type":46,"tag":76,"props":5008,"children":5010},{"className":5009},[],[5011],{"type":52,"value":4181},{"type":52,"value":3361},{"type":46,"tag":108,"props":5014,"children":5015},{},[5016,5018,5023],{"type":52,"value":5017},"Avalanche (",{"type":46,"tag":76,"props":5019,"children":5021},{"className":5020},[],[5022],{"type":52,"value":719},{"type":52,"value":3361},{"type":46,"tag":108,"props":5025,"children":5026},{},[5027,5029,5034],{"type":52,"value":5028},"Celo (",{"type":46,"tag":76,"props":5030,"children":5032},{"className":5031},[],[5033],{"type":52,"value":4194},{"type":52,"value":3361},{"type":46,"tag":108,"props":5036,"children":5037},{},[5038,5040,5045],{"type":52,"value":5039},"Blast (",{"type":46,"tag":76,"props":5041,"children":5043},{"className":5042},[],[5044],{"type":52,"value":4201},{"type":52,"value":3361},{"type":46,"tag":108,"props":5047,"children":5048},{},[5049,5051,5056],{"type":52,"value":5050},"Zora (",{"type":46,"tag":76,"props":5052,"children":5054},{"className":5053},[],[5055],{"type":52,"value":4208},{"type":52,"value":3361},{"type":46,"tag":108,"props":5058,"children":5059},{},[5060,5062,5067],{"type":52,"value":5061},"World Chain (",{"type":46,"tag":76,"props":5063,"children":5065},{"className":5064},[],[5066],{"type":52,"value":4221},{"type":52,"value":3361},{"type":46,"tag":108,"props":5069,"children":5070},{},[5071,5073,5078],{"type":52,"value":5072},"Unichain (",{"type":46,"tag":76,"props":5074,"children":5076},{"className":5075},[],[5077],{"type":52,"value":726},{"type":52,"value":3361},{"type":46,"tag":92,"props":5080,"children":5082},{"id":5081},"additional-resources",[5083],{"type":52,"value":5084},"Additional Resources",{"type":46,"tag":182,"props":5086,"children":5088},{"id":5087},"reference-files",[5089],{"type":52,"value":5090},"Reference Files",{"type":46,"tag":1479,"props":5092,"children":5093},{},[5094,5107],{"type":46,"tag":108,"props":5095,"children":5096},{},[5097,5105],{"type":46,"tag":68,"props":5098,"children":5099},{},[5100],{"type":46,"tag":76,"props":5101,"children":5103},{"className":5102},[],[5104],{"type":52,"value":3155},{"type":52,"value":5106}," - Chain IDs, RPC URLs, native tokens, common token addresses",{"type":46,"tag":108,"props":5108,"children":5109},{},[5110,5118],{"type":46,"tag":68,"props":5111,"children":5112},{},[5113],{"type":46,"tag":76,"props":5114,"children":5116},{"className":5115},[],[5117],{"type":52,"value":744},{"type":52,"value":5119}," - DexScreener and DefiLlama APIs for prices and liquidity",{"type":46,"tag":182,"props":5121,"children":5123},{"id":5122},"examples",[5124],{"type":52,"value":5125},"Examples",{"type":46,"tag":55,"props":5127,"children":5128},{},[5129],{"type":52,"value":5130},"Common swap scenarios:",{"type":46,"tag":1479,"props":5132,"children":5133},{},[5134,5139,5144],{"type":46,"tag":108,"props":5135,"children":5136},{},[5137],{"type":52,"value":5138},"ETH → USDC on Ethereum",{"type":46,"tag":108,"props":5140,"children":5141},{},[5142],{"type":52,"value":5143},"ETH → USDC on Base (lower gas)",{"type":46,"tag":108,"props":5145,"children":5146},{},[5147],{"type":52,"value":5148},"USDC → WBTC on Arbitrum",{"type":46,"tag":5150,"props":5151,"children":5152},"style",{},[5153],{"type":52,"value":5154},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":5156,"total":2127},[5157,5172,5185,5196,5209,5222,5233],{"slug":5158,"name":5158,"fn":5159,"description":5160,"org":5161,"tags":5162,"stars":25,"repoUrl":26,"updatedAt":5171},"configurator","configure auction smart contract parameters","Configure CCA (Continuous Clearing Auction) smart contract parameters through an interactive bulk form flow. Use when user says \"configure auction\", \"cca auction\", \"setup token auction\", \"auction configuration\", \"continuous auction\", or mentions CCA contracts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5163,5166,5167,5170],{"name":5164,"slug":5165,"type":15},"Configuration","configuration",{"name":1894,"slug":677,"type":15},{"name":5168,"slug":5169,"type":15},"Smart Contracts","smart-contracts",{"name":13,"slug":14,"type":15},"2026-07-17T06:08:08.974641",{"slug":5173,"name":5173,"fn":5174,"description":5175,"org":5176,"tags":5177,"stars":25,"repoUrl":26,"updatedAt":5184},"copy-trade","copy trades from crypto wallets","This skill should be used when the user asks to \"copy trades from\" a wallet, \"mirror a wallet\", \"follow this address\", set up \"copy trading\", \"track and replicate a trader\", or mirror another account's swaps bounded by guardrails. Watches a target wallet and mirrors its trades, filtered by chain, asset match, position size, and the follower's own portfolio state.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5178,5181,5182,5183],{"name":5179,"slug":5180,"type":15},"Automation","automation",{"name":1894,"slug":677,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:04:21.974052",{"slug":5186,"name":5186,"fn":5187,"description":5188,"org":5189,"tags":5190,"stars":25,"repoUrl":26,"updatedAt":5195},"dca-bot","automate dollar cost average token purchases","This skill should be used when the user wants to \"dca into\" a token, \"buy X every day\", set up a \"recurring buy\", \"dollar cost average\" into an asset, \"schedule a buy\", or \"auto-buy on a dip\". Buys a fixed amount into a token on a schedule, optionally only when a condition holds (for example only when ETH is below a price threshold). The host agent's scheduler wakes the skill on a cadence; each wake is one self-contained run.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5191,5192,5193,5194],{"name":5179,"slug":5180,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:05:37.160647",{"slug":5197,"name":5197,"fn":5198,"description":5199,"org":5200,"tags":5201,"stars":25,"repoUrl":26,"updatedAt":5208},"deployer","deploy Uniswap CCA smart contracts","Deploy CCA (Continuous Clearing Auction) smart contracts using the Factory pattern. Use when user says \"deploy auction\", \"deploy cca\", \"factory deployment\", or wants to deploy a configured auction.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5202,5205,5206,5207],{"name":5203,"slug":5204,"type":15},"Deployment","deployment",{"name":1894,"slug":677,"type":15},{"name":5168,"slug":5169,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:08:09.661977",{"slug":5210,"name":5210,"fn":5211,"description":5212,"org":5213,"tags":5214,"stars":25,"repoUrl":26,"updatedAt":5221},"index-bot","create and rebalance asset portfolios","This skill should be used when the user asks to \"create an index\", \"build a basket of top assets\", \"buy a weighted basket\", \"make a portfolio of assets\", \"equal-weight basket\", \"rebalance my portfolio\", \"track the top N tokens\", or wants an automated, weighted multi-asset basket that buys in one pass and rebalances on a cadence. Builds the basket spec, delegates each buy and rebalance swap to the swap-integration Trading API flow, and records target weights in state.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5215,5216,5219,5220],{"name":1894,"slug":677,"type":15},{"name":5217,"slug":5218,"type":15},"Portfolio Management","portfolio-management",{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:04:22.328253",{"slug":5223,"name":5223,"fn":5224,"description":5225,"org":5226,"tags":5227,"stars":25,"repoUrl":26,"updatedAt":5232},"liquidity-planner","plan and create liquidity positions","This skill should be used when the user asks to \"provide liquidity\", \"create LP position\", \"add liquidity to pool\", \"become a liquidity provider\", \"create v3 position\", \"create v4 position\", \"concentrated liquidity\", \"set price range\", or mentions providing liquidity, LP positions, or liquidity pools on Uniswap. Generates deep links to create positions in the Uniswap interface.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5228,5229,5230,5231],{"name":17,"slug":18,"type":15},{"name":1894,"slug":677,"type":15},{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:08:09.315325",{"slug":5234,"name":5234,"fn":5235,"description":5236,"org":5237,"tags":5238,"stars":25,"repoUrl":26,"updatedAt":5245},"lp-integration","integrate Uniswap liquidity provisioning","Integrate Uniswap liquidity provisioning (LP) into applications via the LP REST API. Use when the user says \"LP API\", \"liquidity provisioning API\", \"provide liquidity programmatically\", \"create LP position via API\", \"add liquidity via API\", \"increase liquidity\", \"decrease liquidity\", \"remove liquidity\", \"claim LP fees\", \"collect LP fees\", \"manage LP positions in code\", or mentions building a backend, bot, or frontend that creates or manages Uniswap v2\u002Fv3\u002Fv4 liquidity positions through an API. Also use when debugging LP API calls (e.g. \u002Flp\u002Fcreate, \u002Flp\u002Fcheck_approval, \u002Flp\u002Fincrease, \u002Flp\u002Fdecrease, \u002Flp\u002Fclaim_fees), unexpected response fields, the approval or EIP-712 permit flow, or transaction-building errors for liquidity positions. For generating deep links to the Uniswap web app instead of calling the API, use the liquidity-planner skill; for using the Uniswap v4 SDK directly rather than the REST API, use the v4-sdk-integration skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5239,5242,5243,5244],{"name":5240,"slug":5241,"type":15},"API Development","api-development",{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:08:13.704465",{"items":5247,"total":5350},[5248,5255,5262,5269,5276,5283,5290,5297,5311,5322,5333,5340],{"slug":5158,"name":5158,"fn":5159,"description":5160,"org":5249,"tags":5250,"stars":25,"repoUrl":26,"updatedAt":5171},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5251,5252,5253,5254],{"name":5164,"slug":5165,"type":15},{"name":1894,"slug":677,"type":15},{"name":5168,"slug":5169,"type":15},{"name":13,"slug":14,"type":15},{"slug":5173,"name":5173,"fn":5174,"description":5175,"org":5256,"tags":5257,"stars":25,"repoUrl":26,"updatedAt":5184},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5258,5259,5260,5261],{"name":5179,"slug":5180,"type":15},{"name":1894,"slug":677,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"slug":5186,"name":5186,"fn":5187,"description":5188,"org":5263,"tags":5264,"stars":25,"repoUrl":26,"updatedAt":5195},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5265,5266,5267,5268],{"name":5179,"slug":5180,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"slug":5197,"name":5197,"fn":5198,"description":5199,"org":5270,"tags":5271,"stars":25,"repoUrl":26,"updatedAt":5208},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5272,5273,5274,5275],{"name":5203,"slug":5204,"type":15},{"name":1894,"slug":677,"type":15},{"name":5168,"slug":5169,"type":15},{"name":13,"slug":14,"type":15},{"slug":5210,"name":5210,"fn":5211,"description":5212,"org":5277,"tags":5278,"stars":25,"repoUrl":26,"updatedAt":5221},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5279,5280,5281,5282],{"name":1894,"slug":677,"type":15},{"name":5217,"slug":5218,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"slug":5223,"name":5223,"fn":5224,"description":5225,"org":5284,"tags":5285,"stars":25,"repoUrl":26,"updatedAt":5232},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5286,5287,5288,5289],{"name":17,"slug":18,"type":15},{"name":1894,"slug":677,"type":15},{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"slug":5234,"name":5234,"fn":5235,"description":5236,"org":5291,"tags":5292,"stars":25,"repoUrl":26,"updatedAt":5245},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5293,5294,5295,5296],{"name":5240,"slug":5241,"type":15},{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"slug":5298,"name":5298,"fn":5299,"description":5300,"org":5301,"tags":5302,"stars":25,"repoUrl":26,"updatedAt":5310},"pay-with-any-token","pay HTTP 402 challenges with Uniswap","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\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5303,5304,5307,5308],{"name":17,"slug":18,"type":15},{"name":5305,"slug":5306,"type":15},"Payments","payments",{"name":20,"slug":21,"type":15},{"name":5309,"slug":5309,"type":15},"x402","2026-07-17T06:04:29.756086",{"slug":5312,"name":5312,"fn":5313,"description":5314,"org":5315,"tags":5316,"stars":25,"repoUrl":26,"updatedAt":5321},"pay-with-app","pay 402 payment challenges","Pay HTTP 402 payment challenges issued by OKX's Agent Payments Protocol (APP) on X Layer using tokens from any chain via the Uniswap Trading API. Use this skill whenever the user encounters a 402 challenge whose network resolves to X Layer (chain 196), mentions \"APP\", \"Agent Payments Protocol\", \"OKX agent payment\", \"OKX Onchain OS\", \"OKX agentic wallet\", \"x402 on X Layer\", \"USDT0\", \"x42\", \"Instant Payment\", \"Batch Payment\", \"pay for X Layer API\", or wants to pay an OKX-backed merchant. Even when the user does not explicitly say APP, prefer this skill for any 402 challenge whose network resolves to X Layer (chain 196). For 402 challenges on other chains (Ethereum, Base, Arbitrum, Tempo) use pay-with-any-token instead.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5317,5318,5319,5320],{"name":5240,"slug":5241,"type":15},{"name":5305,"slug":5306,"type":15},{"name":13,"slug":14,"type":15},{"name":5309,"slug":5309,"type":15},"2026-07-17T06:07:38.795043",{"slug":5323,"name":5323,"fn":5324,"description":5325,"org":5326,"tags":5327,"stars":25,"repoUrl":26,"updatedAt":5332},"swap-integration","integrate Uniswap swap functionality","Integrate Uniswap swaps into applications. Use when user says \"integrate swaps\", \"uniswap\", \"trading api\", \"add swap functionality\", \"build a swap frontend\", \"create a swap script\", \"smart contract swap integration\", \"use Universal Router\", \"Trading API\", or mentions swapping tokens via Uniswap.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5328,5329,5330,5331],{"name":5240,"slug":5241,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:08:10.354222",{"slug":4,"name":4,"fn":5,"description":6,"org":5334,"tags":5335,"stars":25,"repoUrl":26,"updatedAt":27},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5336,5337,5338,5339],{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"slug":5341,"name":5341,"fn":5342,"description":5343,"org":5344,"tags":5345,"stars":25,"repoUrl":26,"updatedAt":5349},"v4-hook-generator","generate Uniswap v4 hook contracts","Generate Uniswap v4 hook contracts via OpenZeppelin MCP. Use when building custom swap logic, async swaps, hook-owned liquidity, custom curves, dynamic fees, MEV protection, limit orders, or oracle hooks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5346,5347,5348],{"name":1894,"slug":677,"type":15},{"name":5168,"slug":5169,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:04:19.17669",19]