Payments Home with transactions, Pix keys shared with you, and your own key The empty state, prompting you to add a Pix key

WhatsApp Brazil

Payments Home

In Brazil, people send money to each other inside WhatsApp chats using Pix, the country’s instant payment system. Millions of those payments started in the app every month with no single place to manage them. I designed the consumer payments surface in Brazil, and it now anchors payment requests, split payments, and Pix sent directly in the app.

RoleLead product
designer
PlatformsMobile (Android
and iOS) and Web
Timeline~ 9 months
Shipped Apr 2026
StatusShipped to 100% of users
NoteIf you’d like to know more, please get in touch
Context

The gap at the center of WhatsApp Brazil

WhatsApp is the most-used app in Brazil, with ~165 million people on it, and a large share of them use it to move money. They do so through Pix, the central bank’s instant payment system, which settles transfers in seconds. Rather than full bank details, Pix identifies an account by a short key: a phone number, an email address, or a tax ID.

Inside WhatsApp, that exchange happened manually. One person sent their key mid-conversation, the recipient copied it with a button built into the message, then opened a banking app, pasted the key, and paid there. Native in-app payments were still in development, so I designed around the current behavior: Pix copy-paste.

None of that activity had a home in the app. Receipts stayed buried in whichever thread they were sent in, key management sat three menus deep in settings, and there was no transaction history at all, so finding last week’s payment meant first remembering which chat it happened in.

A WhatsApp conversation with a Pix payment request
Good luck digging up your payment history from chat.
Key decisions

Deciding what one screen could hold

The architecture of Payments Home came down to how much a single screen could carry. I worked through a two-tabbed structure first, with account management on one side and transactions on the other, and decided against it once I determined the two tabs would compete for engagement and discoverability. To prevent bloat, I settled on truncating sections at 2 items max while showing enough information to communicate intent, and implementing secondary pages to house further actions and content.

An early two-tabbed exploration, with Transactions and Manage as separate tabs Explored  Two tabs
The single-screen layout that shipped Shipped  One screen
Channeling attention and engagement into a single screen.

The harder call was Shared with you, a section listing the Pix keys people have recently sent you. Keys are tied to transactions, and user research kept surfacing the same behavior: people scrolling back through chats to find someone’s key so they could pay them. Duplicating a full keys UI in both places made no sense, so I split the work between them. Shared with you presents the keys on their own, ready to copy. The transaction list still records them, but only as an entry labeled Shared with you, with a Pix icon over the sender’s photo to mark it as a key rather than a payment. It has become one of the parts people respond to most, and it came from watching local behavior rather than the data model.

The Payments Home screen
Transactions

Front and center for safety, transparency, and quick access

Shared with you

Surfacing Pix keys that have been sent to you in chat so you can easily pay others

Request payment

Persistent entry point for requesting a payment

Note: before native payments, only requests and out-of-app Pix were possible

Your Pix key

Persistent entry point to view and manage your Pix key, or your unique payment ID

Privacy and security

Critical features for protecting payments: both transactions and personal identification

Support

Fulfilling legal requirements around downloading and deleting payment information

Payments Home in all its pieces.

Diverging from a leading market

Since I was designing for the Brazil market, I led with the belief that local behavior should determine the design, even when stacked against existing markets that were further along in development and traction. India had already shipped its own Payments Home successfully, lifting payment registrations by 8%, so there was real pressure to copy it screen for screen. The two markets are not the same underneath. India runs on UPI, its national instant payment network, while Brazil runs on Pix and did not have native payments within WhatsApp yet. Critically, Brazil also carries far higher rates of fraud and scams. I kept the parts that transferred, including the profile-centric model, a similar approach to transaction history, and persistent education for first-time users, and altered the parts that did not.

The main change was pulling transaction history to the front of the screen rather than one level down with a deprioritized entry point, which India had done. Someone in Brazil who has just been scammed needs to dispute the payment, report the account, or block the sender immediately, and that is not a task to bury. Every divergence took active advocacy in review, and the position I held throughout was that Brazil would not trade away trust and transparency to match another market’s experience.

Payments Home, showing recent transactions The full transaction history A transaction selected by long press The report and block dialog
Two taps from a transaction to reporting it.

Settling debates through prototyping

Interaction patterns and trade-offs between options are sometimes difficult to settle on paper, so I built something stakeholders could experience for themselves. Through a cocktail of Figma, Cursor, and Claude Code, with Obsidian as the brain, I created a working iOS prototype with a native SwiftUI build, complete with transitions and edge cases. Most of the work went into “teaching” the AI how to recognize and hold to our actual design system components rather than use vanilla OS elements, which was critical in keeping the fidelity close to production.

This prototype surfaced error and edge states early in the process, while the spec was still flexible and cheap to change. It also let leadership react to the strategy instead of debating individual interactions, and in 48 hours it produced more usable feedback than the static spec had in two weeks.

  • Figma
  • Cursor
  • Claude Code
  • Obsidianthe brain
A working iOS prototype native SwiftUI build transitions and edge cases WhatsApp design system, not vanilla OS elements
Leveraging AI to untangle ambiguity.
Impact

Movement across every step of the funnel

Four-week controlled experiment  ·  statistically significant

+0%started Pix onboardingregistering a Pix key
+0%completed onboardingkey successfully registered
+0%Pix payment messages senta key sent into a chat from Payments Home or the attachment tray

Most-used feature  Privacy and control settings

These are early, habit-forming steps, and on a base of ~165 million people a few percent adds up to a large number of people paying for the first time. That privacy and control ranked highest confirmed what the market had been signaling all along: in Brazil, trust is the product.

The screen shipped to 100% of users and passed WhatsApp’s cross-functional design and build review as the first major approval of the half. The bet on extending what already existed rather than inventing something new is holding up in V2, which I am designing now, where the surface takes on new capabilities by following the patterns already in place instead of being rebuilt.