-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
225 lines (191 loc) · 9.45 KB
/
.env.example
File metadata and controls
225 lines (191 loc) · 9.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# ============================================================
# ENVIRONMENT MODE
# ============================================================
# Controls feature availability (locked features in prod)
# Options: dev | prod
# - dev: All features unlocked for testing
# - prod: Restricted features locked (DAO, Exchange, Enter the Order)
# If not set, defaults to 'prod' for safety, or auto-detects from URL
# NEXT_PUBLIC_ENV_MODE=prod
# ============================================================
# APPLICATION URL
# ============================================================
# Public URL of the application (required for OAuth redirects behind reverse proxy)
# For production deployment behind nginx/reverse proxy: https://starworldorder.com
# For local development: leave commented or use http://localhost:3000
# NEXT_PUBLIC_APP_URL=https://starworldorder.com
# ============================================================
# MONAD CHAIN CONFIGURATION
# ============================================================
# Choose either MAINNET or TESTNET configuration below.
# For development/testing, use TESTNET configuration.
# For production deployment, use MAINNET configuration.
# ============================================================
# MAINNET CONFIGURATION (Production)
# ============================================================
# Chain ID: 143 (0x8f)
# Currency: MON, Block Gas Limit: 200,000,000
# Explorer: https://monadscan.com, https://monadvision.com
# RPC URLs:
# - https://rpc.monad.xyz (primary)
# - https://rpc1.monad.xyz, https://rpc2.monad.xyz (backup)
# - https://rpc-mainnet.monadinfra.com
# - https://monad-mainnet.drpc.org
# - https://monad-mainnet.api.onfinality.io/public
NEXT_PUBLIC_MONAD_CHAIN_ID=143
NEXT_PUBLIC_MONAD_RPC_URL=https://rpc.monad.xyz
# ============================================================
# TESTNET CONFIGURATION (Development/Testing)
# ============================================================
# Uncomment these lines and comment out mainnet config above
# Chain ID: 10143 (0x279f)
# Currency: MON (testnet)
# Explorer: https://testnet.monadscan.com
# Faucet: https://faucet.monad.xyz
# RPC URLs:
# - https://testnet-rpc.monad.xyz (primary)
# - https://monad-testnet.drpc.org (backup)
# NEXT_PUBLIC_MONAD_CHAIN_ID=10143
# NEXT_PUBLIC_MONAD_RPC_URL=https://testnet-rpc.monad.xyz
# ============================================================
# CONTRACT ADDRESSES
# ============================================================
# Skrumpeys NFT Collection on Monad (mainnet)
NEXT_PUBLIC_SKRUMPEY_CONTRACT=0xb0dad798c80e40dd6b8e8545074c6a5b7b97d2c0
# For testnet, deploy your own test NFT contract and set the address here:
# NEXT_PUBLIC_SKRUMPEY_CONTRACT=0x...
# OTC Marketplace Contract (set when deployed)
# NEXT_PUBLIC_MARKETPLACE_CONTRACT=
# Governance Contract (set when deployed)
# NEXT_PUBLIC_GOVERNANCE_CONTRACT=
# Staking Contract (set when deployed)
# NEXT_PUBLIC_STAKING_CONTRACT=
# ============================================================
# DAO TREASURY CONFIGURATION
# ============================================================
# Treasury address receives fees from marketplace sales and staking
# NEXT_PUBLIC_DAO_TREASURY_ADDRESS=
# Fee in basis points (250 = 2.5%, 100 = 1%, 500 = 5%)
# Default: 250 (2.5%)
NEXT_PUBLIC_DAO_FEE_BPS=250
# ============================================================
# WALLET CONFIGURATION
# ============================================================
# WalletConnect Project ID (optional, for enhanced wallet support)
# Get a free project ID at https://cloud.walletconnect.com/
# NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=
# ============================================================
# DEVELOPMENT OPTIONS
# ============================================================
# ┌─────────────────────────────────────────────────────────────┐
# │ DEVELOPMENT ACCESS BYPASS │
# │ │
# │ Allows viewing ALL protected pages without: │
# │ • Connecting a wallet │
# │ • Holding a Star Skrumpey NFT │
# │ │
# │ HOW TO ENABLE: │
# │ 1. Copy this file to .env.local: │
# │ cp .env.example .env.local │
# │ 2. Uncomment and set to true: │
# │ NEXT_PUBLIC_DEV_ACCESS_ENABLED=true │
# │ 3. Start dev server: npm run dev │
# │ 4. Visit http://localhost:3000/hangout (or any page) │
# │ │
# │ SECURITY: Only works in development (NODE_ENV=development) │
# │ Production builds completely ignore this setting. │
# └─────────────────────────────────────────────────────────────┘
# NEXT_PUBLIC_DEV_ACCESS_ENABLED=false
# ============================================================
# ADMIN CONFIGURATION
# ============================================================
# Admin wallet address for the /admin_xyz dashboard
# Only this wallet can access admin functions (cache clearing, notifications, etc.)
# Default:
# NEXT_PUBLIC_ADMIN_WALLET=
# Cron auth secret for scheduled endpoints (/api/cron/*)
# Required in production. Cron routes are fail-closed in production when missing.
# CRON_SECRET=replace-with-strong-random-secret
# ============================================================
# SOCIAL CONNECT OAUTH CONFIGURATION
# ============================================================
# Discord OAuth2 Configuration
# Create an app at https://discord.com/developers/applications
# Required scopes: identify
# NEXT_PUBLIC_DISCORD_CLIENT_ID=
# DISCORD_CLIENT_SECRET=
# NEXT_PUBLIC_DISCORD_REDIRECT_URI=http://localhost:3000/api/auth/callback/discord
# X (Twitter) OAuth 2.0 Configuration
# Create an app at https://developer.twitter.com/
# Required scopes: users.read, tweet.read, offline.access
#
# Steps to configure:
# 1. Go to https://developer.twitter.com/en/portal/projects-and-apps
# 2. Create a new app or select existing one
# 3. Set up OAuth 2.0 settings under "User authentication settings"
# 4. Add callback URLs:
# - For development: http://localhost:3000/api/auth/callback/x
# - For production: https://starworldorder.com/api/auth/callback/x
# 5. Copy Client ID and Client Secret to your .env.local
#
# NEXT_PUBLIC_X_CLIENT_ID=<your-client-id>
# X_CLIENT_SECRET=<your-client-secret>
# NEXT_PUBLIC_X_REDIRECT_URI=http://localhost:3000/api/auth/callback/x
# For production, use: https://starworldorder.com/api/auth/callback/x
# Optional OAuth token encryption-at-rest key (recommended for production)
# Accepted formats:
# - 64 hex chars (32 bytes): TOKEN_ENCRYPTION_KEY=<64-char-hex>
# - Base64 for 32 raw bytes: TOKEN_ENCRYPTION_KEY=<base64-32-byte-key>
# Example generator (hex): openssl rand -hex 32
# TOKEN_ENCRYPTION_KEY=
# ============================================================
# DATABASE CONFIGURATION
# ============================================================
# SQLite Database Path (for social connections and other persistent data)
# Default: ./data/swo.db
# DATABASE_URL=file:./data/swo.db
# ============================================================
# BLOCKVISION API CONFIGURATION
# ============================================================
# BlockVision provides Monad Indexing APIs for fetching NFT holdings,
# token balances, and account activity.
#
# Register at https://blockvision.org to get your API key.
#
# Free Tier Limits:
# - 10,000,000 Compute Units/month
# - 300 Compute Units/second
# - Retrieve Account's NFTs: 300 CU per call
#
# Documentation: https://docs.blockvision.org/reference/retrieve-monad-account-nfts
# API Key for BlockVision Monad Indexing API
# BLOCKVISION_API=your-api-key-here
# BlockVision RPC endpoint (optional, alternative to default RPC)
# BLOCKVISION_RPC=https://monad-mainnet.blockvision.org/v1/your-api-key
# BlockVision WebSocket endpoint (optional, for real-time updates)
# BLOCKVISION_WEBSOCKET=wss://monad-mainnet.blockvision.org/v1/your-api-key
# ============================================================
# SNAPSHOT.ORG CONFIGURATION (Optional)
# ============================================================
# Snapshot provides decentralized vote verification for the DAO.
# Star World Order uses a hybrid model:
# - PRIMARY: Database-backed voting (fast, free, instant)
# - VERIFICATION: Snapshot for cryptographic proof (optional)
#
# Setup your Snapshot space at https://snapshot.org
# See docs/SNAPSHOT_SETUP.md for detailed instructions.
#
# Snapshot Space ID (ENS name or custom space ID)
# Example: starworldorder.eth or starworldorder
# NEXT_PUBLIC_SNAPSHOT_SPACE=
#
# Snapshot Hub URL (default: https://hub.snapshot.org)
# NEXT_PUBLIC_SNAPSHOT_HUB=https://hub.snapshot.org
# ============================================================
# REFERENCE: EXPLORER URLs
# ============================================================
# Mainnet:
# - Monad Vision: https://monadvision.com
# - Monadscan: https://monadscan.com
# Testnet:
# - Testnet Monadscan: https://testnet.monadscan.com