Skip to content

fix(deposit): hide the USD bank rail from Wirex cardholders - #2603

Merged
mul53 merged 1 commit into
qafrom
claude/wirex-deposit-kyc-rejection-4c4df8
Sep 29, 2026
Merged

mul53 merged 1 commit into
qafrom
claude/wirex-deposit-kyc-rejection-4c4df8

Conversation

@mul53

@mul53 mul53 commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

What changed

A Wirex cardholder's "Add funds" (the card screen action row and home) opens the wallet deposit flow. Its Cash → USD step offered Wire transfer, ACH, and the USD row's chips named ACH and Wire. Nothing sent that way reaches the card:

  • The Wirex virtual account has SEPA and ACH but no wire rail.
  • What it receives settles into the Wirex balance, not the Safe the card spends from.

"Fund your card" already leaves this rail off for Wirex (WIREX_CARD_FUND_SECTIONS.cashDeposit: false). The wallet flow now matches it.

  • canFundByUsdBankTransfer(provider) in lib/utils/cardHelpers.ts is false for a Wirex card.
  • UsdMethodList takes an optional onBankTransferPress. DepositUsdOptions leaves it out for Wirex cardholders, and Apple Pay and Cash App (where offered) stay.
  • getUsdMethodChips(isCashAppAvailable, hasBankTransfer = true) drops ACH and Wire when the rail is hidden, so the cash list's USD row matches.

Rain cardholders and users with no card see no change.

Reviewer notes

  • ACH is hidden too, not just Wire, because it is one row and neither rail funds the card. If Wirex users should keep ACH into their Wirex balance, the alternative is relabelling the row "ACH" instead.
  • CardFundOptions.test gains a useCardProvider mock. CardFundOptions imports getUsdMethodChips from DepositUsdOptions, which now pulls in that hook.

Testing

  • jest components/DepositOption components/Card lib/utils: 50 suites, 739 tests pass.
  • New cases: a Rain cardholder keeps the bank rail, a Wirex cardholder gets only Cash App and Apple Pay, and the chip combinations.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

A Wirex cardholder's "Add funds" opens the wallet deposit flow, whose USD
step offered "Wire transfer, ACH". Nothing sent that way reaches their card:
the Wirex virtual account has no wire rail, and what it receives settles into
the Wirex balance rather than the Safe the card spends from. "Fund your card"
already leaves the rail off for Wirex (WIREX_CARD_FUND_SECTIONS.cashDeposit).

- canFundByUsdBankTransfer(provider) is false for a Wirex card.
- DepositUsdOptions drops the bank row for them; Apple Pay and Cash App stay.
- getUsdMethodChips takes a hasBankTransfer flag, so the cash list's USD row
  stops naming ACH and Wire for them too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated
solid-app Ignored Ignored Sep 29, 2026 2:00pm UTC
solid-app-staging Ignored Ignored Sep 29, 2026 2:00pm UTC

Request Review

@mul53
mul53 merged commit 6ebd82e into qa Sep 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant