Designed Spot and Perps wallets for faster trading, making buy and sell flows 32% faster
Blum is a crypto trading app with Spot Trading, Perpetual Trading, and Launchpad, scaled to 95M+ users. I designed an in-app self-custody wallet experience for Spot and Perps trading, reducing connected wallet confirmation friction, making deposits and withdrawals clearer,
and helping users trade inside Blum faster and more reliably.


Context
Initially, trading in Blum worked through a connected external TON Wallet. Users kept funds outside Blum and confirmed trades there.
This was enough for the early version. But as Blum expanded into Spot Trading, Perpetual Trading, and multiple networks, the product needed dedicated self-custody wallets inside
Blum to make trading faster, deposits and withdrawals clearer, and wallet operations easier
to control.
Problem
For business: Connected wallet became a bottleneck in the trading funnel. Every Spot
trade required external wallet confirmation, so Blum lost part of the buy/sell intent before
users completed the trade. This reduced completed trades and limited trading activity.
Connected wallet also became a limitation for Perpetual Trading, where users needed
a separate wallet to open and manage positions.
For users: Users wanted to buy or sell tokens quickly, especially when price movement
mattered. Instead, every trade sent them to an external wallet for confirmation, then required
them to return to Blum and wait for the result. Some users explicitly said this confirmation
flow got in the way of trading.
Goal
Create dedicated self-custody wallets for Spot and Perps that allowed users to deposit funds, complete Spot trades inside Blum without connected wallet confirmation, and manage Perps balances for leveraged trading.
Design deposits, transfers, withdrawals, backup, import, reset, and passcode flows to stay
clear, safe, and easy to control, especially when users moved funds out or changed sensitive wallet settings.
My role
I led the end-to-end design of the self-custody wallet experience across Wallet Hub, Spot
and Perps wallets, deposit, transfer, and withdrawal flows, transaction states, wallet creation, import, backup, reset, and passcode protection.
I built the UX architecture, core flow logic, interaction patterns, safety states, and handoff
for the full wallet experience.
Strategy
The core decision was to design Wallet as dedicated self-custody wallets for Spot and Perps trading. Instead of relying on connected wallet confirmation for key trading flows, the new wallet system needed to support Spot trade execution, Perps balances, deposits, transfers, withdrawals, and wallet safety flows inside Blum.
1. Create a dedicated self-custody Spot wallet for faster buy and sell flows
Enable users to buy and sell tokens inside Blum without connected wallet
confirmation for every trade.
2. Make deposits simple and withdrawals safer
Allow users to deposit quickly while keeping withdrawals protected
with clear review details and passcode protection.
3. Build a dedicated Perps wallet for Perpetual Trading
Create a separate Perps wallet because connected external wallets and the Spot
wallet were not suitable for managing Perps balances and leveraged positions.
4. Design wallet management and safety flows
Give users control over self-custody wallet access and sensitive
operations through backup, import, reset, and passcode protection.
Success criteria
⁕ Reduce time to complete buy and sell flows
⁕ Increase Spot trades
⁕ Increase completed trades
⁕ Drive Spot and Perps wallet adoptionDrive adoption of internal wallets across Spot and Perps
⁕ Reduce wallet-related support tickets
⁕ Reduce TTM for new trading wallet featuresReduce time to market for new trading wallet features
I evaluated the wallet architecture after 1,000+ sessions and 500+ completed wallet
scenarios across Spot and Perps, including deposits, withdrawals, Spot trades, and Perps
wallet setup. I focused on metrics that showed whether the new wallet experience improved speed, completion, trading activity, adoption, support load, and delivery speed.
SOLUTION 1
Removed external confirmation
from Spot trading
I changed the Spot buy and sell flow from external transaction approval to balance based execution through a dedicated self-custody Spot Wallet. Users could deposit into their Spot wallet once, then buy or sell tokens directly from the available balance. This removed connected wallet confirmation from every trade and reduced the flow from six steps to three.
Before: every trade was interrupted
by external confirmation
Users selected a token and entered the amount inside Blum, but could not complete the trade there. At confirmation, they had to leave the buy and sell flow, approve the transaction in a connected wallet, return to Blum, and wait until the trade was completed and reflected in their balance.


