I designed a non-custodial wallet for the Hyperliquid ecosystem from scratch — exploring how good UX can make self-custody safe enough for real people to hold.
What this shows: Web3 safety UX — making a non-custodial crypto wallet safe enough for normal people.



What I was designing for
The challenge
The Hyperliquid ecosystem was growing fast, but it had no native wallet built for normal people. Self-custody is brutal: a lost seed phrase means lost funds, a wrong network means money gone forever, and gas and slippage read like a foreign language. Existing wallets dumped all of that risk on the user and called it "freedom."
My brief: a non-custodial wallet that keeps users in full control of their keys — yet feels safe enough that a first-timer can hold, send and swap without fear of one irreversible mistake.
Discovery
I'll lose the seed and lose everything
Seed phrases are the single biggest source of dread — and most people skip backing them up entirely.
One wrong send and it's gone
Irreversible transfers — wrong network, wrong address, wrong amount — are the errors users fear most.
What even is slippage?
Gas, commission and slippage are opaque. Hidden costs at the final step destroy trust in a swap.
From a teardown of mainstream non-custodial wallets and the costly, recurring mistakes their public reviews and on-chain history reveal — wrong-network sends, lost seed phrases — framed as the problems to design against.
How I decided
Anything that can lose funds gets friction, confirmation and clarity.
Network, fees and slippage shown in plain terms, before you commit.
Sensible defaults up top; real control one tap away.
Key decisions
I worked through each security-critical flow — seed backup, send, swap — and designed against the risks that make self-custody unacceptable to normal people. Every call below is mine.

Home

History

Hidden

Backup gate

Send

Confirmed

Swap

Slippage

Control

Receive
Self-custody doesn't have to mean self-destruct. Good design is the safety net.
Concept demonstrates
What I'd validate next
Reflection
Hard-coding one network kept v1 simple but bites you when Arbitrum lands. I'd model chains as first-class from day one.
Great against shoulder-surfing, annoying on every revisit. I added Face ID to keep security without the tax.
A pre-send transaction simulation would catch the scariest mistakes before they're irreversible. I scoped it for v2.
Design system
Palette
Typography — Inter display, DM Sans body, Space Mono for numbers
Key components
The number, front and centre — with 24h change.
High-contrast mint CTA for the three core moves.
Icon, price, change and holding in one scan.