βŠ•

GannAstro

Crypto-Astrology Trading Dashboard
A full-stack quantitative trading intelligence platform that fuses W.D. Gann's geometric price theory with real-time planetary ephemeris data to surface high-probability crypto trading signals.
React 19 + TypeScriptMySQL / Drizzle ORMVSOP87 EphemerisExpress.js SSRTelegram Bot API
Generated: October 2026 Β· Confidential

01 Β· Project Overview

GannAstro is a proprietary trading intelligence dashboard built to identify crypto assets whose price geometry aligns with active planetary aspects. The core hypothesis is that W.D. Gann's observation β€” that price moves in geometric proportion to time β€” can be operationalised by mapping a token's price logarithm to a 360Β° circle and detecting when major planets form Square (90Β°) or Trine (120Β°) aspects to that angle.

Primary Goal
Surface tokens at Gann breach points during active planetary aspects
Signal Types
DEX L0, DEX L-1, CEX L0 Gann Breaches + Momentum Signals
Universe
100k+ token listings across CEX + DEX + on-chain
Alert Delivery
Telegram Bot + in-app Signal Journal

The system operates across three scanner generations: V1 (basic aspect detection), V2 (full multi-planet scanner with momentum tools), and V3 (persistent universal token database with Gann degree indexing). All three are live simultaneously.

02 Β· Technology Stack

Frontend
React 19TypeScript 5Vite 5 (SSR)Tailwind CSSshadcn/uiMotionRechartsReact Router v8TanStack Query
Backend
Express.jsNode.jsTypeScript (server)Drizzle ORMMySQL 8JSON file stores (/private)
Astronomical / Math
VSOP87 TheoryKeplerian Orbital MechanicsMeeus AA2 AlgorithmsJulian Day arithmeticLog10 price mapping
External APIs
CoinMarketCapDexScreenerBinanceKrakenCoinbase ProKuCoin / Bybit / Bitget / Gate.io / MEXCEtherscan / BscScan / PolygonscanUniswap / PancakeSwap / PumpSwapTelegram Bot API

03 Β· System Architecture

The application is a monorepo with a unified Vite SSR build. The Express server handles both API routes and server-side rendering in a single process. All persistent state lives in either MySQL (catalog data) or JSON files under /private (alerts, journal, settings).

Build Output
dist/server.bundle.mjs (SSR) + dist/client/ (SPA assets)
State Strategy
MySQL for catalog; /private JSON for alerts, journal, settings
Scan Strategy
setInterval β€” avoids OOM from cron worker spawning
Long Scans
CEX L0 uses /api/cex-breach/long; GET polling confirms results
  • src/server/entry.ts β€” Express server: registers all API handlers + SSR render
  • src/server/api/ β€” Handler files (GET/POST per route, registered in entry.ts)
  • src/server/services/ β€” Business logic: fetchers, resolvers, stores
  • src/lib/ β€” Pure computation: Gann engine, planetary engine, Circle of 8
  • src/pages/ β€” React route components (SSR-rendered)
  • src/components/ β€” Shared UI components

04 Β· Gann Price Engine

The Gann engine maps any token price to a 360Β° geometric circle using the formula: priceDegree = (log₁₀(price) % 1) Γ— 360. This is the fractional part of the base-10 logarithm scaled to a full circle β€” the core of Gann's "Square of Nine" price geometry.

Gann Degree Formula
(log₁₀(price) % 1) Γ— 360Β°
Breach Definition
Current price within orbΒ° of a Gann level price
Level Ladder
7 levels computed: decadeβˆ’3 to decade+3
Mint Angle
Average of 8 planet longitudes at token mint date