After: buying and selling became faster and easier to complete
With the Spot Wallet, users could buy and sell tokens directly from their available balance inside Blum. They no longer had to switch to a connected wallet for every trade, so the buy and sell flow became shorter, clearer, and easier to complete — from amount entry to trade completion in one continuous flow.

SOLUTION 1
Removed external confirmation from Spot trading
I changed the Spot buy and sell flow from external transaction approval to balance based execution through a dedicated self-custody Spot Wallet. Users could deposit into their Spot wallet once, then buy or sell tokens directly from the available balance. This removed connected wallet confirmation from every trade and reduced the flow from six steps to three.
Before: every trade was interrupted by external confirmation
Users selected a token and entered the amount inside Blum, but could not complete the
trade there. At confirmation, they had to leave the buy and sell flow, approve the transaction
in a connected wallet, return to Blum, and wait until the trade was completed and reflected
in their balance.


After: buying and selling became faster and easier to complete
With the Spot Wallet, users could buy and sell tokens directly from their available balance
inside Blum. They no longer had to switch to a connected wallet for every trade, so the buy
and sell flow became shorter, clearer, and easier to complete — from amount entry to trade completion in one continuous flow.

SOLUTION 2
Made deposits simple
and withdrawals safer
I designed deposit and withdrawal flows for two different user needs: depositing quickly and withdrawing safely.
Users could deposit via wallet address, QR code, or connected wallet transfer, then use the balance for trading. Before withdrawal, the interface showed all key details for review, including receiving address, network, amount, fee, and total. This helped users avoid incorrect transfers and potential loss of funds. Users could also enable an optional passcode in wallet settings as an extra layer of protection.
Deposit flow

Withdraw flow

Withdraw flow

SOLUTION 2
Made deposits simple and withdrawals safer
I designed deposit and withdrawal flows for two different user needs: depositing quickly
and withdrawing safely.
Users could deposit via wallet address, QR code, or connected wallet transfer, then use the balance for trading. Before withdrawal, the interface showed all key details for review, including receiving address, network, amount, fee, and total. This helped users avoid incorrect transfers
and potential loss of funds. Users could also enable an optional passcode in wallet settings
as an extra layer of protection.
Deposit flow

Withdraw flow

Withdraw flow

SOLUTION 3
Built a dedicated Perps wallet
for Perpetual Trading
I designed a dedicated Perps wallet so users could deposit, transfer, withdraw, and track balances for Perpetual Trading in one place. The wallet showed the key balances needed for leveraged trading: margin balance, available balance, and unrealized PnL, helping users understand what was available for trading and what was already used as margin.
For deposits, users could choose USDT or USDC and select a network before getting the correct Perps deposit address. This made deposits more flexible and reduced the risk of using the wrong asset, network, or address. Withdrawals stayed protected with review details and optional passcode protection in wallet settings.

SOLUTION 3
Built a dedicated Perps wallet for Perpetual Trading
I designed a dedicated Perps wallet so users could deposit, transfer, withdraw, and track balances for Perpetual Trading in one place. The wallet showed the key balances needed
for leveraged trading: margin balance, available balance, and unrealized PnL, helping users understand what was available for trading and what was already used as margin.
For deposits, users could choose USDT or USDC and select a network before getting the
correct Perps deposit address. This made deposits more flexible and reduced the risk of using the wrong asset, network, or address. Withdrawals stayed protected with review details and optional passcode protection in wallet settings.

SOLUTION 4
Designed wallet management
and safety flows
I designed wallet management flows so users could back up their self-custody wallet, import an existing wallet, reset a wallet, and set an optional passcode for extra protection.
These flows gave users clearer control over wallet access and sensitive wallet operations. The passcode added an extra confirmation step before changing critical wallet settings or confirming sensitive operations.
Backup

Import

SOLUTION 4
Designed wallet management and safety flows
I designed wallet management flows so users could back up their self-custody wallet,
import an existing wallet, reset a wallet, and set an optional passcode for extra protection.
These flows gave users clearer control over wallet access and sensitive wallet operations.
The passcode added an extra confirmation step before changing critical wallet settings
or confirming sensitive operations.
Backup

Import

