-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
55 lines (45 loc) · 2.28 KB
/
.env.example
File metadata and controls
55 lines (45 loc) · 2.28 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
# Server Configuration
PORT=3001
API_URL=http://localhost:3001
API_KEY=your-secret-api-key-here # Single API key for protected endpoints - set to any secret value you choose
WS_PORT=9091 # WebSocket server port
# Database Configuration
# PostgreSQL connection string
# Format: postgresql://username:password@host:port/database
# Local example: postgresql://user:pass@localhost:5432/percent_db
# AWS RDS example: postgresql://user:pass@host.rds.amazonaws.com:5432/dbname?sslmode=verify-full&sslrootcert=/path/to/certificate.pem
DB_URL=postgresql://username:password@localhost:5432/percent_db
# Database connection for WebSocket LISTEN/NOTIFY (usually same as DB_URL)
DB_LISTEN_URL=postgresql://username:password@localhost:5432/percent_db
# Solana Configuration
# RPC Endpoint for mainnet
# Use a reliable RPC provider like Helius, QuickNode, or public Solana RPC
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
# Helius API Key (optional)
# If provided, uses Helius RPC for improved reliability when fetching token supply
# Get your API key at https://www.helius.dev/
HELIUS_API_KEY=your-helius-api-key-here
# Path to JSON keypair file
# To generate a new keypair:
# solana-keygen new --outfile wallet.json
#
# NEVER commit your actual keypair file to version control!
SOLANA_KEYPAIR_PATH=./wallet.json
# DAMM Pool API Configuration
# URL for the DAMM (Dynamic Automated Market Maker) pool API
# Used for withdrawing/depositing liquidity when creating proposals
DAMM_API_URL=https://api.zcombinator.io
# Encryption Configuration
# Used for encrypting sensitive data (like authority keypairs) in the database
# Generate a secure key with:
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
ENCRYPTION_KEY=your-encryption-key-here
# Logging Configuration
LOG_LEVEL=info # Log level: debug | info | warn | error
LOG_DIR=./logs # Directory for log files (auto-created if doesn't exist)
LOG_TO_CONSOLE=true # Enable console output (set to false in production)
LOG_TO_FILE=true # Enable file output (recommended for production)
# Fee Configuration
# Wallet address to receive trading fees collected from conditional AMMs
# Fees are calculated as: withdrawn amount - deposited amount (remainder after deposit-back)
FEE_WALLET_ADDRESS=your-fee-wallet-address-here