Skip to content

⚙️ Configuration & Environment

Nexora uses type-safe environment validation powered by Zod and Dotenv.


📋 Environment Variables Breakdown

All configuration keys are documented in .env.example:

bash
# Node Environment ('development' | 'production')
NODE_ENV=production

# ------------------------------------------------------------------------------
# 1. DISCORD CREDENTIALS (Required)
# ------------------------------------------------------------------------------
DISCORD_TOKEN="your_discord_bot_token"
DISCORD_CLIENT_ID="866896791269933067"

# Optional: Guild ID for instant command registration during testing
DEV_GUILD_ID=""

# Optional: Comma-separated Discord User IDs who have developer access
DEV_IDS=""

# ------------------------------------------------------------------------------
# 2. DATABASE CONFIGURATION (Required)
# ------------------------------------------------------------------------------
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/nexora_db?schema=public"

# ------------------------------------------------------------------------------
# 3. EXPLORER & CRYPTO API KEYS (Optional for higher rate limits)
# ------------------------------------------------------------------------------
COINGECKO_API_KEY=""
ETHERSCAN_API_KEY=""
BSCSCAN_API_KEY=""
POLYGONSCAN_API_KEY=""
CRYPTOPANIC_API_KEY=""

🗄️ Database Setup (PostgreSQL)

Nexora relies on PostgreSQL to persist:

  1. Monitored Wallets (TrackedWallet model)
  2. Price Alerts (PriceAlert model)
  3. User Portfolios (PortfolioItem model)
  4. Guild Channel Settings (GuildConfig model)
  5. Airdrop Notification Cache (AirdropCache model)

Prisma CLI Helper Commands

  • Generate Prisma Client: npm run db:generate
  • Sync schema directly to database: npm run db:push
  • Create and apply migration: npm run db:migrate