Messaging / Payments Hardening Runbook
Purpose
This is the narrow operator/developer runbook for the messaging, call, and payments stack after the hardening pass.
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 90_stabilization | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 90 days
Approval authority: Unspecified
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary platform is originally created in Georgian. Where a Georgian version exists, Georgian is authoritative for platform UI, documentation, and legal interpretation.
Translations into other languages are provided for convenience. Some records may originate in other languages and carry their own source or legal locale for a specific flow, but where a Georgian version is available, the Georgian version prevails for platform-level wording and interpretation.
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
This is the narrow operator/developer runbook for the messaging, call, and payments stack after the hardening pass.
It covers:
http://127.0.0.1:4001/api/v1/healthhttp://127.0.0.1:4026/healthhttp://127.0.0.1:4027/healthhttp://127.0.0.1:4591/healthThe messaging health payload now reports:
The payments health payload now reports:
ready for real transfer executionok reflects local service health.
ready reflects whether the configured real-transfer path is usable.
Set these in local development when testing real Algorand transfers:
MESSAGING_SERVICE_URL=http://localhost:4026PAYMENTS_SERVICE_URL=http://localhost:4027PAYMENTS_ALGORAND_MODE=TESTNET_SIGNERALGOD_TESTNET_URL=https://testnet-api.algonode.cloudALGORAND_SIGNER_URL=http://127.0.0.1:4591/sign/algorand/paymentALGORAND_SIGNER_MNEMONIC=...Never commit a real mnemonic.
The dev signer is still a deliberate trust boundary for local/test usage.
For payment signing it now:
svc-paymentsThe web live connection now:
onlinefocusThe call shell now revalidates the active call when the websocket transport reopens.
Run:
npm run smoke:messaging-payments
Optional real-transfer readiness mode:
MESSAGING_PAYMENTS_SMOKE_EXPECT_SIGNER=1 npm run smoke:messaging-payments
The smoke script validates:
npm run signer:dev
svc-payments /health reports ready: true.payment_intent -> payment_pending -> payment_confirmed