Proof was a fintech card: fiat accounts and crypto wallets behind one Mastercard. I joined as the founding designer, in a team of people from TON, Revolut and Yandex.

The product was built but never launched. Here's what we made.

Home

The main screen answers one question: how much money do I have. A new user starts at zero and sees one next step — get the card.

Home screen of a new user: zero balance and an offer to get the Proof card
Home screen with fiat and crypto accounts and the total balance

Accounts

A fiat account and a crypto wallet are the same screen. Only the details differ. Learn one, and you know both.

EUR account: balance in two currencies, IBAN details, linked card and the transaction list
USDT wallet on TRC-20: balance, wallet address and incoming and outgoing transfers

Card

The card gets its own tab: the balance it spends from, the card, and the few actions people actually use. The dark theme comes from the same tokens.

Card screen: total balance across currencies, the Proof Mastercard, actions and the card transaction list
The same card screen in the dark theme

Sheets

Choosing, confirming and destructive actions happen in bottom sheets, on top of whatever you were doing.

Bottom sheets: card reissue with a warning, receive options, account picker

Sending Crypto

This is where a mistake costs real money, so it's the one flow with deliberate friction. The review sheet repeats everything, and Confirm & Send stays disabled until you tick that the address supports the network.

Send USDT: amount with the dollar equivalent, the fee reserved, available balance and a numeric keypad
Review sheet before sending: amount, recipient, fee, and a network checkbox that keeps Confirm & Send disabled until ticked

When Verification Fails

Fiat accounts depend on documents, and documents expire. The account becomes limited, not hidden: the money is still yours, and there's one thing to do. Crypto wallets keep working.

Home screen with a warning that some accounts are limited and a button to provide documents; affected accounts are marked in the list
EUR account marked as limited: the warning card, disabled Top Up, account details and the transaction list

After the documents are sent, the app says plainly where things stand and what to do next.

Documents under review: pixel glasses icon, a note that it usually takes less than a day, and buttons to update information or contact support
Card not available for this account: pixel broken-heart icon, a note that the wallet still works, and a contact support button

Result

The timeline was tight, so the trade-off was minimal UI, maximum system: tokens with themes, a small set of components, every state designed from day one. The tokens went straight into the KMP repo, and I shipped the design components through my own PRs.

By the end, the app was built, the crypto wallets worked, and every screen and state was in place. What never came was the funding to sign card-issuing partners, and a card product can't launch without a card. The project wound down.

Fin