---
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

<!-- SECTION:DESCRIPTION:BEGIN -->
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.
<!-- SECTION:DESCRIPTION:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
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.
<!-- SECTION:FINAL_SUMMARY:END -->
