Skip to content

[10] feat(checkout): fiat-first cash funding with live on-ramp quotes#803

Open
tomiiide wants to merge 3 commits into
checkout/09-wallet-any-routefrom
checkout/10-cash-fiat-quote-flow
Open

[10] feat(checkout): fiat-first cash funding with live on-ramp quotes#803
tomiiide wants to merge 3 commits into
checkout/09-wallet-any-routefrom
checkout/10-cash-fiat-quote-flow

Conversation

@tomiiide

Copy link
Copy Markdown
Contributor

Which Linear task is linked to this PR?

EMB-464 — Quote-aware Transak funding: live quote + dynamic fiat currencies

Why was it implemented this way?

This branch builds on checkout/09-wallet-any-route and replaces the faked cash quote (CheckoutFlowCtaButton computing fiatAmount = cryptoAmount × priceUSD, hardcoded USD/EUR/GBP) with the Core API's quote-aware Transak endpoints.

  • Fiat-first input. The cash flow now takes a fiat amount (cashFiatAmount) with presets and currency/payment-method selection driven by /v1/checkout/onramp/fiat-currencies. A debounced /v1/checkout/onramp/quote derives the crypto route amount, fees, and guaranteed minimum, gating the CTA until the quote and route agree.
  • Dynamic currencies. fiatCurrency is no longer a USD/EUR/GBP union; currencies, symbols, and names come from the API and Intl (fiatFormat/currencyToFlag), with the static list kept only as a fallback.
  • Session metadata for reconciliation. fundingSessionId is carried through OnRampSession state, the Transak/Mesh hosts, the checkout CheckoutResult, and the persisted pending record (bumped to v5) so resume/reconciliation can match the provider order.
  • Transak hand-off. A bottom sheet confirms the temporary deposit-address hand-off before launching Transak.

Visual showcase (Screenshots or Videos)

Not included; recommend a playground pass on the cash flow: pick a currency/payment method, type a fiat amount, confirm the receive card shows a live quote (fees + guaranteed minimum) and the CTA enables once the route matches.

Checklist before requesting a review

  • I have performed a self-review and testing of my code.
  • This pull request is focused and addresses a single problem.
  • If this PR modifies the Widget API or adds new features that require documentation, I have updated the documentation in the public-docs repository.

@changeset-bot

changeset-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 54f351e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 14 packages
Name Type
@lifi/widget-provider Minor
@lifi/widget-provider-transak Major
@lifi/widget-provider-mesh Major
@lifi/widget-checkout Minor
@lifi/widget Minor
@lifi/wallet-management Patch
@lifi/widget-provider-bitcoin Patch
@lifi/widget-provider-ethereum Patch
@lifi/widget-provider-solana Patch
@lifi/widget-provider-sui Patch
@lifi/widget-provider-tron Patch
vite-iframe Patch
nft-checkout Patch
tanstack-router-example Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@tomiiide tomiiide marked this pull request as ready for review June 23, 2026 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants