# Production Checklist

Before running the Explorer API and indexer in production:

1. **Set a strong `JWT_SECRET`**  
   Do not use the placeholder from the env template. Generate a secure value, e.g.:
   ```bash
   export JWT_SECRET=$(openssl rand -hex 32)
   ```
   See `deployment/ENVIRONMENT_TEMPLATE.env` for all required variables.

2. **Run database migrations**  
   Apply migrations before starting the API and indexer:
   ```bash
   export DB_PASSWORD='<your DB password>'
   bash scripts/run-migration-0010.sh
   ```
   `scripts/run-migration-0010.sh` auto-detects standalone explorer DB vs shared Blockscout DB. Do **not** apply `backend/database/migrations/0010_track_schema.up.sql` directly to a shared Blockscout database.

3. **Configure DB and RPC**  
   Ensure `DB_*`, `RPC_URL`, `WS_URL`, and `CHAIN_ID` are set correctly for the target environment.