Gann Circle of 8 β€” An advanced extension using 8 multiplicative factors [1, 1.125, 1.25, 1.5, 2, 0.875, 0.75, 0.6667] applied to the base price. Each factor maps to a 45Β° sector. The engine detects which sector the current price occupies and computes runway to the next level.

  • src/lib/gann-engine.ts β€” Core Gann degree, level ladder, aspect scoring, fmtDeg
  • src/lib/gann-engine-v2.ts β€” V2 with VSOP87 planets, extended aspects, scanAspectWindowsV2
  • src/lib/gann-circle-of-8.ts β€” Circle of 8 with configurable factors and sector detection

05 Β· Planetary Ephemeris Engine

Planetary positions are computed in real-time using VSOP87 theory combined with Keplerian orbital mechanics from Jean Meeus's Astronomical Algorithms 2nd Ed. No external ephemeris API is called β€” all computation is pure TypeScript running server-side.

Planets Tracked
Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto + Sun, Moon
Coordinate System
Geocentric Tropical (ecliptic longitude, 0–360Β°)
Aspect Types
Square (90Β°), Trine (120Β°), Conjunction (0Β°), Opposition (180Β°)
Applying/Separating
Detected by comparing current vs next-hour positions

Aspect Detection Logic: For each planet, the angular distance to the token's Gann angle is computed. If this distance is within the configured orb (default 1.0Β°) of a major aspect angle, an aspect is flagged. Applying aspects (planet moving toward exact) are weighted higher in signal scoring.

06 Β· V3 Universal Token Database

The V3 catalog is a MySQL-backed persistent token database that ingests listings from every major CEX and DEX source. Unlike V1/V2 which operated on ephemeral in-memory lists, V3 preserves listing-level identity across runs.

token_listings
Universal listing catalog β€” source, exchange, pair, chain, address, Gann degree, market metrics
catalog_runs
Discovery audit log β€” source/status, discovered/inserted/updated/error counts, timestamps
Target Scale
100k+ listings across CEX + DEX + on-chain
Deduplication
Listing-level identity (source+exchange+pair+chain) β€” no symbol collapse
  • CoinMarketCap β€” top 500+ CEX listings with dateAdded, price, market cap
  • Binance β€” full spot pair list with base/quote resolution
  • DexScreener β€” DEX pairs across Ethereum, BSC, Solana, Polygon, Arbitrum, Base
  • PumpSwap, PancakeSwap, Uniswap β€” DEX-native pair discovery
  • KuCoin, Bybit, Bitget, Gate.io, MEXC, OKX β€” 10 CEX public feeds

07 Β· Gann Breach Detection System

The Gann Breach system scans token prices against their computed Gann level ladders and flags tokens where the current price is within the configured orb of a Gann level. Three independent breach modes operate with separate stores and APIs.

DEX L0
DexScreener pairs β€” current price vs Gann L0 level
DEX L-1
DexScreener pairs β€” price vs Gann L-1 (one level below)
CEX L0
Binance + 10 CEX feeds β€” price vs Gann L0
Deduplication
4-hour window β€” same token+level not re-alerted within 4h

CEX Long-Running Scan: The CEX scan covers 500+ pairs and exceeds the 10-second preview proxy timeout. A dedicated /api/cex-breach/long endpoint handles this. The UI fires the POST and polls GET to confirm results.

08 Β· Momentum & Signal Detection Tools

Momentum Scanner
Rate-of-change across multiple timeframes; ranks tokens by momentum score
Coiling Detector
Contracting price range detection (Bollinger Band squeeze proxy)
Delta-to-Zero
Buy/sell delta approaching zero β€” potential reversal signal
Pump Alerts
Sudden volume + price spike detection across DEX pairs
Squeeze Leaderboard
Ranks tokens by Bollinger/Keltner squeeze intensity
100x Radar
Micro-cap tokens with Gann alignment + momentum screen
Moon Engine
Lunar phase correlation with price momentum overlay

09 Β· Signal Journal & Outcome Tracking

The Signal Journal is a persistent evidence-and-outcome ledger. Every signal generated by the system is logged with its entry conditions. Outcome checkpoints at 15m, 1h, 4h, 24h, and 7d record price excursion and whether the target level was hit.

