# dAppBooster Canton > dAppBooster Canton is a free, open-source development stack for Canton dApps. It ships canton-base (a Dockerised local Canton participant), the Carpincho browser-extension wallet, and a Counter reference app (Daml package, wallet-service bridge, and React frontend), so you can run a full Canton flow locally and fork it for your own dApp. Last-Updated: 2026-06-01 ## Overview Open-source dev stack for Canton dApps: the Carpincho browser wallet (CIP-0103, WalletConnect) and a Counter reference app you can run locally end-to-end. dAppBooster includes an end-to-end example. Run it, fork it, or read it as a starting point. The example exercises every step of the loop: write a Daml template, deploy the DAR, pair the browser wallet, and sign a real Canton transaction. ## Approach The official Canton Network Application Quickstart is a complete enterprise-style demo built by Digital Asset. It is scaffolding for shipping a real Global Synchronizer application, and includes preconfigured users, known parties, OIDC login via Keycloak, a Spring Boot backend service, PQS instances, JSON Ledger and Validator admin APIs, App Name Service and Scan UIs, an end-to-end install / license / renew workflow, an observability stack (Grafana, Prometheus, Loki, Tempo), and a multi-actor local network (built on Splice LocalNet) closer to production. That is useful when the goal is to understand the full production-oriented stack. dAppBooster solves a different problem: a fast Canton dApp development loop. The two starting points differ in shape - **Quickstart**: login → Canton user → party rights → backend-mediated app - **dAppBooster**: browser wallet key → external party → cryptographic signature → Canton transaction Parties are still central. We are not removing the Daml party model. We are simplifying the user layer during local development, so an individual developer can write Daml, deploy a DAR, and execute a real wallet approval flow without standing up Keycloak, a Spring Boot backend, or PQS. ## Architecture The local dev loop is a four-stage flow: - **canton-barebones** — local participant + synchronizer - **carpincho** — self-custodial browser wallet - **wallet-service** — CIP-0103 bridge - **react-starter** — ready-to-start React frontend - **dApp** — end-to-end Canton dApp ## Developer Capabilities With the current stack, a developer can: - Run a local Canton participant and synchronizer. - Deploy a Daml DAR. - Connect a browser wallet to a dApp. - Create external parties from browser-held public keys. - Keep private keys inside the browser wallet. - Prepare, sign, and execute Canton transactions. - Test dApp flows without OIDC or a production backend. The goal is fast iteration: write Daml, deploy it locally, connect a dApp, and verify that a real wallet approval flow executes Canton transactions. ## Current Tradeoffs (v1) dAppBooster Canton v1 has one deliberate scope cut to keep the dev loop fast: wallet-service uses a single technical Canton user to talk to the Ledger API. That is acceptable for local development. It is not the right production model. The issue is permission scoping. The technical user can accumulate rights over parties created during testing. - **Writes — Protected.** External signatures protect every write. wallet-service cannot construct a valid transaction signature without Carpincho, and Carpincho only signs after the user approves in the wallet. - **Reads — Sensitive surface.** A broad backend token can read more than a user-scoped wallet session should. **Production direction.** Each wallet and account should get its own scoped session and rights, instead of sharing one broad technical user. ## Open source and contribute ### License dAppBooster Canton is open source under the [MIT License](https://mit-license.org/). Repository: [github.com/BootNodeDev/cn-dappbooster](https://github.com/BootNodeDev/cn-dappbooster). ### Lineage **Built on dAppBooster for EVM.** dAppBooster for Canton did not appear out of nowhere. The EVM-side [dAppBooster](https://dappbooster.dev/) has been shipping and improving with web3 builders [for years](https://github.com/BootNodeDev/dAppBooster). The Canton version is built by the same team and applies the same architecture, best practices, and developer-experience lessons, adapted for the Canton ecosystem. ## Getting Started Run `npx dappbooster --canton` in your terminal and follow the instructions. No prior Canton experience required. ## FAQ ### What is dAppBooster Canton, and how can it help me build a dApp? dAppBooster Canton is an open-source development stack for Canton dApps. It bundles a local Canton participant and synchronizer, the Carpincho browser wallet, a wallet-service bridge that implements the CIP-0103 dApp API, and a Counter reference app you can fork as the starting point for your own dApp. The goal is a fast local dev loop: write Daml, deploy a DAR, pair the wallet, and execute a real Canton transaction without first standing up OIDC, a production backend, or external access approvals. ### Do I need prior Canton development experience to use dAppBooster Canton? No. The defaults are sensible and the Counter reference app exercises the full loop out of the box. Familiarity with React, TypeScript, and Docker is enough to get productive; Daml-specific knowledge is something you can pick up by reading and editing the included template. ### What is Carpincho? Carpincho is a self-custodial browser wallet for Canton that implements CIP-0103. It generates an Ed25519 keypair, keeps the private key inside the browser, and signs prepared Canton transactions locally only after the user approves them in the wallet. dApps talk to it through an injected provider, with WalletConnect available as an opt-in fallback. ### How do I get started with dAppBooster Canton? Clone cn-dappbooster and follow the Quick Start in the repository README. One scripted entry point brings Canton up in Docker, builds and deploys the Counter DAR, and starts the wallet-service, Carpincho, and the Counter frontend. A separate mock entry point lets you iterate on Carpincho against a canned wallet-service if you do not want Docker running. ### What does the wallet-service do, and why is it temporary? wallet-service is a bridge between Carpincho and Canton that exposes the CIP-0103 operations Carpincho needs: external party creation, transaction preparation, user-approval handoff, local signing, and execution of signed prepared transactions. It is positioned as temporary because the longer-term direction is to move these responsibilities into the upstream wallet-gateway once that work lands. The bridge does not store private keys and contains no example-specific business logic. ### How is dAppBooster Canton different from the Canton Network Application Quickstart? The official Quickstart is a production-oriented scaffold from Digital Asset: Keycloak/OIDC, a Spring Boot backend, PQS, App Name Service and Scan UIs, an observability stack, and a multi-actor local network built on Splice LocalNet. dAppBooster Canton solves the opposite problem, the fast inner-loop case, where a single developer wants to write Daml, deploy locally, and execute a real wallet approval flow without first standing up that infrastructure. ### Is dAppBooster Canton production-ready? Not yet. The v1 stack uses a single technical Canton user for wallet-service to talk to the Ledger API. External signatures still protect every write (wallet-service cannot construct a valid Canton transaction signature without Carpincho), but a broad backend token can read more than a user-scoped wallet session should. The production direction is to give each wallet and account its own scoped session and rights. ### Is dAppBooster Canton free to use? Yes. dAppBooster Canton is open-source under the MIT License. No fees, no tracking, no per-seat pricing. ## Technical Details | Property | Value | |---|---| | Framework | React + Astro | | Package Manager | pnpm | | Runtime | Node.js >= 20 | | Supported Chains | Canton (Daml) | | License | Open-source, free to use | | Install Command | `npx dappbooster --canton` | ## Links - [Documentation](https://github.com/BootNodeDev/cn-dappbooster#readme) - [GitHub Repository](https://github.com/BootNodeDev/cn-dappbooster) - [Landing Page](https://www.dappbooster.cc) ## About dAppBooster Canton is built by [BootNode](https://www.bootnode.dev/). - [Telegram](https://t.me/mgarciap) - [GitHub](https://github.com/BootNodeDev) - [Twitter/X](https://twitter.com/bootnodedev) - [LinkedIn](https://www.linkedin.com/company/bootnode-dev/)