UX Testing
I tested the wallet experience with 15 respondents and ran quick internal usability tests before scaling the solution. The tests covered four core scenario groups: Spot buy/sell, deposits, transfers, and withdrawals, Perps wallet setup, and wallet management flows such as backup, import, reset, and passcode.
I checked whether users understood where their funds were, which wallet to use for each trading scenario, how to deposit, transfer, or withdraw funds, how to choose the right asset and network for deposits, and whether they could complete backup, import, reset, and passcode flows without confusion.
UX Validation Results
1. Spot Wallet became the stronger trading path
After rollout, users traded more often through the internal Spot wallet than through a connected wallet. This confirmed that balance-based execution made buy and sell flows easier to complete.
2. Clear deposit and withdrawal flows made Spot & Perps wallets easier to adopt
Users had clear ways to deposit into Spot and Perps wallets and withdraw funds when needed. The protected withdrawal flow helped them review key transfer details before sending funds out.
3. Separate Perps wallet made Perps funds easier to manage
Separating the Perps wallet from the Spot wallet gave users one clear place to track Perps balances, deposit, transfer, and withdraw funds for Perps Trading without mixing margin balance with Spot assets or connected wallet funds.
4. Users asked for advanced wallet settings and more deposit flexibility
Users wanted more control over wallet setup and personalization: better multi-wallet management, balance display in different currencies, language settings, and more supported networks for Perps deposits.
Results
The new wallet architecture gave users dedicated wallets for Spot and Perps trading. It reduced dependency on connected wallet confirmation, made buy and sell flows faster, and gave users clearer ways to deposit, transfer, withdraw, and manage trading wallets.
As a result, trading activity increased across Spot and Perps, while wallet-related support load decreased.
−32%
Time to complete buy and sell flows
1.85M
Perps traders using Perps wallets
+37%
Spot trades
−90%
Wallet-related support tickets
Key Learning
Not all confirmations in a trading product play the same role. In buy and sell flows, extra confirmation can slow users down, break trading context, and create drop-off before completion. But in wallet management, confirmation protects users from costly or irreversible mistakes.
The key learning: wallet architecture should make frequent trading actions faster while adding more control where users manage deposits, transfers, withdrawals, wallet access, backup, import, reset, and passcode protection.
UX Testing
I tested the wallet experience with 15 respondents and ran quick internal usability tests
before scaling the solution. The tests covered four core scenario groups: Spot buy/sell,
deposits, transfers, and withdrawals, Perps wallet setup, and wallet management flows
such as backup, import, reset, and passcode.
I checked whether users understood where their funds were, which wallet to use for
each trading scenario, how to deposit, transfer, or withdraw funds, how to choose the
right asset and network for deposits, and whether they could complete backup, import,
reset, and passcode flows without friction.
UX Validation Results
1. Spot Wallet became the stronger trading path
After rollout, users traded more often through the Spot Wallet than
through a connected wallet. This confirmed that balance-based
execution made buy and sell flows easier to complete.
2. Clear deposit and withdrawal flows made wallets easier to adopt
Users had clear ways to deposit into Spot and Perps wallets and withdraw
funds when needed. The protected withdrawal flow helped them review key
transfer details before sending funds out.
3. Separate Perps wallet made Perps funds easier to manage
Separating the Perps wallet from the Spot wallet gave users one clear place
to track Perps balances, deposit, transfer, and withdraw funds for Perps Trading
without mixing margin balance with Spot assets or connected wallet funds.
4. Users asked for advanced wallet settings and more deposit flexibility
Users wanted more control over wallet setup and personalization: better
multi-wallet management, balance display in different currencies, language
settings, and more supported networks for Perps deposits.
Results
The new wallet architecture gave users dedicated wallets for Spot and Perps trading.
It reduced dependency on connected wallet confirmation, made buy and sell flows faster,
and gave users clearer ways to deposit, transfer, withdraw, and manage trading wallets.
As a result, trading activity increased across Spot and Perps, while wallet-related support
load decreased.
−32%
Time to complete buy and sell flows
1.85M
Perps traders using Perps wallets
+37%
Spot trades
−90%
Wallet-related support tickets
Key Learning
Not all confirmations in a trading product play the same role. In buy and sell flows, extra confirmation can slow users down, break trading context, and create drop-off before
completion. But in wallet management, confirmation protects users from costly
or irreversible mistakes.
The key learning: wallet architecture should make frequent trading actions faster while
adding more control where users manage deposits, transfers, withdrawals, wallet access,
backup, import, reset, and passcode protection.

