Go-Live Checklist for Token Teams
Complete every item before opening bridge access publicly. If any control fails, fix and retest first.
A. Server and Process Readiness
npm run setup:servercompleted successfully.- Setup wizard completed and saved without validation errors.
npm run setup:finalizecompleted successfully.npm run pm2:statusshows frontend and backend online.- Domain resolves correctly and HTTPS is active.
- Firewall allows only expected public ports (
80/443).
B. Configuration Integrity
- External chain preset, chain ID, and RPC match intended deployment chain.
- BESC RPC and chain ID are correct.
- All token addresses are verified for primary and secondary lanes.
- Signer private key is valid and funded for runtime gas costs.
- If BESC side is
vault, configured BESC signer addresses match signer wallet. - Decimals are exact on-chain matches for every configured token/mint.
homeSideModeandbescSideModereflect contract capabilities.
C. Data Layer Reliability
- Redis is reachable from backend and stable.
- PostgreSQL is reachable from backend and stable.
- Schema initialization completed.
- Queue/scanner state survives restart without drift.
D. Security and Access Control
- Frontend requests include valid API key.
- Setup overwrite protection is enabled with
SETUP_SECRET(recommended). - No signer private key appears in git, docs, or screenshots.
- SSH access is key-based and restricted.
E. Functional Test Matrix (Small Amounts)
- Primary token: external -> BESC success.
- Primary token: BESC -> external success.
- Secondary token: external -> BESC success.
- Secondary token: BESC -> external success.
- If Solana enabled: test both directions for both token lanes.
- For every test, validate tx confirmation, queue completion, and final received amount.
- Confirm no over-mint, under-mint, or rounding drift.
F. Failure Drills
- Invalid API key is rejected.
- Invalid wizard decimal format is blocked.
- Invalid address format is blocked.
- Non-exact decimal conversion is rejected safely.
- PM2 restart recovers cleanly without transaction loss.
Launch Decision
Go live only if all checklist sections pass and no unresolved queue/scanner errors remain in logs.
If your home chain cannot support full burn/mint flows, use
vault mode on that side and keep
BESC side mode independent based on your token design.