Title: chore(env): clean up .env.example — remove duplicate JWT block and align with src/config/env.ts
Body:
User story
As a new contributor,
I want .env.example to list each required variable once with correct names,
so that I can copy it to .env and start the server without guessing which JWT_* block is authoritative.
Description
.env.example currently has duplicate JWT_SEED sections and mixed naming. src/config/env.ts uses requireEnv() for several keys; the example file should mirror that contract exactly (placeholders only).
Requirements
Remove duplicate JWT_SEED blocks; keep a single JWT section.
Ensure every requireEnv('...') key from src/config/env.ts appears in .env.example with a clear placeholder (or explicitly marked optional if truly optional).
Align Stellar-related names with the outcome of the “agent secret key” unification issue (same canonical name everywhere).
Quick consistency pass: PORT, NODE_ENV, DATABASE_URL, REDIS_URL, Twilio vars, JWT TTL vars—no contradictions.
Acceptance criteria
[ ] .env.example contains no duplicate keys for the same concept (especially JWT_SEED).
[ ] Variable names match what src/config/env.ts expects at startup.
[ ] A short comment at the top explains: “copy to .env and fill values.”
Title: chore(env): clean up .env.example — remove duplicate JWT block and align with src/config/env.ts
Body:
User story
As a new contributor,
I want .env.example to list each required variable once with correct names,
so that I can copy it to .env and start the server without guessing which JWT_* block is authoritative.
Description
.env.example currently has duplicate JWT_SEED sections and mixed naming. src/config/env.ts uses requireEnv() for several keys; the example file should mirror that contract exactly (placeholders only).
Requirements
Remove duplicate JWT_SEED blocks; keep a single JWT section.
Ensure every requireEnv('...') key from src/config/env.ts appears in .env.example with a clear placeholder (or explicitly marked optional if truly optional).
Align Stellar-related names with the outcome of the “agent secret key” unification issue (same canonical name everywhere).
Quick consistency pass: PORT, NODE_ENV, DATABASE_URL, REDIS_URL, Twilio vars, JWT TTL vars—no contradictions.
Acceptance criteria
[ ] .env.example contains no duplicate keys for the same concept (especially JWT_SEED).
[ ] Variable names match what src/config/env.ts expects at startup.
[ ] A short comment at the top explains: “copy to .env and fill values.”