Incident playbook
Horizon outage or slowness
Symptoms: users see "The Stellar network is unreachable", trades pile up in Locking escrow, Releasing XLM or Refunding seller, logs show Horizon request failed.
- Check Stellar status and your Horizon provider.
- Don't manually change trade statuses — reconciliation settles them once Horizon responds.
- Post a notice to users that trades may take longer.
- If the outage is prolonged, switch
HORIZON_URLto another provider on the same network and restart. - Afterwards, filter Trades by the transitional statuses and confirm the list drains.
Payment windows expiring during an outage
Auto-refunds also need Horizon, so they queue up and run when it's back. Buyers who paid but couldn't mark paid should contact support with their trade ID and receipt.
Suspected fraud ring
- Search Users for shared payout account numbers or similar names.
- Review their trades' chats and receipts.
- Suspend accounts — active orders are cancelled automatically; in-progress trades continue.
- Record evidence before banning.
Platform key exposure
Treat as critical.
- Put the platform in maintenance (stop the API) to prevent new escrows.
- Generate a new platform key.
- For each open escrow, settle trades while the old key still controls them.
- Deploy the new
PLATFORM_SECRET_KEYand restart. - Review Stellar history of all escrow accounts for unexpected operations.
Email delivery failures
Registration still succeeds; users can use Resend email. Check SMTP credentials and provider dashboards. Verification links can also be generated by updating emailVerifyTokenHash in the database in an emergency.