Evidence Store
/private/signal-journal-evidence.json β€” entry conditions, signal type, timestamp
Outcome Store
/private/signal-journal-outcomes.json β€” price at each checkpoint, max excursion, target hit
LSF Calibration
Log-Score Function calibration from observed outcomes β€” in progress
Route
/journal β€” Evidence table, outcome metrics, calibration dashboard

10 Β· API Endpoints Reference

GET/api/planetary/v2Current 10-planet positions, zodiac signs, optional aspect summary
GET/api/aspectsAspect window scan over a date range for a given angle or symbol
GET/api/token/:symbolDeep token analysis: contract date, Circle of 8 levels, active aspects
GET|POST/api/gann-alertsDEX L0 Gann breach alerts β€” GET returns stored, POST triggers scan
GET|POST/api/cex-breachCEX L0 breach alerts β€” GET returns stored, POST triggers scan
POST/api/cex-breach/longLong-running CEX scan (>10s) β€” fire-and-forget, poll GET for results
GET/api/catalogV3 token database β€” paginated, filterable by Gann degree, symbol, source
GET/api/catalog/runsCatalog discovery run audit log
GET/api/momentumMomentum scanner results
GET/api/squeezeSqueeze leaderboard
GET/api/journalSignal Journal evidence + outcomes

11 Β· Exchange & Data Integrations

Binance
Full spot pair list + historical trades via REST API
Kraken
Spot pair list + historical trades (kraken-fetcher.ts)
Coinbase Pro
Pair list + trades (coinbase-pro-fetcher.ts)
KuCoin / Bybit / Bitget
Public REST feeds for CEX L0 breach scanning
Gate.io / MEXC / OKX
Public REST feeds for CEX L0 breach scanning
DexScreener
DEX pair discovery + real-time price across 20+ chains
Uniswap V3
On-chain pair discovery via subgraph
PancakeSwap
BSC DEX pair discovery
PumpSwap
Solana meme token discovery
Etherscan / BscScan / Polygonscan
Contract creation date resolution for mint date accuracy

12 Β· Settings & Configuration

All system parameters are configurable at runtime via the Settings page and persisted to /private/gannastro-settings.json.

  • API Keys tab β€” CMC_API_KEY, ETHERSCAN_API_KEY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID
  • Gann Parameters tab β€” Circle of 8 factors, angle mode (log10 vs rank), orb tolerance
  • Scanner Config tab β€” scan cadence (setInterval ms), alert thresholds, deduplication window
  • Data Sources tab β€” enable/disable individual exchange feeds, chain selection
  • Planets & Aspects tab β€” planet selection, aspect types, applying-only filter

13 Β· Trading Strategy Logic

The core trading hypothesis has three layers that must align for a high-conviction signal:

Layer 1: Price Geometry
Token price is within orbΒ° of a Gann level (L0, L-1, L+1). This is the structural condition β€” price is at a mathematically significant level.
Layer 2: Planetary Aspect
A major planet forms a Square or Trine to the token's Gann angle (derived from mint date). Applying aspects are weighted higher.
Layer 3: Momentum Confirmation
Momentum scanner, coiling detector, or squeeze leaderboard confirms directional bias. Delta-to-zero or pump alert adds urgency.

Signal Scoring: Each aspect is scored by type (Square = reversal, Trine = continuation), orb (tighter = higher score), and applying/separating status. Compound signals (breach + aspect + momentum) are the highest-priority alerts.

Mint Date Accuracy: The Gann angle is only as accurate as the mint date. Priority chain: hardcoded known dates β†’ CMC dateAdded β†’ DexScreener pair creation β†’ Etherscan contract creation β†’ RPC fallback.

GannAstro Β· Crypto-Astrology Trading Dashboard Β· Confidential
Generated October 2026
Use your browser Print dialog β†’ Destination: Save as PDF
GannAstroPowered by JPL Horizons & Swiss Ephemeris