# Vetted Markets Vetted markets are the foundation of Vybe's data quality. Unlike other APIs that aggregate data from every pool—including low-liquidity, manipulated, and wash-traded pools—Vybe filters markets through strict criteria to ensure you're building on accurate, trustworthy data. ## Why Vetting Matters On Solana, anyone can create a liquidity pool. This freedom creates a data quality nightmare: ### The Problem with Unvetted Data | Issue | What Happens | Real-World Impact | | ----------------------- | ---------------------------- | ------------------------------ | | **Low liquidity pools** | $100 trade moves price 50% | Fake wicks on charts | | **One-sided liquidity** | Pool structurally broken | Impossible to trade accurately | | **Wash trading** | Fake volume inflates numbers | Misleading activity metrics | | **Abandoned pools** | Stale, incorrect prices | Wrong valuations | | **Manipulation** | Artificial price spikes | Stop losses triggered unfairly | **Without vetting, your charts look like this:** ``` Price ($) │ ╱╲ ← Fake wick from $10 trade in tiny pool │ ╱ ╲ │___╱ ╲___╱╲___ └─────────────────→ Time ``` **With Vybe's vetting:** ``` Price ($) │ │____╱╲___╱╲___ │ └─────────────────→ Time Real price action from liquid markets ``` **Note:** This isn't just about convenience. **Bad data leads to bad decisions.** Fake wicks trigger stop losses. Manipulated prices distort PnL calculations. Inflated volumes mislead traders. Vybe eliminates these problems at the source. *** ## Vybe's Vetting Criteria Every market must pass **three tests** to be included in Vybe's data: ### 1. Quote Token Requirement The market must be quoted in a **vetted base token**: | Token | Mint Address | | ----- | ---------------------------------------------- | | WSOL | `So11111111111111111111111111111111111111112` | | USDC | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` | | USDT | `Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB` | | USD1 | `USD1ttGYSMXxAsZz7FYLqGCwZm5zqNJmCz7qyiWCDha` | **Why?** Tokens quoted against other random tokens can have wildly inaccurate USD valuations. ### 2. Liquidity Depth Threshold Pool must have **at least 10%** of the deepest vetted pool's USD liquidity for that token. **Example:** If the deepest SOL/TOKEN pool has $100,000 liquidity, other pools need at least $10,000 to be included. **Why?** Pools with tiny liquidity are easily manipulated. A $100 trade shouldn't be able to move prices significantly. ### 3. Balance Symmetry Check Each side of the pair must hold **at least 5%** of the pool's total USD value. **Why?** One-sided pools (e.g., 95% Token A, 5% Token B) are structurally broken and produce unreliable price data. *** ## What Vetted Markets Power | Data Type | Vetted? | Why It Matters | | --------------------- | ------- | ------------------------------------ | | **Token prices** | ✅ | No fake wicks, accurate valuations | | **Price candles** | ✅ | Charts reflect real trading activity | | **USD liquidity** | ✅ | True depth for trade sizing | | **Trade aggregates** | ✅ | Volume reflects real activity | | **Wallet PnL** | ✅ | Accurate profit/loss calculations | | **Top traders** | ✅ | Fair rankings based on real trades | | **Holder valuations** | ✅ | Portfolio values are accurate | *** ## The `vettedMarketsOnly` Parameter Some endpoints let you toggle vetting (though we recommend keeping it on): ```bash # Vetted markets only (default, recommended) GET /tokens/{mint}/candles?vettedMarketsOnly=true # All markets including unvetted (use with caution) GET /tokens/{mint}/candles?vettedMarketsOnly=false ``` ### Endpoint Configuration | Endpoint | Default | Configurable? | | ----------------------------- | ------- | ------------- | | `/tokens` | Vetted | No | | `/tokens/{mint}` | Vetted | No | | `/tokens/{mint}/candles` | Vetted | Yes | | `/tokens/{mint}/liquidity-ts` | Vetted | Yes | | `/markets` | Vetted | Yes | | `/trades` | Vetted | Yes | | `/wallets/{addr}/pnl` | Vetted | No | | `/wallets/top-traders` | Vetted | No | *** ## When to Disable Vetting In rare cases, you may want unvetted data: | Use Case | Why Unvetted | | -------------------------- | ----------------------------------- | | **Manipulation research** | Studying wash trading patterns | | **New token analysis** | Token only has low-liquidity pools | | **All-market aggregation** | Research on full market structure | | **DEX comparison** | Comparing activity across all pools | **⚠️ Warning:** Unvetted data can include fake prices, wash trading, and manipulated volumes. Always handle with caution and never use for production trading decisions. *** ## Real-World Example ### Scenario: MEMECOIN Price Query **Without vetting (other APIs):** ``` Pool A (Raydium CLMM): $50,000 liquidity, Price: $0.001 Pool B (Random DEX): $50 liquidity, Price: $0.1 ← 100x higher! Pool C (Wash trading): $10,000 "liquidity", Price: $0.05 Aggregated price: Somewhere between $0.001 and $0.1 Chart shows: Massive fake wicks from Pool B PnL shows: Wildly inaccurate profits ``` **With Vybe vetting:** ``` Pool A (Raydium CLMM): $50,000 liquidity, Price: $0.001 ← Only this counts Pool B: Excluded (liquidity below threshold) Pool C: Excluded (fails balance symmetry) Price: $0.001 (accurate) Chart: Clean, real price action PnL: Accurate profit/loss ``` *** ## How Vetting Affects Different Features ### Price Feeds * Only prices from vetted pools are aggregated, weighted by liquidity depth. No outliers from manipulated pools. ### Candlestick Charts * OHLCV data comes exclusively from vetted markets. No fake wicks from low-liquidity trades. ### PnL Calculations * Wallet profit/loss uses vetted trade prices for cost basis and current value. Results match reality. ### Top Trader Rankings * Rankings based on trades in vetted markets only. No inflation from wash trading. ### Holder Valuations * Token values in wallet balances use vetted market prices. Portfolio values are accurate. *** ## Next Steps * [Data Quality](./data-quality.md) - How we ensure accuracy across all data types * [Supported DEXs](./supported-dexs.md) - Which protocols we integrate with