Full-stack, multi-chain blockchain assistant covering BTC, ETH, BSC, Solana and major L2s. Reads charts and on-chain data, traces wallet and contract fund flows, weighs DeFi/staking yields against risk, and writes or audits Solidity smart contracts. Use it when you want to analyze price action, track an address, size up a yield strategy, or check a contract for exploits. Replies in the language you use (Chinese by default).
Documents
graph-uniswap
Try itSimulate a Uniswap swap before making it — amount out, effective price, price impact — computed offline from The Graph with the protocol's own concentrated-liquidity math. Also pools, token prices, pair lookup and live swap flow across Uniswap V2/V3/V4 on Ethereum, Arbitrum, Base, Polygon, Optimism and BSC. Trigger keywords: uniswap, swap, quote, price impact, slippage, how much would I get, pool, liquidity, fee tier, LP, DEX, token price, V3, V4.
What it does
Simulate a Uniswap swap before making it — amount out, effective price, price impact — computed offline from The Graph with the protocol's own concentrated-liquidity math. Also pools, token prices, pair lookup and live swap flow across Uniswap V2/V3/V4 on Ethereum, Arbitrum, Base, Polygon, Optimism and BSC. Trigger keywords: uniswap, swap, quote, price impact, slippage, how much would I get, pool, liquidity, fee tier, LP, DEX, token price, V3, V4.
The skill document
Graph Uniswap
Answer Uniswap questions with live subgraph data — and, uniquely, answer "what would this trade actually cost me?" without an RPC, a node, or a private key.
Setup
Needs a free Graph API key (, 100k queries/month free) in
GRAPH_API_KEY. The server runs over stdio via npx -y graph-uniswap-mcp.
Picking a tool
| The user is asking… | Use |
|---|---|
| "how much would I get for X", "what's the slippage/price impact", "is this pool deep enough" | quote_swap |
| "what's WETH worth", "price of X" | get_token_price |
| "best pools on ", "most active pools" | top_pools |
| "the USDC/WETH pool", "which fee tier" | find_pool |
| "stats for this pool" | pool_info |
| "recent trades", "who is trading" | recent_swaps |
| "what chains/versions are supported" | list_markets |
| anything the above cannot express | raw_query |
Typical flow for a trade question: find_pool → pick the pool → quote_swap.
quote_swap — the one to reach for
Simulates an exact-input swap against the pool's real tick liquidity.
quote_swap pool=0x8ad5…e6d8 tokenIn=WETH amountIn=100 chain=ethereum version=v3
→ amount_out 223661.14 USDC · effective_price 2236.61 · price_impact_pct 0.6291 · ticks_crossed 2
price_impact_pct is measured against the fee-adjusted spot, so it isolates depth rather than
restating the fee. fee_pct is reported separately.
Always check quotable. When it is false, report the reason — do not substitute a guess
or fall back to a TVL figure. It refuses on:
- V4 pools with a hook — hooks can override fee and curve, so vanilla math would be wrong. On Base the top V4 pools by volume are hook-driven.
- Trades bigger than the visible liquidity — you get
lower_bound_amount_out, not a quote. Suggest splitting the trade, or quoting on-chain. - Zero in-range liquidity, or a deployment exposing no
ticks(V3 on Base).
The number simulates the most recently indexed block. Real execution depends on state at inclusion — say so when the amount is material. It is single-pool: not a router, no multi-hop, no splitting.
TVL is null on purpose — do not work around it
tvl_usd is null for V3/V4. Uniswap's native subgraphs accumulate totalValueLockedUSD from
per-event deltas and it drifts: on the canonical USDC/WETH 0.3% pool it read 138.9M USDC against
6.1M actually held on chain (22.7x high, on a blue-chip pool). V2 reserve0/reserve1 are real
balances and are still returned.
If a user asks how deep a pool is, run quote_swap at their size — that is the truthful
answer. Never reconstruct a TVL estimate from raw_query and present it as fact.
Other things worth knowing
- Rank pools by volume, never TVL — one spam-token pool can claim trillions in fake liquidity, so a TVL sort returns junk at the top.
- Omitting
versionpicks the highest-query-volume version on that chain, which is not always the most useful one. Pinversionwhen the user means a specific one. - Chain aliases (
eth,arb,matic,bnb) are accepted. - A stablecoin price should read ≈ $1 — a quick sanity check that pricing resolved correctly.
Related skills
DeFi analytics and on-chain execution via Spraay x402 — token prices, swap quotes, wallet profiling, portfolio/NFTs, DeFi positions, gas oracle, ENS, contract reads. Plus swap execution and contract writes. USDC micropayments on Base/Solana. Write ops are irreversible.
Crypto & DeFi market data for AI agents — spot prices, market data, DEX liquidity, DeFi protocol TVL, gas prices, Fear & Greed sentiment, trending coins, and...
Real-time crypto prices, gas, trending tokens, wallet balances, ENS resolution, and token info for OpenClaw agents. Zero API keys required. Zero setup. Use when the user asks about crypto prices, token info, wallet balances, gas costs, trending coins, name resolution, or any blockchain data lookup.
Get live on-chain data from The Graph, paid per query in USDC over x402 — gasless, keyless, bring-your-own-wallet. Each query spends real USDC (~$0.01) from a wallet you control — use a dedicated, low-balance Base wallet. Discover the right live subgraph, see the price before paying, then pull the data in one loop. Trigger keywords: subgraph, The Graph, GraphQL, on-chain data, DeFi, DEX, pool, TVL, swap, NFT, ENS, token holders, governance, x402, pay per query, USDC, Base, gateway.
Operate DexScreener public market and DEX pair reads via UXC + curated OpenAPI schema