Powered by ASDFASDFA

CultScreener

A Solana token conviction analyzer. Track diamond hands, measure holder commitment, and discover tokens with the strongest communities.

How It Works

Conviction Score

The conviction percentage shown on the main leaderboard is the >1 Month diamond hands rate. It measures what percentage of sampled holders have been holding a token continuously for more than 30 days.

  • ELITE (75%+) — 3 out of 4 holders are long-term diamond hands
  • HIGH (50%+) — Majority of holders are committed
  • MID (25%+) — Some committed holders mixed with traders
  • LOW (<25%) — Mostly short-term traders

How Hold Time Is Measured

For each holder wallet, CultScreener queries the wallet's Associated Token Account (ATA) directly on the Solana blockchain using getSignaturesForAddress. The oldest transaction on that token account tells us when the wallet first received the token. The hold time is now - firstReceivedAt.

This approach is reliable regardless of how active the wallet is — even if a wallet has done thousands of other transactions, the token-specific account only contains transactions for that token.

Sampling

CultScreener samples up to 250 holders per token. Holders are sourced from the Helius DAS API (getTokenAccounts), sorted by balance, with the bottom 10% (dust wallets) excluded. LP pools and burn wallets are also filtered out.

Diamond Hands Distribution

The Diamond Hands section on each token page shows what percentage of the sample has held for various time periods: >24h, >3d, >1w, >1M, >3M, >6M, >9M. This gives a fuller picture of holder commitment across different timeframes.

Token Pages

Each token detail page shows:

  • Price & Market Data — Current price, 24h change, market cap, volume, liquidity. Sourced from GeckoTerminal.
  • Token Statistics — Market cap, volume, liquidity, holder count, supply, token age, and page views.
  • Conviction Metrics — Holder concentration (top 5/10/20%), token age, fresh wallet detection, locked/burnt supply, and the Diamond Hands distribution.
  • Top Holders Table — The largest 20 holders with balances, USD values, supply percentages, and individual hold times.
  • Liquidity Pools — Active DEX pools with volume and liquidity data.

Watchlist

Connect your Solana wallet to save tokens to your personal watchlist. You can add tokens from the star button on any token page, and view them from the WATCHLIST pill on the main terminal or the dedicated Watchlist page.

The Watchlist page also shows a global leaderboard of the most watchlisted tokens across all users.

Data Sources

DataSourceNotes
Holder list & hold timesSolana RPC via HeliusDAS API for token accounts, standard RPC for signature history
Price, volume, liquidityGeckoTerminalFree tier, rate-limited with circuit breakers
Token metadataHelius DAS + on-chainName, symbol, logo, social links from on-chain & off-chain JSON
Holder countJupiter + HeliusJupiter search API (fast) with Helius DAS fallback
Liquidity poolsGeckoTerminalPool addresses, reserves, volume per DEX
Social linksOn-chain + DexScreenerHelius metadata extensions, off-chain JSON, DexScreener for curated tokens

Cache & Refresh Times

CultScreener caches data at multiple levels to balance freshness with API cost. Here are the current cache durations:

Server-Side Cache

DataCache DurationNotes
Per-wallet hold time48 hoursCached per wallet per token. A wallet holding for 30d won't change meaningfully in 48h.
Diamond Hands distribution3 hoursFull distribution recomputed when cache expires
Token price/market data1-10 minPrice data: 1 min. Token info: 10 min.
Conviction leaderboard1 minLeaderboard query results cached briefly
Holder analytics (concentration)1 hourTop holder list and concentration metrics
Holder count24 hoursFrom Jupiter/Helius. Cached longer since it changes slowly.
Token metadata (name, logo)1 hourStable data, rarely changes

Frontend Cache (Browser)

DataCache DurationNotes
Token list page2 minAuto-refreshes every 2 minutes
Token detail page5 minPrice refreshes every 5 minutes with freshness indicator
Search results2 minCached to avoid redundant API calls on re-search
Chart/OHLCV data5 minPer interval (1h, 4h, 1d, etc.)

Background Jobs

JobIntervalNotes
Curated token conviction refresh1 hourRe-analyzes all admin-curated tokens
Top token conviction warm10 minRe-analyzes up to 3 most-viewed tokens per cycle
Cache warm on startupOncePre-fetches market data for top 20 most-viewed tokens
View count flush5 secBatches page view increments to the database

Curated Tokens

Site administrators can add tokens to a curated list via the admin panel. Curated tokens:

  • Appear on the conviction leaderboard immediately (with 0% conviction until analysis completes)
  • Have their conviction data refreshed automatically every hour
  • Can display DexScreener banner images and social links on their token page

Technical Details

  • Backend: Node.js + Express, PostgreSQL, Redis (BullMQ), deployed on Render
  • Frontend: Vanilla HTML/CSS/JS (no build step), static site
  • Wallet: Supports Phantom, Solflare, Backpack, Coinbase, Trust, Brave, Exodus
  • RPC: Helius for DAS API and standard Solana RPC, with public RPC fallback
  • Rate Limiting: Per-IP rate limits on all API endpoints, circuit breakers on external APIs
  • Security: Helmet CSP headers, CORS, signature-based replay protection, timing-safe admin auth