Back to home
Cross-chain wallet

Floor

Cross-chain wallet

Enable token purchases across chains

View in App Store
Discuss with

Cross-chain wallet hero

Floor was a consumer web3 app for tracking, discovering, and trading on-chain assets, where I was the founding designer from 2022 to 2024. The wallet was one of the later pieces of the product, and the one that let Floor turn attention into transactions. It lowered the barrier to entry for new users and gave us a way to reward people for using the app.

We took our time getting to it on purpose. In web3, two kinds of company tended to win, and both led with utility: marketplaces like OpenSea and Magic Eden, and wallets like MetaMask and Phantom. Floor was neither. We were a portfolio tracker, so we led with attention instead. You came to Floor to watch the value of the things you owned move up and down. Over time the utility-first products started bolting on discovery and news to win some of that attention back, but it always felt tacked on, and it didn't get people to spend any more time in those products. People transacted and left. We had the attention, and the wallet was how we backed into the utility behind it.


Creating a wallet

Everyone got a wallet. Rather than ask people whether they wanted one, we created a Floor wallet for them automatically, and we started generating it on the backend the moment someone began claiming a username, so it was ready the instant they needed it.

The wallet was cross-chain and non-custodial. Floor never had access to the private key, only the user did, and you could mint across chains without bridging. We secured it with Face ID, using Apple's biometrics rather than asking people to manage a seed phrase up front.

Highlights from the Create flow in Onboarding
Highlights from the Create flow in Onboarding

We let people customize the wallet with an emoji, a color, and a name. This sounds small, but it did real work: it helped people understand which wallet they were transacting with and which one they were buying with, especially once someone had more than one connected.

A customized wallet ready to fund
A customized wallet ready to fund

The moment a wallet was created, we airdropped a "welcome to Floor" NFT into it, so it was never empty. From there you could fund it through Coinbase, through Robinhood, or from an existing wallet if you had one.

I designed the Welcome to Floor NFT in Spline 3D

Most of our users already had wallets elsewhere, which traced all the way back to token-gating the beta: Floor only had value if you owned digital assets, so the people who showed up tended to already be in the space. Coinbase and Robinhood were far and away the most common, so we leaned into those, and supported other ways to receive on-chain for everyone else.

Select screens from the flow to fund a wallet
Select screens from the flow to fund a wallet

Recovery was deliberately simple. We connected to iCloud to restore your data and the custom elements of your wallet. People rarely needed it; the most common reason it came up was switching devices.

Recovery flow if the user has a new device
Recovery flow if the user has a new device

Swapping tokens

Whenever you were swapping tokens or currency, we made it easy to move between chains. We reused our system for marking which token lived on which chain with an overlay badge, so you always knew what you were holding and where it was.

We repurposed the existing Search for the Swap flow
We repurposed the existing Search for the Swap flow

Security was a big focus here. If we had reason to be cautious about a token you were about to transact with, we flagged it and let you drill in to understand exactly what we'd found. Some of those issues were minor, but if Floor was going to be the friendliest app in web3, we felt it was on us to help people act safely, experienced traders and newcomers alike.

Looking out for our users when purchasing memecoins
Looking out for our users when purchasing memecoins

Transaction summary

One thing the existing wallets did poorly was tell you, plainly, what had just happened. So after a transaction we showed a clean summary: what you put in, what you got out, and where it went, down to which wallet received it.

It also showed the gas you paid, which is the fee for moving across a network, and the token hash, the on-chain record of the transaction. You could copy that hash into a browser and see exactly where and when your transaction happened.

Is a successful action complete without confetti?
Is a successful action complete without confetti?

I'm proud of that screen, mostly because of how unremarkable it felt to use. It worked the way you'd expect it to work. As a product designer, that's about the highest compliment I can get.


Integration

We wanted the wallet woven through the app rather than tucked into a settings screen, and we had one guiding rule while designing it: you should never be more than two taps from your wallet. Tap one to see it, tap two to take an action.

The wallet ended up in three places. On the home screen, we put wallet UI that made it easy to see your balance, in fiat or in native currency, with quick actions right there. A side drawer kept the wallet one tap away from anywhere in the app. And the middle tab in the navigation became the wallet itself, replacing history: a place to see your transactions, switch between wallets, and send, swap, or receive.

The Floor Wallet is always within two taps
The Floor Wallet is always within two taps

We explored other layouts along the way. One we kept coming back to was an Apple Wallet style stack, where each wallet was a card you could tap to filter the transaction list down to that wallet. It looked great, but it gave every wallet equal weight, and we wanted the Floor wallet to carry more emphasis than whatever else a user had connected. So we let it go.

Alternate wallet layout exploration
Unused concept for card-based transaction filtering
Unused concept for card-based transaction filtering

Users created over 200,000 wallets through Floor. A lot of that came from the marketing and the hype we built around the launch, but the deeper reason it worked goes back to the strategy. Floor already had people's attention, so the wallet only ever added value and utility behind it, instead of trying to win attention from scratch the way a utility-first product had to. That was Floor's distinct advantage, and a real part of why it became an attractive acquisition for one of those utility-first companies, OpenSea.

Explore
Writing
Email me