Skip to content

Add external wallet deposit option to card funding - #1970

Merged
MusabShakeel576 merged 1 commit into
qafrom
claude/add-external-wallet-deposit-AtDYW
Apr 21, 2026
Merged

Add external wallet deposit option to card funding#1970
MusabShakeel576 merged 1 commit into
qafrom
claude/add-external-wallet-deposit-AtDYW

Conversation

@MusabShakeel576

Copy link
Copy Markdown
Contributor

Summary

This PR adds support for depositing USDC from external wallets to fund cards. Users can now select "External Wallet" as a deposit source and transfer USDC on the Base chain directly to their card's funding address.

Key Changes

  • New deposit source: Added CardDepositSource.EXTERNAL option to the source selector in both native and web implementations
  • DepositPublicAddress component enhancement: Made the component more flexible by adding optional address and description props, allowing it to be reused for external wallet deposits with custom messaging
  • External wallet flow: When external wallet is selected, displays the card's funding address via QR code and copy-to-clipboard, with a link to the USDC token address on BaseScan
  • UI updates:
    • Added "External Wallet" option to both native and web source selector dropdowns
    • Updated icon logic to show wallet icon for external wallet deposits
    • Hides destination display and error messages when external wallet is selected (since transfers are manual)
    • Conditionally renders action buttons based on selected deposit source
  • Token symbol handling: External wallet deposits use USDC as the token symbol

Implementation Details

  • The funding address is derived from card details using the existing getCardFundingAddress utility
  • External wallet deposits bypass the normal bridge/swap flow since they're direct manual transfers
  • The DepositPublicAddress component now accepts optional overrides for address and description, making it reusable for different deposit scenarios
  • Added BASE_USDC_TOKEN_URL constant pointing to the USDC token on BaseScan for user reference

https://claude.ai/code/session_016b47CP58T3FaoHqVJtyQPW

Adds "External Wallet" as a fourth option in the card deposit dropdown
(after Borrow against Savings, Savings, and Wallet). When selected, the
card funding address is rendered via the reusable DepositPublicAddress
screen from the Add funds modal with a Base chain USDC description that
links to the token contract on Basescan.

- Extend DepositPublicAddress with optional `address` and `description`
  props so the "Your Solid address" screen can be reused for arbitrary
  deposit addresses.
- Render the address screen inline in CardDepositInternalForm when the
  EXTERNAL source is chosen, hiding amount input, destination, error
  and submit UI for that mode.
@vercel

vercel Bot commented Apr 21, 2026

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
solid-app Ignored Ignored Apr 21, 2026 7:54am
solid-app-staging Ignored Ignored Apr 21, 2026 7:54am

Request Review

@MusabShakeel576
MusabShakeel576 merged commit c3dd834 into qa Apr 21, 2026
4 of 5 checks passed
@MusabShakeel576
MusabShakeel576 deleted the claude/add-external-wallet-deposit-AtDYW branch April 21, 2026 08:31
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.

2 participants