memescope-monday
Health Pass
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 17 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Community directory for Memescope Monday: submit, vote on and track memecoin picks, with a local MCP server.
The community-driven memecoin directory.
Every Monday at 10 AM UTC, the community votes together on the best memecoin plays across Solana, Base, and BNB Chain.
Submit your picks, upvote the best, ride together.
Features
Core
- Coin Discovery — Browse and discover memecoin picks submitted by the community
- Upvoting — Vote on the best plays; daily winners get highlighted
- Rich Coin Pages — Live market data, DexScreener charts, buy/sell ratios, PumpFun bonding curve status
- Multi-Chain — Solana (PumpFun), Base, and BNB Chain support
- Submit Picks — Share your memecoin finds with the community
- Comments — Discuss plays with other traders
- Leaderboards — Today's top picks, yesterday's winners, best of month
- Launch Countdown — Live countdown to 10 AM UTC every Monday
Market Data (Multi-API)
- PumpFun — Bonding curve status, reply count, creator info, ATH market cap
- DexScreener — Live price, volume, liquidity, buy/sell txns, embedded charts
- CoinGecko — Historical data, price changes, market cap, FDV
- CoinMarketCap — Additional market data and rankings
- CryptoPanic — Aggregated crypto news with sentiment
- Helius — Solana token metadata and on-chain data
- Etherscan — ERC-20 holder counts
Safety & Analysis
- Safety Score (A-F) — Algorithmic risk assessment based on liquidity, trading activity, buy/sell ratio, pair age, and community votes
- Social Buzz Score — Hype indicator (Dead / Low / Moderate / Hot / Viral)
- News Feed — Per-coin news with sentiment analysis
Platform
- Auth — Email/password + Google + GitHub sign-in (Better Auth)
- Admin Panel — Manage submissions and users
- Stripe Payments — Premium launch slots (Expedited Review, Trending Placement)
- Rate Limiting — Redis-based anti-spam on votes, comments, and API
- Discord Notifications — New submissions and winner announcements
- Email Notifications — Transactional emails via Resend
- Dark/Light Theme — Full theme support
Quick Start
The committed lockfile is bun.lockb, so Bun is the package
manager this project installs with.
# Clone
git clone https://github.com/nirholas/memescope-monday.git
cd memescope-monday
# Install
bun install
# Configure
cp .env.example .env.local
# Edit .env.local with your keys (see Environment Variables below)
# Database: apply the committed migrations in drizzle/migrations/
bun run db:migrate
# Run
bun run dev
Visit http://localhost:3000
db:migrate applies the migrations that are already in the repo, which is what
you want on a fresh clone. Use db:generate only after you editdrizzle/db/schema.ts, and db:push only to sync a throwaway dev database
without writing a migration. Do not run all three in sequence.
Environment Variables
Required
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
BETTER_AUTH_SECRET |
Auth secret key |
BETTER_AUTH_URL |
App URL for auth callbacks |
NEXT_PUBLIC_URL |
Public app URL |
Crypto Data APIs
| Variable | Description |
|---|---|
HELIUS_API_KEY |
Solana token metadata |
CMC_API_KEY |
CoinMarketCap data |
COINGECKO_API_KEY |
CoinGecko market data |
CRYPTOPANIC_API_KEY |
Crypto news aggregation |
ETHERSCAN_API_KEY |
ERC-20 token data |
Services (Optional)
| Variable | Description |
|---|---|
STRIPE_SECRET_KEY |
Payment processing |
STRIPE_WEBHOOK_SECRET |
Stripe webhook signing |
RESEND_API_KEY |
Transactional emails |
REDIS_URL |
Rate limiting |
DISCORD_WEBHOOK_URL |
Notifications |
PLAUSIBLE_SITE_ID |
Analytics |
TURNSTILE_SECRET_KEY |
Cloudflare bot protection |
See .env.example for the full list.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 15 + React 19 |
| Language | TypeScript 5.8 |
| Styling | Tailwind CSS + shadcn/ui |
| Database | PostgreSQL + Drizzle ORM |
| Auth | Better Auth (email, Google, GitHub) |
| Payments | Stripe |
| Cache | Redis |
| Resend | |
| Files | UploadThing |
| Bot Protection | Cloudflare Turnstile |
| Comments | Fuma Comments |
How Coin Detail Pages Work
When a user submits a coin, they provide the token contract address (or a PumpFun/DexScreener URL). The detail page:
- Auto-detects the token address and chain from the URL
- Fetches data in parallel from PumpFun, DexScreener, CoinGecko, CryptoPanic, and Helius
- Merges into a unified view with live price, market stats, transaction data
- Calculates a Safety Score and Social Buzz Score
- Embeds a DexScreener chart directly on the page
- Links to Solscan/BaseScan/BscScan, Birdeye, PumpFun, and social accounts
Supported URL formats:
- Raw address:
8J69rbLTzWWgUJziFY8jeu5tDwEPBwUz4pKBMr5rpump - PumpFun:
https://pump.fun/8J69rb... - DexScreener:
https://dexscreener.com/solana/... - Solscan:
https://solscan.io/token/... - EVM:
0x...addresses for Base/BNB
Project Structure
app/
├── page.tsx # Homepage with countdown & leaderboards
├── (auth)/ # Auth pages (sign-in, sign-up, reset)
├── dashboard/ # User dashboard & watchlist
├── projects/[slug]/ # Coin detail pages
├── projects/submit/ # Submit new coins
├── trending/ # Browse all coins
├── admin/ # Admin panel
└── api/ # API routes
components/
├── project/ # Coin cards, detail views, charts
├── home/ # Homepage sections & leaderboards
├── layout/ # Nav, footer, auth components
└── ui/ # Base UI components (Radix/shadcn)
lib/
├── auth.ts # Better Auth server config
├── auth-client.ts # Better Auth browser client
├── coin-data/ # Data enrichment (DexScreener, PumpFun, etc.)
├── validations/ # Zod schemas for forms and API input
├── hooks/ # Shared React hooks
└── constants.ts # Launch config, pricing, dates
drizzle/
├── db/schema.ts # Drizzle schema (source of truth)
├── db/index.ts # Database client
└── migrations/ # Generated SQL migrations
mcp/
└── server.ts # Model Context Protocol server (bun run mcp)
scripts/
├── seed-coins.ts # Seed the coin table
├── pumpfun-migration-listener.ts # Long-running PumpFun migration watcher
├── categories.ts # Category bootstrap
└── set-admin.mjs # Promote a user to admin
Scripts
bun run dev # Start dev server (Turbopack)
bun run build # Production build
bun run start # Start production server
bun run lint # ESLint
bun run db:generate # Generate Drizzle migrations from schema.ts
bun run db:migrate # Apply migrations in drizzle/migrations/
bun run db:push # Push schema straight to a dev database
bun run db:studio # Open Drizzle Studio (DB explorer)
bun run db:seed # Seed the coin table (scripts/seed-coins.ts)
bun run mcp # Run the MCP server (mcp/server.ts)
bun run update-launches # Refresh launch data (scripts/update-launches.sh)
The PumpFun migration listener runs as a long-lived pm2 process:
bun run migrations:start # pm2 start ecosystem.config.cjs
bun run migrations:logs # tail its output
bun run migrations:stop # stop it
bun run migrations:listen # run it in the foreground instead of under pm2
Deployment
There is no public deployment right now; hosting is being migrated. The source
of truth is github.com/nirholas/memescope-monday.
The build is a standard Next.js server build, so it runs anywhere that can run
Node:
bun install
bun run build # emits .next/
bun run start # serves it on $PORT (default 3000)
bun run build does not require a reachable database. Every database-backed
route, the sitemap included, is server-rendered on demand. DATABASE_URL and
the rest of the required variables are needed at runtime, not at build time.
vercel.json declares the five cron schedules the app expects
(/api/cron/auto-list-migrations, enrich-coins, update-launches,send-ongoing-reminders, send-winner-notifications). On a host without
Vercel Cron, wire those paths to an equivalent scheduler.
Credits
Built on top of Open-Launch, an open-source product launch platform.
License
All rights reserved. See LICENSE.
Documentation
Full documentation site: https://nirholas.github.io/memescope-monday/
- Getting started covers install and first run.
- Examples has copy-paste snippets.
Star History
Built by nirholas · @nichxbt · github.com/nirholas
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found