尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Free read-only liquidity pool tracker. Paste a wallet address to see every Aerodrome, Velodrome and Uniswap v3 position across 5 networks — gauge-staked ones included.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Live at trackdefi.app — free, no login, no wallet connection.
Paste any wallet address and see all of its liquidity-pool positions across
ten networks, including the gauge-staked ones that most trackers miss.
Read-only: trackdefi never asks for private keys or seed phrases, and cannot
move funds.
Three things were missing from the trackers we tried:查看完整 README ↗Live at trackdefi.app — free, no login, no wallet connection.
Paste any wallet address (EVM 0x… or Solana) and see all of its liquidity-pool positions on
Aerodrome, Velodrome, Uniswap, PancakeSwap, SushiSwap, Ramses and Orca, across every network in the
coverage table — including the gauge-staked (and MasterChef-staked)
ones that most trackers miss. Read-only: trackdefi never asks for private keys or seed
phrases, and cannot move funds. No token, no presale, no airdrop.
Three things were missing from the trackers we tried:
0% when that is
the truth.When a token has no reliable price, trackdefi shows — instead of guessing.
| Exchange | Networks |
|---|---|
| Aerodrome | Base |
| Velodrome | Optimism, Unichain, Ink, Mode, Soneium, Fraxtal, Lisk, Swell, Metal L2, Superseed, Celo |
| Uniswap v2 | Base, Optimism, Ethereum, Arbitrum, Robinhood Chain, Unichain, BNB Chain |
| Uniswap v3 | Base, Optimism, Ethereum, Arbitrum, Robinhood Chain, Unichain, BNB Chain |
| Uniswap v4 | Base, Optimism, Ethereum, Arbitrum, BNB Chain, Robinhood Chain |
| PancakeSwap v2 | BNB Chain, Ethereum, Base |
| PancakeSwap v3 | BNB Chain, Ethereum, Base, Arbitrum |
| SushiSwap v2 | Ethereum, Optimism, BNB Chain, Base, Arbitrum |
| SushiSwap v3 | Ethereum, Optimism, BNB Chain, Base, Arbitrum |
| Ramses | Robinhood Chain, HyperEVM |
| Orca | Solana |
Classic (v2-style) and concentrated positions, staked or not, with pending fees
and emissions, plus veAERO / veVELO governance locks. For each position it also
shows what that position itself is earning now — 0% in fees when it is out of
range.
It also has an APR simulator: pick a pool, an amount and a price range to see what it would earn while in range (fees measured on the pool itself, plus emissions) and how much of the last 7 days the price spent inside the range. The pair finder filters pools on the same exchanges by APR (the pool average, from DefiLlama), 24-hour volume, TVL and the market cap of the smaller token.
What it doesn't do: no profit and loss or impermanent loss since a position was opened, no alerts, and no transactions of any kind. The roadmap tracks what's next; how it works explains where every number comes from.
/pt-br); adding one is a dictionary folder plus a line in
app/i18n/config.tsProtocol-specific code lives behind one interface (core/types.ts →
ProtocolAdapter). Adding a network or exchange means writing an adapter and
registering it in core/adapters/registry.ts — the API, the price layer and the
UI don't change.
Money is handled as BigInt throughout the core; floats appear only at the
display edge.
core/ pure engine, testable without a UI
types.ts LpPosition + ProtocolAdapter interface
chain.ts per-network viem readers (RPC from env or public endpoints)
service.ts adapters + prices -> JSON DTO (USD computed server-side)
guards.ts TTL cache, rate limiter, concurrency semaphore
math/ Q96 concentrated-liquidity math (BigInt)
prices/ price clients (DefiLlama, DexScreener)
yields/ position-level APR ("what is this position earning now")
adapters/ aerodrome/ (Sugar family) · uniswap-v3/ · registry.ts
app/ Next.js site + /api/positions
[lang]/ every page, once per language (w/[address] wallet results,
how-it-works, glossary, roadmap, changelog, feedback)
i18n/ languages, dictionaries (messages/<lang>/) and SEO helpers
ui/ components, number/date formatting
proxy.ts language routing: English has no URL prefix, others do (/pt-br)
tests/ unit tests with frozen real-wallet fixtures
poc/ CLI + validation scripts (see below)
npm install
npm run dev
Dev mode is slow for full scans — use a production build to measure real speed:
npm run build && npm run start
Scripts:
| Command | What it does |
|---|---|
npm test | unit tests (Vitest) |
npm run typecheck | tsc --noEmit |
npm run poc -- 0x… | print a wallet's positions from the terminal |
npm run check-api | hit the API handler against the live chain |
npx tsx poc/validate-batch.ts | full validation battery (run before releases) |
npx tsx poc/validate-live.ts https://trackdefi.app | validate a deployed site over HTTP |
npx tsx poc/find-wallets.ts | find active LP wallets from recent events |
npx tsx poc/check-outage.ts | verify a dead RPC returns a clean 502 |
Copy .env.example. All variables are optional:
NEXT_PUBLIC_SITE_URL — canonical origin used for metadata, canonicals and
the sitemap. Defaults to https://trackdefi.app.BASE_RPC_URLS — comma-separated RPC URLs (e.g. an Alchemy key) to speed up
scans. Server-side only, never exposed to the browser. Falls back to public
RPCs. Every network has its own (OPTIMISM_RPC_URLS, BSC_RPC_URLS, …; the
full list is rpcEnv in core/chains.ts). The "earning now" fee window
needs an RPC that serves historical state, which most public RPCs don't.TRACKDEFI_FIXTURE — dev only; serve a frozen DTO instead of reading the
chain. Ignored on Vercel.See DEPLOY.md for the step-by-step (GitHub + Vercel, free tier).