Environment Variables
Complete reference for configuring SHIELD.Required Variables
Database
Authentication
Blockchain RPC
Smart Contracts
WalletConnect
IPFS (Pinata)
PINATA_JWT: Server-side JWT for IPFS operationsNEXT_PUBLIC_PINATA_API_KEY: Client-side restricted key for uploads
Upgrade Payments
- Upgrade wallet: Where USDC payments are sent
- USDC contract: Base mainnet USDC token address
Optional Variables
Application URLs
Admin Configuration
Cron Jobs
Third-Party APIs
Monitoring
Configuration by Environment
Development
Production
Security Best Practices
❌ Never Commit
✅ Safe to Expose (NEXT_PUBLIC_*)
Platform-Specific
Vercel
Add in Project Settings → Environment Variables:| Name | Value |
|---|---|
| POSTGRES_URL | postgresql://… |
| JWT_SECRET | … |
| PINATA_JWT | eyJ… |
| NEXT_PUBLIC_CONTRACT_ADDRESS | 0x… |
| … | … |
Troubleshooting
| Symptom | Likely Cause |
|---|---|
| ”JWT_SECRET is missing” | JWT_SECRET not set |
| ”POSTGRES_URL is missing” | Database URL not configured |
| IPFS upload fails | PINATA_JWT invalid or expired |
| Contract calls fail | NEXT_PUBLIC_CONTRACT_ADDRESS wrong |
| Database connection fails | POSTGRES_URL malformed |

