Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Free LP tracker: paste a wallet address to see every Aerodrome, Velodrome & Uniswap position across 10 networks — gauge-staked ones included.
Translation pending
FinanceTypeScript · CSSGitHub @alanmdsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
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.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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:Read the full 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).