← oshalusisource ↗lace.io ↗
Case study

Lace Wallet

IOG's non-custodial Cardano wallet, on browser and mobile. I spent four years on the team that shipped it.

Core contributor · 2022–2026 · Input Output Global · Browser + mobile
Overview

Lace is Cardano's official light wallet: non-custodial, open source, and built so anyone can hold their own assets without understanding the chain underneath.

I worked across onboarding, transactions, staking, multi-signature, and account management, on both the browser extension and the mobile app. Four years, one team, one product that could not afford to be wrong.

The constraint

Non-custodial means there is no undo. If the wallet signs the wrong thing, or a recovery flow drops a keystroke, the money is gone and no one can return it. Every decision was made under that pressure, and it is the way I have built software ever since.

Highlights

Staking on an eUTXO chain

Splitting stake across pools on Cardano is not one setting. The balance drifts with every transaction. I helped ship multi-pool delegation that held up, and we documented the protocol limits instead of hiding them.

One core, two runtimes

Lace is a Chrome extension and a React Native app that must behave identically. Keeping key management, transaction building, and the rules in one typed core gave security-critical code a single source of truth.

Flows where a mistake is permanent

Recovery, confirmation, signing, and hardware pairing were treated as safety-critical, not UI. The wallet shows exactly what is about to be signed, and the safe path is the obvious one.

Reference
Highly reliable, works fast, and consistently delivers high-quality results with very little oversight.
Engineering Manager · Input Output Global
Stack
React · TypeScript · React Native · Node.js · Next.js · Nx · CIP-30 · Docker · Jest

Lace is now the default Cardano wallet, reaching beyond Cardano to Bitcoin and Midnight. I want more problems where correctness is not negotiable.