
DarkLedger
Privacy First
Demo
About
The problem it solves DarkLedger is for doing high-value private financial deals without leaking information. It’s useful anywhere people currently rely on: • calls • DMs • spreadsheets • manual approvals because they don’t trust public blockchains or shared order books. DarkLedger lets those same deals happen on a ledger, but with the same (or better) privacy as off-chain workflows. Use of AI tools and agents I used AI tools mainly to speed up development and reduce mistakes, not to replace core logic or decision making. Tools used I used Claude, CodeCodex, and Cursor during development.
How it's made
Challenges we ran into The biggest challenge was not functionality, but correct privacy behavior on Canton devnet. Early on, things appeared to work: • commands executed • contracts were created • UI showed data But some flows were accidentally leaking visibility because: • the wrong party was added as an observer • a helper contract had broader stakeholders than intended • a query was executed under the wrong participant context On Canton, one extra observer = a real privacy bug, not just a UI issue. How I fixed it • I stopped trusting the UI and relied on devnet party-scoped queries • I built an Inspector view that runs the same queries under different parties • I added a “Privacy Challenge” outsider perspective to actively try to see private state If a non-stakeholder could see anything, the model was wrong and had to be fixed at the Daml contract level.