--- id: TASK-113 title: Braid transport toggle + SimpletonClient integration (payment-infra) status: Done assignee: [] created_date: '2026-03-15 19:14' labels: - payment-infra - braid - consensus dependencies: [] references: - payment-infra/docker-compose.yml - payment-infra/services/wallet-service/src/services/braid-state-client.ts - payment-infra/services/onramp-service/src/braid-state-client.ts - payment-infra/services/consensus-service/docs/NODE_OPERATOR_GUIDE.md priority: medium --- ## Description Added TRANSPORT env var to payment-infra docker-compose.yml for all consensus nodes (default: websocket, set to 'braid' for single-port HTTP sync). Created BraidStateClient (Simpleton pattern) for wallet-service and onramp-service — zero-CRDT light client via Braid-HTTP subscription. Wallet-service balance reads use local cache when Braid connected. Onramp-service escrow-watcher monitors deposit confirmations via Braid. Updated NODE_OPERATOR_GUIDE.md with transport modes docs. ## Final Summary Completed payment-infra tasks 19, 20, 21. TRANSPORT env var on all 4 consensus nodes + wallet-service + onramp-service. Traefik /braid path routing. BraidStateClient in both consumer services with auto-reconnect. Merged to main.