Proposal: Wallet SDK Payment Lifecycle Completeness
Development Fund Proposal Submission
Proposal file: wallet-sdk-payment-lifecycle.md
---
Summary
The wallet team is building Utility Registry token pre-approvals now. Once that lands, three gaps become the next real problem for any wallet team using it: pre-approvals expire silently, there is no unified read path for transaction history across registries, and there is no standard way for one Canton wallet to request a payment from another. This proposal closes all three as a single scope — payment lifecycle completeness for the wallet SDK.
Scope: pre-approval expiry tracking and renewal; unified multi-registry transfer history; Canton payment request URI format with SDK parser and builder. All contributed upstream to canton-network/wallet. 600,000 CC over 4 milestones (including external security audit), 23 weeks, 325 estimated hours.
---
What's Updated from Prior Submission
- Removed Proposal 2 reference — this proposal is fully standalone
- Added task-level hours breakdown table per milestone (325h total)
- Added week-by-week roadmap (23 weeks)
- Added Milestone 4: external security audit with remediation and published report
- Funding redistributed across 4 milestones within the same 600,000 CC total
---
Checklist
- [x] Proposal file added under
/proposals/ - [x] Milestones and funding amounts defined with hours breakdown
- [x] Acceptance criteria included
- [x] Alignment with Canton priorities described
- [x] External audit milestone included
---
Notes for Reviewers
The pre-approval expiry and history gaps are direct follow-ons to the pre-approval work currently in progress. The payment request format fills the interoperability gap that appears the moment two wallets both implement the transfer path — without a shared URI format there is no way for them to exchange payment requests. The spec is proposed as a CIP so any wallet can implement it independently.