Users should see transfer status changes instantly instead of refreshing. Build a real-time status stream for our P2P payments app: when a user starts a transfer, the app opens a WebSocket and subscribes to that specific transaction. The server should push status updates (e.g., PENDING → COMPLETED/FAILED) from our Postgres source of truth or processing events, and close the connection with a clear code if the transactionId is invalid or the user isn’t authorized. Use Fastify (Node.js) with WebSockets, and secure the upgrade with a JWT. Endpoint example: ws://api.example.com/v1/payments/status. On connect, the client sends {"action":"subscribe","transactionId":"txn_123abc"}; the server pushes messages like {"transactionId":"txn_123abc","status":"COMPLETED","timestamp":"2023-10-27T10:00:00Z"}. Track active connections and message throughput in Prometheus and visualize in Grafana.