Designing trust for high-friction financial moments
Crypto products ask a lot from new users.
They ask people to trust unfamiliar systems, navigate risk-heavy actions, complete identity checks, and stay calm when something doesn’t go exactly as planned. At RockWallet, many of the moments I worked on lived right in that tension: account restrictions, verification issues, problems buying, and account recovery that had to be clear without being too specific or jargony.
My role was to help RockWallet communicate clearly in high-stakes moments, especially when users were likely to feel anxious, confused, disappointed, or blocked from doing what they came to do: learn about and trade crypto.
The problem
RockWallet had a growing number of product flows tied to compliance, banking partners, fraud prevention, and account security. These moments were important operationally, but from the user’s point of view, they could feel abrupt, vague, or even punitive.
A user might be told:
Their account needed more review
They weren’t eligible for a feature
A bank ACH or card purchase didn’t go through
Their wallet access was temporarily restricted after recovery
In each of these cases, the product needed to do three things at once:
Explain what was happening
Protect user trust
Stay within legal, compliance, or product constraints
That combination made these flows especially challenging. The obvious answer was rarely the right one. In many cases, we couldn’t be too specific. In other cases, we had to avoid language that felt accusatory, alarming, or misleading.
The goal
Create UX writing for sensitive financial moments that felt:
Clear, but not clinical
Calm, but not dismissive
Transparent, but not overexplanatory
Human, but still operationally precise
The broader goal was to reduce friction in moments where the product had to say “not yet,” “not right now,” or “we need more time.”
The audience
A lot of fintech and crypto copy still assumes the user is confident, technical, and already bought in. RockWallet’s audience was broader than that.
For this work, I wrote primarily for a persona we called Crypto-Curious Becca.
Crypto-Curious Becca
This user may not know how verification, network fees, fraud checks, or wallet recovery systems work behind the scenes. They’re trying to complete a task, not learn the industry.
Informational needs
Is my account okay? Are my funds safe?
Why is this happening, and did I do something wrong?
What do I need to do next, and how long will this take?
Jobs to be done
I want to buy, sell, or trade crypto without hitting unexpected roadblocks
I need reassurance that a delay, restriction, or failed transaction isn't permanent
Help me understand what's going on without making me feel like a suspect
Psychological profile
Anxiety under uncertainty: Users in financial products are already primed for worry. Copy that buries the status or leads with explanation before resolution makes anxiety worse, not better.
Reactance: Language that sounds accusatory (e.g., failed, rejected, flagged) triggers defensiveness even when the issue is procedural. Neutral framing keeps users cooperative.
Trust calibration: Crypto-curious users are still deciding whether to trust the product. Every high-friction moment is a test. Vague or clinical copy fails that test; calm, clear copy passes it.
Loss aversion: When money or account access is involved, users fear the worst. Copy needs to quickly signal whether something is temporary, actionable, or final.
My approach
I treated these flows less like isolated error messages and more like a messaging system for trust.
Across modals, alerts, tooltips, and transactional states, I worked toward a few consistent principles.
1. Lead with status, not explanation
When users are stressed, they don’t want to parse a paragraph before understanding what happened.
I prioritized copy that quickly answered:
What’s going on
Whether the user needs to do anything
What happens next
That often meant simplifying or restructuring messages so the core status came first, with supporting detail after.
2. Don’t accuse the user
In risk, eligibility, and verification flows, it’s easy for product language to sound judgmental without meaning to. Terms like failed, rejected, flagged, or didn’t meet requirements can make users feel blamed, even when the issue is procedural or temporary.
I worked to make these moments more neutral and respectful, especially when the product needed to stay generic about the reason.
3. Be honest about limits without sounding evasive
One of the trickiest parts of this work was writing copy that was useful even when we couldn’t reveal exact reasoning.
In those cases, I focused on what we could say clearly:
Whether the limitation was temporary or final
Whether the user could try again later
Whether any action was needed
Which features were still available
That helped preserve trust without overpromising detail the product couldn’t provide.
4. Write for emotion, not just comprehension
A technically correct message can still be a bad user experience.
For delayed reviews, restricted access, failed refunds, and post-recovery holds, I wrote with the emotional state in mind. That meant softening abrupt phrasing, removing unnecessary friction words, and using a more grounded tone in moments where people were likely to feel nervous.
What I worked on
My work covered a wide set of product moments across the RockWallet experience. A few examples:
Verification and review states
I wrote and refined messaging for identity verification, additional review states, and handoffs to third-party verification partners. The challenge here was helping users understand why they were being asked for more information without making the process sound more intimidating than it already felt.
Eligibility and feature restrictions
I worked on messages shown when users weren’t eligible for certain features or trade actions. In some cases I was allowed to write copy specific to the user’s verfication level and geolocation. Other times, this niche copy was descoped and I had to write versions that were intentionally generic. These flows required careful wording so users understood the outcome without feeling singled out or shut out forever.
Wallet recovery and temporary account holds
One of the more sensitive flows involved successful wallet recovery followed by temporary restrictions on high-balance accounts. The writing had to strike a very careful balance: reassure users that recovery worked, explain the temporary limitation, and frame the hold as a protective measure rather than a punishment.
Transaction statuses
I also worked on operational states involving successful transactions, pending transactions, and payment processing delays. These moments needed especially clear status language, since users were often worried about where their money and their crypto was and whether anything had gone wrong.
Tooltips and support copy for more technical features
In addition to high-friction system messages, I wrote educational product copy for more technical areas like payment integrations and merchant tooling. That helped extend a consistent voice into more operational parts of the product.
Iteration and collaboration
Product wanted brevity. Compliance wanted precision. Support needed messages that reduced confusion. The user needed all of it to feel simple.
Many of the refinements came down to questions like:
Is this too vague?
Is this too specific?
Does this sound final when it might not be?
Does this accidentally imply blame?
Are we creating more fear than necessary?
Is the next step actually clear?
Outcome
This work helped create a more consistent voice for some of RockWallet’s hardest product moments.
Instead of treating restrictions, delays, and review states as one-off messages, I helped shape a clearer and more human approach to communicating them. The result was a set of product messages that better balanced user trust with the realities of security, compliance, and financial operations.
More broadly, this project reinforced something I care about deeply as a content designer:
The moments that build trust are rarely the flashy ones. They’re the moments when something goes wrong, takes longer than expected, or can’t happen yet and the product still manages to sound calm, clear, and respectful.
That’s where UX writing really earns its keep.