io.finnet / Case study

Designing a unified experience for institutional digital asset custody

UX architecture and a cross-platform design system for institutional custody, where sensitive actions depend on shared approval.

Role
Head of Product Design
Timeline
August 2022 — January 2024
Platforms
Web · iOS · Android
Focus
UX architecture · Design systems
io.vault activity and signing details on a MacBook in a hard diagonal beam across a neutral surface.

Context & ownership

The asset is digital. The responsibility is shared.

Institutional custody is more than a balance and a transfer button. Teams need to create vaults, choose signing parties, set approval requirements and understand what happens after they submit a request.

I led UX architecture and cross-platform design-system development for io.vault. The work connected those financial workflows through consistent patterns across Web, iOS and Android.

The constraint

A request submitted on the dashboard could still require approval from signing parties through the mobile app. Submission and completion needed to remain distinct.

Role, Scope & Team

My direct contribution

Led UX architecture and the cross-platform design system, establishing reusable components, interaction patterns and shared design foundations. Worked hands-on with engineering on UX decisions and component specifications.

The team I led

Managed two product designers, one focused on Web and one on iOS. The work shown here combines my hands-on contributions with their work under my design direction.

Cross-functional scope

Worked with product managers on requirements and direction; frontend and backend engineers on constraints and implementation; and the Head of Engineering, Marketing and Business Development on technical and business alignment.

Design decisions

Governance

Make signing power visible before the vault exists.

The vault-creation flow puts the threshold and signing parties in the same step. Each signer has an explicit signing weight, and the interface shows how the combined weight relates to the threshold.

The populated state also calls out when one signer has enough power to approve alone. That makes a consequence of the configuration visible at the point of decision.

Threshold, signing power and the consequence of that combination are shown together.

Design detail

Threshold, signing power and the consequence of that combination are shown together.

Open source in Figma ↗

The threshold and signer pattern also has a narrow-layout specification.

Design detail

The threshold and signer pattern also has a narrow-layout specification.

Open source in Figma ↗

Transaction structure

Carry the context through creation and review.

The transfer flow makes the source vault, network, destination, asset and amount explicit. An optional memo expands inside the form rather than creating another task.

A separate review step presents the request before submission. Handoff notes connect form spacing, the currency control and action styles to the design system, giving engineering concrete specifications alongside the flow.

The transfer form keeps the financial context alongside the action.

Design detail

The transfer form keeps the financial context alongside the action.

Open source in Figma ↗

A separate review step makes room to check the request before submission.

Design detail

A separate review step makes room to check the request before submission.

Open source in Figma ↗

Request inspection

Inspect the request without losing the activity context.

The activity table brings transaction descriptions, identifiers and lifecycle states into one view. A detail drawer opens alongside it, keeping the surrounding activity available while the request is inspected.

The drawer separates signing progress from transaction status, then groups the financial details below. Threshold progress and signer responses sit above the transaction ID, source, destination, amount, fees and total.

The activity table stays in context while the detail drawer brings signing progress and transaction facts together.

Design detail

The activity table stays in context while the detail drawer brings signing progress and transaction facts together.

Open source in Figma ↗

System architecture

A shared system, with room for each platform.

The system connects shared foundations, platform layouts and composite patterns for financial governance. The Web and iPhone handoff shows how the same approval model adapts to each platform.

Keep the governance model consistent across Web and iPhone.

A vault’s threshold and signing party describe who can authorize a change. The Web and iPhone settings preserve the same approval requirement, threshold summary, signer identity and weighted signing power.

The composition changes with the available space: Web places the pattern beside persistent side navigation; the iPhone layout stacks it above bottom navigation. The shared contract is the meaning and available actions, rather than identical screen geometry.

Web composes the approval rule, threshold summary and signing-party rows inside vault settings.

Design detail

Web composes the approval rule, threshold summary and signing-party rows inside vault settings.

Open source in Figma ↗

The iPhone layout retains those same governance facts and actions, with a narrower composition and bottom navigation.

Design detail

The iPhone layout retains those same governance facts and actions, with a narrower composition and bottom navigation.

Open source in Figma ↗

Compose controls into a complete governance task.

Resharing combines the threshold selector, signer search, power controls, validation and contextual warning into one editable pattern. The same threshold-and-signer model also appears in vault creation earlier in this study.

After submission, the summary makes the proposed changes inspectable: threshold before and after, changes in signing power and pending approval. An adjacent handoff annotation explicitly says to use the iOS app’s specifications for this confirmation. That is a concrete cross-platform reuse instruction for engineering.

A composite governance pattern: edit the threshold and signer weights, evaluate the result and submit a resharing request.

Design detail

A composite governance pattern: edit the threshold and signer weights, evaluate the result and submit a resharing request.

Open source in Figma ↗

The request summary exposes the before-and-after changes. The adjacent handoff note directs this confirmation to use the iOS app’s specifications.

Design detail

The request summary exposes the before-and-after changes. The adjacent handoff note directs this confirmation to use the iOS app’s specifications.

Open source in Figma ↗
Read the iOS reuse annotation

Specify when the layout changes, not just how it looks.

The navigation handoff defines full navigation, an intermediate rail and mobile bottom navigation. It records a 518px mobile breakpoint and a 1024px full-navigation breakpoint, with the medium treatment between them.

These rules make responsive behavior part of the specification. Engineering receives the relationship between the layouts, rather than a set of unrelated desktop and mobile screens.

Three navigation compositions with explicit switching rules: mobile, intermediate rail and full navigation. Original developer-handoff annotations.

Design detail

Three navigation compositions with explicit switching rules: mobile, intermediate rail and full navigation. Original developer-handoff annotations.

Open source in Figma ↗

Design → engineering

Lead the system. Stay close to the details.

The developer handoff combines responsive layouts, interaction states and component references. I worked with frontend and backend engineers to align these specifications with implementation constraints.

Outcome & reflection

A documented foundation for complex custody.

The work produced documented vault-creation and transfer flows, responsive layouts, approval states and reusable component specifications. The selected evidence shows how governance and financial actions could share a coherent interaction language.

A design system for custody has to explain responsibility as clearly as it defines controls. The threshold and pending-approval states are where that responsibility becomes visible.

Source material

Next case study

LI.FI / Jumper

A system for the space between chains.