Development Fund Proposal: Canton Network dApp SDK and Tooling
| Field | Value |
|---|
| Author | joel-da |
| Org | Digital Asset |
| Status | Approved |
| Created | 2026-03-10 |
| Approved | 2026-04-29 |
| PR | #69 |
Abstract
Following the approval of the Canton dApp API Standard (CIP-0103), a preview version of the dApp SDK was released and is successfully being used by the Wallet Gateway. This proposal outlines a grant for Digital Asset to continue the core development required to deliver an open source company agnostic, production-ready dApp SDK and connectivity ecosystem. While foundational architecture is in place, significant core software engineering remains to build the production SDKs, develop turn-key UI components, abstract away differences between dApp API and direct Ledger API connections for Wallet SDK compatibility, and finalize security audits. We will deliver universal wallet discovery components, integrate Wallet Connect as a core capability, execute rigorous internal and external security audits, and build an automated compliance test suite. Beyond core engineering, this grant funds dedicated, hands-on integration support to drive widespread ecosystem adoption, explicitly targeting full CIP-103 compliance across the network's top-tier dApps and major wallet platforms. This ensures that the foundational work of CIP-103 transitions into a secure, mass-adopted reality.
Motivation & Rationale
The Challenge:
Without a standard, every application developer must build custom integrations for every wallet they want to support. This creates high barriers to entry and "vendor lock-in", where users are forced to use specific wallets just to access specific dApps. Furthermore, while the dApp API (CIP-0103) and the preview version dApp SDK successfully decoupled the Application Layer from the Connectivity Layer, realizing a truly unified network requires eliminating implementation friction for developers and ensuring strict, audited security for all type users.
Evidence of Demand and Ecosystem Alignment:
Recent Foundation research points to the integration bottleneck as one of the main barriers for dApp builders. Developers consistently highlighted the technical debt and operational overhead of building and maintaining custom wallet connectors. That work is costly, slows teams down, and makes it harder to scale. This proposal addresses those friction points directly. It also moves the network closer to the interoperability envisioned in CIP-0103, while reducing time to market for new decentralized applications.
Digital Asset is already working closely with the main drivers of network activity to make sure this tooling meets the needs of real production environments. We are in active technical discussions with many of the leading dApps and wallet providers in the ecosystem, and there is strong interest in a standardized implementation through this SDK. While we are not naming specific institutional partners or high-volume dApps in this public proposal, we are prepared to share that information privately with the Tech & Ops Committee to respect the private nature of these engagements. We can provide the current pipeline of engaged partners, the technical feedback gathered through early-access discussions, and the status of their integration plans. This gives the Committee the context needed to assess the strategic importance of the project while respecting the discretion of those ongoing engagements.
From day one, we have planned this SDK in close collaboration with ecosystem participants. Through ongoing validation with both retail and institutional partners, we have made sure the architecture reflects real-world security, compliance, and functional requirements from the start
The Rationale:
This investment funds the critical core engineering required to finalize the CIP-0103 ecosystem. With the standard defined and approved, this phase requires substantial software engineering to develop the core SDKs, build the testing frameworks, abstract away differences between dApp API and direct Ledger API connections for Wallet SDK compatibility, and create standardized discovery components that transform the specification into an Open Source production-ready toolkit.
Value & Ecosystem ROI:
- Open-Source & Vendor-Neutral Foundation: Developed under the Splice umbrella, this initiative delivers a fully open-source, company-agnostic codebase for the entire network. Ecosystem developers and providers are empowered to utilize the standard libraries as a baseline, extract specific modular components, or freely build custom architecture on top of them. This guarantees maximum flexibility and ensures the SDK serves as a shared public good.
- Instant Interoperability (Time-to-Market): A standardized Wallet Discovery library and Wallet Connect integration dramatically reduce time-to-market by replacing custom wallet integrations with a single plug-and-play library. By utilizing the standard library, a Canton Network dApp developer can achieve compatibility across all CIP-103 compliant wallets in a matter of hours, eliminating redundant engineering effort per dApp.
- Compatibility: Wallet Providers will benefit from compatibility with any dApp that relies on the SDK, independent of the wallets’ deployment model.
- Production Grade Security: Formal internal and external audits build market credibility, establishing the standard as production-grade and fostering trust among institutional custodians and builders.
- Zero-Friction Migration: By architecting backward compatibility with the existing Wallet SDK, we maximize utility for the current developer base without forcing costly migrations.
- Guaranteed Consistency: The Wallet Provider Compliance Test Suite eliminates the risk of partial or flawed implementations, ensuring a consistent, reliable experience for end-users and dApps.
Specification & Implementation
The requested allocation supports the work from Digital Asset to expand the CIP-0103 ecosystem. With the standard defined and approved, this phase focuses heavily on developing the core SDK and building the necessary testing frameworks. The implementation will be executed across the following core technical domains:
-
Core SDK Development: Engineering the foundational TypeScript/JavaScript SDKs that serve as the universal integration layer for Canton Network dApps. This involves building out the complete set of standard APIs for transaction building, state querying, synchronous and asynchronous signing flows to ensure developers have a production-ready toolkit.
-
Discovery Library: Developing open-source React/TypeScript UI components for universal wallet discovery. Add support for WalletConnect as a natively supported client.
* Image of the discovery screen that will allow users to connect any CIP-0103 wallet to a dApp
-
Internal and External Security Audits: Conducting internal and external security audits to mitigate technical risks and ensure the core architecture is production ready.
-
Abstraction & Backward Compatibility: Architect a provider layer that abstracts away the differences between ledger connections made via the new dApp API and those made directly to the Ledger API. This ensures seamless interoperability with the widely-adopted Wallet SDK, maximizing utility for our current developer base and allowing existing dApps to upgrade their connectivity without creating migration friction or needing to rewrite their core application logic.
![][image2]
* Illustration on how the provider solves the uniform and interoperable interaction with the ledger across different client scenarios
-
Testing Framework: Building a standalone, automated integration test suite. This provides a measurable, objective framework that Wallet Providers can run against their own systems to test full CIP-103 support.
Milestones and Deliverables
This proposal covers the new work required to expand an existing production foundation into shared infrastructure for the broader ecosystem.
An early version of these SDKs and APIs were developed as a requirement for Wallet Gateway, which was needed for a key new partner coming into the ecosystem that, for obvious reasons, we cannot mention. That work established the foundation already in use today.
This proposal builds on that foundation to deliver a company-agnostic, ecosystem-standard SDK with broader wallet and dApp compatibility, continued UX and product refinement, and the security, compliance, and adoption support needed for wider use across the Canton Network.
Adoption Reporting
To provide the Committee with continuous visibility into ecosystem impact, we will track adoption of CIP-103 by top-tier dApps and Wallets. Adoption progress will be measured across three stages, and an updated Adoption Progress Report will be submitted as a required deliverable with every milestone.
Adoption Lifecycle:
- Committed: The entity has formally agreed to adopt CIP-103.
- Work-in-Progress: Active integration is underway using the SDK or Wallet Discovery components.
- Compliant: The integration is complete, verified by the compliance test suite, and ready in production.
Milestone 1: SDK v1 & Wallet Discovery
- Standardized Wallet Discovery Library: Deliver an Open Source, turn-key, reusable library that enables dApps to achieve instant interoperability with all compliant wallets. This is a crucial market-acceleration feature designed to significantly reduce the time-to-market for dApp developers and lower adoption barriers.
- Acceptance Criteria: dApps can implement a single component that will give them interop with all CIP-103 compliant wallets. Automated CI/CD reporting confirms >80% Unit Test Coverage.
- dApp SDK v1.0: Deliver an Open Source, company-agnostic SDK that provides architectural alignment with the Canton Network’s vision for dApp connectivity. Developed under the Splice umbrella as a shared public good, it provides a highly modular, agnostic codebase.
- Acceptance Criteria: Public release of the v1.0 SDK.
- Integration of WalletConnect: Establish WalletConnect as a first-class citizen. This integration broadens our ecosystem's reach, ensuring compatibility across a wider array of Wallet Providers.
- Acceptance Criteria: Wallet Discovery Library supports WalletConnect
- Successful Internal Security and Code Audit: Complete a rigorous internal audit to mitigate technical and security risks prior to wider market exposure. The formal process will validate the core architecture and ensure a high-quality, stable foundation for all future integrations.
- Acceptance Criteria: An internal audit document with findings is attached to the repo, and requested changes are made.
- Adoption Lifecycle Report: Submission of the initial Adoption Progress Report
Milestone 2: Compliance & Abstraction
- Achieve interoperability with Wallet SDK: Architect a provider layer that abstracts ledger connectivity, ensuring compatibility with the widely-adopted Wallet SDK. This strategic move maximizes utility for our existing developer base and extends the reach of our new functionalities without creating developer migration friction.
- Acceptance Criteria: Wallet SDK functionalities are successfully accessible via the new provider architecture.
- Wallet Provider Compliance Test Suite: Implement a transparent, objective verification mechanism (Test and Integration Suite) to validate Wallet Provider adherence to the dApp standard (CIP-103). This initiative is critical for maintaining the health of the ecosystem, eliminating partial implementations, and guaranteeing a consistent, reliable experience for end-users and dApps.
- Acceptance Criteria: The compliance test and integration suite is successfully published and utilized by Wallet Providers.
- Adoption Lifecycle Report: Submission of the Adoption Progress Report
Milestone 3: Security & DX
- External Code Audit: Secure external, third-party validation by commissioning a full-scope security audit. This is a critical step for building market credibility, fostering trust, and establishing the standard as enterprise-grade.
- Acceptance Criteria: Successful completion of the external audit with all critical and high issues addressed.
- Launch of a Reference dApp: Deploy a public, exemplary dApp that serves as a best-practice blueprint for new builders. This resource will accelerate developer onboarding, reduce implementation errors, and drive the adoption of high-quality, standard-compliant dApps across the ecosystem.
- Acceptance Criteria: Reference dApp is Open Source available and connects successfully with CIP-103 compliant wallets.
- Developer Documentation and Knowledge Base: A dedicated, ongoing effort to create and maintain comprehensive documentation, tutorials, and knowledge-sharing assets. This is essential for lowering the barrier to entry, ensuring developer success, and scaling community support.
- Acceptance Criteria: SDK schema and integration documentation published to the repository.
- dApp Starter Template: A command-line tool to generate a production-ready template for dApp UI development.
- Acceptance Criteria: Installable NPM package
- React Wrapper Library: for developer convenience, a React wrapper around the SDK functionality is provided. This wrapper exposes the SDK through idiomatic React patterns such as hooks and context providers, allowing React applications to integrate dApp functionality without directly interacting with the lower-level SDK APIs.
- Acceptance Criteria: Full coverage of the SDK methods; Installable NPM package
- Adoption Lifecycle Report: Submission of the Adoption Progress Report
Milestone 4: Ecosystem Adoption
- dApps adoption of the CIP: Drive broad support and formal adoption of the CIP standard across top-tier dApps. Help dApps implement the CIP correctly and make their products compatible with the standard.
- Acceptance Criteria: 80% of the top 15 dApps by rewards received in the last 90 days support CIP-0103. The snapshot of the top 15 dApps will be taken on the last day of Q3 using public explorers.
- Wallet Provider adoption of the CIP: Focus on enabling and securing adoption of the CIP standard across the wallet ecosystem.
- Acceptance Criteria: 80% of the top 10 wallets by rewards received in the last 90 days fully support CIP-0103. The snapshot of the top 10 wallets will be taken on the last day of Q3 using public explorers. Wallets will be tested with the Wallet Provider Compliance Test Suite to verify full support.
Methodology for Identifying Top Entities
To keep the measurement framework objective and transparent", top entities" are defined using verifiable on-chain activity.
- Top dApps are the 15 applications that received the highest volume of network rewards over the trailing 90-day period.
- Top wallets are the 10 wallet providers associated with the highest volume of network rewards over the trailing 90-day period.
These rankings are based on public data available through network explorers. For each Adoption Progress Report, we will take a snapshot of the current top entities at the end of the relevant milestone period. This ensures the target list stays aligned with the most active participants in the network.
4. Maintenance
This proposal requests funding strictly for the activity required to execute the development of the dApp API and SDK and its defined milestones. It does not request funding for ongoing operational maintenance. Upon the successful completion of milestones, the day-to-day maintenance will seamlessly roll into the purview of the active 2026-Maintenance Grant for Wallet Kernel Open Source.
The infrastructure will continue to be maintained after delivery, with support for bug fixes, new wallet adapters, and feature enhancements needed to stay compatible with evolving browser standards and new wallet providers across the Canton Network.
The dApp SDK and connectivity tools are hosted in the Splice repository under Hyperledger Labs, giving the ecosystem a clear and transparent path to contribute through issues, feature requests, and pull requests. All contributions follow the same code quality, CI/CD, and security standards as the core codebase.
Operating under the Splice umbrella also ensures neutral, ecosystem-driven governance. These tools are intended as shared public infrastructure for the Canton Network, with oversight from the Tech & Ops Committee to support long-term alignment with CIP-103 and other foundational standards.
5. Funding
- Total Funding Request: 8,170,000 Canton Coin (CC)
- Maintenance: Not needed
Funding Breakdown by Milestone:
| Milestone | Target Deadline | Funding Request |
|---|
| Milestone 1: SDK v1 & Wallet Discovery | End of Q2 2026 | 1,500,000 CC |
| Milestone 2: Compliance & Abstraction | End of Q3 2026 | 1,500,000 CC |
| Milestone 3: Security & DX | End of Q4 2026 | 2,170,000 CC |
| Milestone 4: Ecosystem Adoption | End of Q4 2026 | 3,000,000 CC |
Budget Allocation:
The requested budget is intentionally concentrated on the work required to deliver usable, adoption-ready infrastructure.
Roughly 80% will support core product, engineering, and design efforts, including SDK and connectivity development, UX/UI design, partner collaboration on specifications and protocol evolution, and the hands-on support needed to enable adoption across wallets, dApps, and other ecosystem participants like WalletConnect.
The remaining 20% will cover security, external audit costs, and compliance work, including validation and tooling to ensure reliability and alignment with ecosystem standards.
Timeline Accountability & Risk Management
- Volatility Stipulation: As this project is expected to be completed within 10 months, the grant is denominated in fixed Canton Coin, and the proposer assumes price volatility risk.
- Acceleration Bonus: If all final Q4 2026 deliverables (Milestones 3 & 4) are met, audited, and approved 30 days prior to the Estimated Delivery date, a +5% bonus on the final payout will be awarded.
- Late Penalty: For every 30 days of delay beyond the estimated delivery dates for any milestone, the payout for that specific milestone will be reduced by 5%, capped at a maximum 20% penalty per milestone.
Co-Marketing
To accelerate the adoption of this standard across the Canton Network, the Foundation is requested to provide the following DevRel and co-marketing support:
- Collaboration on educational and promotional content, which may include developer tools overview blogs and major milestone announcements (such as audit completions or the WalletConnect integration).
- Hosting and promoting virtual or in-person workshops demonstrating how builders can interact with the Reference dApp and utilize the new Discovery library.
[image2]: <data:image/png;base64,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