See all works
Web3 Payments Cross-border Fintech Compliance UX 0→1 Design Freelance

Designing a Web3 payment platform where cross-border money moves like a local transfer

A year-long freelance project designing PayMight end to end: one account for fiat and crypto, with virtual bank accounts, Pay / Receive / Transfer, staged KYC and a yield dashboard.

My Role

Product Designer (Freelance)

Company

PayMight

Year

2025–2026

Type

0→1 product design · Web3 fintech

Duration

1 year

Home, wallet, and referral & rewards screens designed as one coherent system

At a glance

Problem

Cross-border money is slow and opaque, and crypto rarely connects to a real bank account.

My role

Freelance product designer for a year, from account creation to daily use.

Outcome

One account where fiat and crypto look and behave the same, from first deposit to payout.

3

Core money movements designed end-to-end: Pay, Receive, Transfer

60+

Payout currencies supported, from HKD and PHP to JPY and KRW

T+1

KYC turnaround target built into the verification flow

Two systems of trust, one interface

Freelancers, remote workers and crypto holders choose between slow bank wires, fiat-only remittance apps or exchanges that can't reach a bank. PayMight had to satisfy banking compliance and blockchain transparency at the same time.

The second challenge was legibility. An off-ramp has a rate, a network, a settlement window and a fee stack. If any of them is unclear, people stop before they confirm.

Compliance and blockchain transparency solve the same problem from opposite directions: proving a transaction is safe. My job was making sure the interface didn't argue with itself.

Three users, one account trusted with real money

The Cross-Border Earner

"I did the work. I need the money in my local bank, and I need to know what I'll receive after fees."

MiBankReceivePayout

The Asset Holder

"This is worth something now. I want it in my bank account without three extra apps in between."

Off-rampPayTransfer

The Idle-Balance Holder

"I'm not trading. I just don't want this doing nothing."

MiEarnDashboard

Three decisions that shaped the product

Decision 01

Ask only for what the next step needs

Identity details are collected progressively, tied to the rail the user is about to use, not as one long form up front.

Decision 02

One account, not two

Balances, history and status share one visual language, whether the money moves by SWIFT or on-chain.

Decision 03

Show the full cost before confirm

Rate, fees and what arrives are always visible before the user commits real money.

Decision 04

Verification that doesn't feel like an interrogation

KYC is staged by threshold, progress is always visible, and the T+1 turnaround is stated up front.

User flows

Pay, Receive and Transfer share one foundation. These are the three journeys that matter most.

Get paid from abroad

Goal: receive a client payment in a local bank

  1. Open a MiBank account

    USD, EUR or GBP; the name-match rule is shown before choosing

  2. Verify, just enough

    Staged KYC with a stated T+1 turnaround

  3. Share how to pay

    A payment link, QR code or virtual account number

  4. Funds settle

    Into the currency the user chose

  5. Pay out

    To a same-name bank in 60+ currencies, with the total after fees shown first

Result: an overseas payment feels like a local transfer, with no surprise rejection at the end.

Move crypto into a bank account

Goal: spend crypto in everyday life

  1. Choose the asset

    BTC, ETH, USDT and two more supported assets

  2. See the full cost

    Rate, network, fees and settlement window, before confirming

  3. Confirm once

    One transaction, not an exchange plus a bank wire

  4. Track one status

    The on-chain and bank steps read as the same event

Result: rent, tuition or family remittances paid from crypto without cashing out on an exchange first.

Put idle crypto to work with MiEarn

Goal: earn yield without trading

  1. Pick an asset

    BTC, ETH or USDT

  2. See term and yield

    Real-time expected return, visible before committing

  3. Deposit

    From the same balance used for payments

  4. Track accrual

    A dashboard that reads like a receipt, not a trading chart

Result: a savings product on crypto rails, not a speculation tool.

What shipped over a year

Shipped

MiBank Virtual Accounts

Named collection and payout accounts: USD/EUR/GBP in, 60+ currencies out

Shipped

Pay / Receive / Transfer

One set of flows for fiat and digital assets: links, QR codes and direct transfers

Shipped

MiEarn Dashboard

Yield on BTC, ETH and USDT with visible terms and live accrual

Shipped

Off-Ramp Flow

Five supported assets to fiat, with rate and fees shown before confirming

Shipped

Staged KYC Verification

Checks scoped to the next action, with a stated T+1 turnaround

Shipped

Unified Balance UI

One visual system for bank and blockchain transactions

Web3 payment design Compliance-aware UX Progressive verification Fintech · Web3 0→1 freelance