Skip to content

feat: send ramps client identity for version-gated feature flags - #45823

Merged
amitabh94 merged 7 commits into
mainfrom
feat/ramps-client-identity
Aug 28, 2026
Merged

feat: send ramps client identity for version-gated feature flags#45823
amitabh94 merged 7 commits into
mainfrom
feat/ramps-client-identity

Conversation

@amitabh94

@amitabh94 amitabh94 commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Description

Wires the extension's client identity (clientProduct: 'metamask-extension', clientVersion from process.env.METAMASK_VERSION) into RampsService. The ramps-controller sends these as clientProduct/clientVersion query params so CDN cache keys vary per client, letting the on-ramp API evaluate version-gated LaunchDarkly flags — first consumer: ramps-v2-fiat-soft-default (TRAM-3828).

This also bumps @metamask/ramps-controller from ^15.0.0 to ^20.2.0 (MetaMask/core#9983 in Release/1216.0.0), adapting to the intervening breaking changes:

  • v16 — provider IDs are canonical as-is; dropped the removed normalizeProviderCode in useRampsBuildQuote
  • v20addPrecreatedOrder requires a non-empty chainId; the extension param types now require it (no production caller passes params yet)
  • v17/v18/v19 breaks don't touch extension code (getProviderScope/getDefaultRedirectUrl unused; the messenger spreads RAMPS_CONTROLLER_REQUIRED_SERVICE_ACTIONS)

Pinned to @metamask/ramps-controller@^20.2.0 (released).

Changelog

CHANGELOG entry: null

Related issues

Fixes: TRAM-3828

Manual testing steps

  1. Point the extension at the dev on-ramp API
  2. Load buy quotes / regions catalog
  3. Verify requests carry clientProduct=metamask-extension&clientVersion=<x.y.z> query params (no client-identity headers)

Screenshots/Recordings

N/A — no UI change.

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Large dependency jump on ramps buy/checkout paths and new required chainId for precreated orders; client identity on all ramps API calls affects backend flag rollout behavior.

Overview
Wires extension client identity into RampsService via clientProduct: 'metamask-extension' and clientVersion from METAMASK_VERSION, so on-ramp API requests can carry version-gated LaunchDarkly behavior through query params (not headers).

Upgrades @metamask/ramps-controller from ^15.0.0 to ^20.2.0 and adapts to breaking changes: buy-quote checkout uses provider IDs as-is (drops normalizeProviderCode), and chainId is required on addRampsPrecreatedOrder / hook types. E2E fixtures and metrics snapshots drop the removed RampsController.countries persisted state.

Reviewed by Cursor Bugbot for commit 81a8033. Bugbot is set up for automated code reviews on this repo. Configure here.

Demo

Wires clientProduct/clientVersion into RampsService so the on-ramp API
can evaluate version-gated LaunchDarkly flags per client. Bumps
@metamask/ramps-controller from ^15.0.0 to the v20 preview of
MetaMask/core#9983, adapting to v16+ canonical provider IDs and the v20
required chainId on addPrecreatedOrder.

Co-authored-by: Cursor <cursoragent@cursor.com>
@amitabh94
amitabh94 requested a review from a team as a code owner August 27, 2026 06:10
@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamask-ci

metamask-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/extension-platform (1 files, +0 -6)
  • 📁 test/
    • 📁 e2e/
      • 📁 fixtures/
        • 📄 onboarding-fixture.json +0 -6

👨‍🔧 @MetaMask/money-movement (3 files, +8 -6)
  • 📁 ui/
    • 📁 hooks/
      • 📁 ramps/
        • 📄 useRampsOrders.test.tsx +2 -0
        • 📄 useRampsOrders.ts +2 -1
    • 📁 pages/
      • 📁 ramps/
        • 📁 build-quote/
          • 📁 hooks/
            • 📄 useRampsBuildQuote.ts +4 -5

🧪 @MetaMask/qa (1 files, +0 -6)
  • 📁 test/
    • 📁 e2e/
      • 📁 fixtures/
        • 📄 onboarding-fixture.json +0 -6

@socket-security

socket-security Bot commented Aug 27, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​metamask/​ramps-controller@​15.0.0 ⏵ 20.2.0100 +210079 +199 +1100

View full report

@socket-security

socket-security Bot commented Aug 27, 2026

Copy link
Copy Markdown

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

@metamask-ci

metamask-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor
Builds ready [cbc9d0d]
⚡ Performance Benchmarks (Total: 🟢 14 pass · 🟡 8 warn · 🔴 2 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 33044900291 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]

Regressions (🔴 2 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +187%
  • loadNewAccount/total: +187%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: -21%
  • loadNewAccount/lcp: -20%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -49%
  • confirmTx/tbt: -61%
  • confirmTx/inp: -17%
  • confirmTx/fcp: -21%
  • confirmTx/lcp: -17%
  • bridgeUserActions/bridge_load_page: -13%
  • bridgeUserActions/bridge_load_asset_picker: +25%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -41%
  • bridgeUserActions/longTaskMaxDuration: -12%
  • bridgeUserActions/tbt: -39%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -22%
  • bridgeUserActions/lcp: -24%
  • loadNewAccount/load_new_account: +190%
  • loadNewAccount/total: +190%
  • loadNewAccount/inp: -24%
  • loadNewAccount/fcp: -66%
  • loadNewAccount/lcp: +1180%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -44%
  • confirmTx/lcp: +1181%
  • bridgeUserActions/bridge_load_page: +225%
  • bridgeUserActions/bridge_load_asset_picker: +211%
  • bridgeUserActions/bridge_search_token: -12%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +64%
  • bridgeUserActions/fcp: -47%
  • bridgeUserActions/lcp: +1431%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 bridgeUserActions/LCP: p75 2.7s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/domInteractive: -26%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/setupStore: +18%
  • startupStandardHome/numNetworkReqs: -13%
  • startupStandardHome/fcp: -21%
  • startupPowerUserHome/domInteractive: -22%
  • startupPowerUserHome/backgroundConnect: -21%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: -44%
  • startupPowerUserHome/setupStore: -69%
  • startupPowerUserHome/numNetworkReqs: -48%
  • startupPowerUserHome/inp: +10%
  • startupPowerUserHome/fcp: -38%
  • startupPowerUserHome/lcp: +10%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 208ms
  • 🟡 startupPowerUserHome/LCP: p75 3.2s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]
🔴 total
🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +38%
  • onboardingImportWallet/confirmSrpToPwForm: +46%
  • onboardingImportWallet/pwFormToMetricsScreen: +23%
  • onboardingImportWallet/metricsToWalletReadyScreen: +24%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -49%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -17%
  • onboardingNewWallet/doneButtonToAssetList: -15%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -15%
  • solanaAssetDetails/assetClickToPriceChart: +252%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +252%
  • solanaAssetDetails/fcp: -15%
  • importSrpHome/homeAfterImportWithNewWallet: -14%
  • importSrpHome/longTaskCount: -30%
  • importSrpHome/longTaskTotalDuration: -46%
  • importSrpHome/longTaskMaxDuration: -43%
  • importSrpHome/tbt: -53%
  • importSrpHome/total: -13%
  • importSrpHome/inp: -59%
  • importSrpHome/cls: +484%
  • sendTransactions/selectTokenToSendFormLoaded: +42%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -48%
  • sendTransactions/lcp: -62%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +227%
  • swap/fetchAndDisplaySwapQuotes: +88%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +91%
  • swap/lcp: -72%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: -60%
  • dappPageLoad/firstPaint: -41%
  • dappPageLoad/firstContentfulPaint: -41%
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 6.23 KiB (0.04%)
  • ui: 7.91 KiB (0.04%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 110 Bytes (0.01%)
  • zip: 3.88 KiB (0.02%)

Co-authored-by: Cursor <cursoragent@cursor.com>
@metamask-ci

metamask-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor
Builds ready [820baea]
⚡ Performance Benchmarks (Total: 🟢 10 pass · 🟡 10 warn · 🔴 4 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 33121785389 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingNewWallet
[Sentry log · main/release]
🔴 srpButtonToPwForm(p95) [CI log]🔴 [CI log]

Regressions (🔴 4 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟡 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +192%
  • loadNewAccount/total: +192%
  • confirmTx/longTaskTotalDuration: -14%
  • confirmTx/longTaskMaxDuration: +30%
  • confirmTx/tbt: -25%
  • bridgeUserActions/bridge_load_page: +12%
  • bridgeUserActions/bridge_load_asset_picker: +65%
  • bridgeUserActions/longTaskCount: +11%
  • bridgeUserActions/longTaskTotalDuration: -13%
  • bridgeUserActions/longTaskMaxDuration: -21%
  • bridgeUserActions/tbt: -57%
  • bridgeUserActions/inp: +15%
  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: -40%
  • loadNewAccount/lcp: +1101%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -42%
  • confirmTx/lcp: +1249%
  • bridgeUserActions/bridge_load_page: +145%
  • bridgeUserActions/bridge_load_asset_picker: +225%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +49%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -50%
  • bridgeUserActions/lcp: +1435%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 loadNewAccount/FCP: p75 1.9s
  • 🟡 confirmTx/FCP: p75 1.8s
  • 🟡 bridgeUserActions/FCP: p75 1.8s
  • 🟡 bridgeUserActions/LCP: p75 2.7s
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/domInteractive: -29%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/setupStore: +18%
  • startupStandardHome/numNetworkReqs: -13%
  • startupStandardHome/fcp: -22%
  • startupPowerUserHome/backgroundConnect: -21%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: -44%
  • startupPowerUserHome/loadScripts: +10%
  • startupPowerUserHome/setupStore: -72%
  • startupPowerUserHome/numNetworkReqs: -46%
  • startupPowerUserHome/inp: +10%
  • startupPowerUserHome/fcp: -20%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 208ms
  • 🟡 startupPowerUserHome/LCP: p75 3.0s
User Journey Benchmarks · Samples: 5 · mock API 🔴 2
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🔴 [CI log]
🔴 total
🔴 [CI log]
🔴 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +36%
  • onboardingImportWallet/confirmSrpToPwForm: +42%
  • onboardingImportWallet/pwFormToMetricsScreen: +24%
  • onboardingImportWallet/metricsToWalletReadyScreen: +24%
  • onboardingImportWallet/doneButtonToHomeScreen: -78%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -50%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/srpButtonToPwForm: +32%
  • onboardingNewWallet/createPwToRecoveryScreen: +22%
  • onboardingNewWallet/skipBackupToMetricsScreen: +35%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +43%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -66%
  • onboardingNewWallet/longTaskMaxDuration: -45%
  • onboardingNewWallet/tbt: -91%
  • solanaAssetDetails/assetClickToPriceChart: +209%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +209%
  • solanaAssetDetails/inp: -37%
  • solanaAssetDetails/lcp: -21%
  • importSrpHome/loginToHomeScreen: -16%
  • importSrpHome/longTaskCount: -30%
  • importSrpHome/longTaskTotalDuration: -46%
  • importSrpHome/longTaskMaxDuration: -51%
  • importSrpHome/tbt: -59%
  • importSrpHome/inp: -61%
  • importSrpHome/cls: +510%
  • sendTransactions/openSendPageFromHome: -27%
  • sendTransactions/selectTokenToSendFormLoaded: +56%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -48%
  • sendTransactions/fcp: +13%
  • sendTransactions/lcp: -63%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +805%
  • swap/fetchAndDisplaySwapQuotes: +88%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +100%
  • swap/lcp: -71%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.8s
  • 🟡 importSrpHome/FCP: p75 2.0s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: -58%
  • dappPageLoad/firstPaint: -46%
  • dappPageLoad/firstContentfulPaint: -46%
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -45.47 KiB (-0.31%)
  • ui: -10.1 KiB (-0.05%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: -2.07 KiB (-0.11%)
  • zip: -14.3 KiB (-0.06%)

matteyusys
matteyusys previously approved these changes Aug 27, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
@metamask-ci

metamask-ci Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor
Builds ready [71c6887]
⚡ Performance Benchmarks (Total: 🟢 11 pass · 🟡 9 warn · 🔴 3 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 33192087378 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]
onboardingImportWallet
[Sentry log · main/release]
🔴 srpButtonToSrpForm(p95) [CI log]🟢 [CI log]

Regressions (🔴 3 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +191%
  • loadNewAccount/total: +191%
  • loadNewAccount/fcp: -11%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -49%
  • confirmTx/tbt: -62%
  • confirmTx/inp: -17%
  • confirmTx/fcp: -15%
  • bridgeUserActions/bridge_load_page: -13%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -50%
  • bridgeUserActions/longTaskMaxDuration: -22%
  • bridgeUserActions/tbt: -59%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -18%
  • bridgeUserActions/lcp: -17%
  • loadNewAccount/load_new_account: +194%
  • loadNewAccount/total: +194%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: -52%
  • loadNewAccount/lcp: +1192%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -43%
  • confirmTx/lcp: +1194%
  • bridgeUserActions/bridge_load_page: +269%
  • bridgeUserActions/bridge_load_asset_picker: +133%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +27%
  • bridgeUserActions/inp: -23%
  • bridgeUserActions/fcp: -49%
  • bridgeUserActions/lcp: +1156%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/firstPaint: +14%
  • startupStandardHome/backgroundConnect: +14%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/lcp: +11%
  • startupStandardHome/domInteractive: -32%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/setupStore: +13%
  • startupStandardHome/numNetworkReqs: -10%
  • startupStandardHome/fcp: -27%
  • startupPowerUserHome/domInteractive: -35%
  • startupPowerUserHome/backgroundConnect: -19%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: -44%
  • startupPowerUserHome/setupStore: -74%
  • startupPowerUserHome/numNetworkReqs: -49%
  • startupPowerUserHome/inp: +19%
  • startupPowerUserHome/fcp: -28%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 224ms
  • 🟡 startupPowerUserHome/LCP: p75 2.9s
User Journey Benchmarks · Samples: 5 · mock API 🔴 1
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🔴 [CI log]
🔴 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
importSrpHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +32%
  • onboardingImportWallet/confirmSrpToPwForm: +40%
  • onboardingImportWallet/pwFormToMetricsScreen: +19%
  • onboardingImportWallet/metricsToWalletReadyScreen: +25%
  • onboardingImportWallet/doneButtonToHomeScreen: -91%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -40%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -91%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -78%
  • onboardingNewWallet/createPwToRecoveryScreen: -11%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: -15%
  • onboardingNewWallet/doneButtonToAssetList: -81%
  • onboardingNewWallet/longTaskCount: -100%
  • onboardingNewWallet/longTaskTotalDuration: -100%
  • onboardingNewWallet/longTaskMaxDuration: -100%
  • onboardingNewWallet/tbt: -100%
  • onboardingNewWallet/total: -78%
  • solanaAssetDetails/assetClickToPriceChart: +230%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +230%
  • solanaAssetDetails/inp: +11%
  • solanaAssetDetails/fcp: +14%
  • importSrpHome/loginToHomeScreen: -21%
  • importSrpHome/longTaskCount: -44%
  • importSrpHome/longTaskTotalDuration: -51%
  • importSrpHome/longTaskMaxDuration: -44%
  • importSrpHome/tbt: -57%
  • importSrpHome/inp: -61%
  • importSrpHome/cls: +484%
  • sendTransactions/selectTokenToSendFormLoaded: +113%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -93%
  • sendTransactions/inp: -37%
  • sendTransactions/lcp: -60%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +880%
  • swap/fetchAndDisplaySwapQuotes: +88%
  • swap/longTaskCount: +33%
  • swap/longTaskTotalDuration: -16%
  • swap/longTaskMaxDuration: -12%
  • swap/tbt: -100%
  • swap/total: +104%
  • swap/lcp: -71%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 importSrpHome/FCP: p75 1.8s
  • 🟡 swap/FCP: p75 1.8s
  • 🟡 assetDetails/FCP: p75 2.0s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.9s
  • 🟡 swap/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs [🚀 Bundle size reduced!]
  • background: -31.14 KiB (-0.21%)
  • ui: -35.35 KiB (-0.19%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: -1.75 KiB (-0.09%)
  • zip: -33.94 KiB (-0.15%)

pull Bot pushed a commit to dmrazzy/core that referenced this pull request Aug 28, 2026
…mp API requests (MetaMask#9983)

## Explanation

The on-ramp API is adding server-side feature flags (LaunchDarkly) that
are gated per client product and client version — e.g. "enable feature X
for MetaMask Mobile >= 8.10.0". To evaluate those gates, the API needs
to know which client is calling.

This PR adds optional `clientProduct` and `clientVersion` constructor
options to `RampsService` and `TransakService`. When the host supplies
them, every on-ramp API fetch carries two query params:

- `clientProduct` (e.g. `metamask-mobile`)
- `clientVersion` (the app SemVer, not the ramps-controller package
version)

Identity travels **in the URL, not in headers**, because the on-ramp CDN
caches responses keyed by URL. If gating identity lived in headers, two
clients in different flag cohorts would share the same cache entry and
one cohort's response could be served to the other. Query params make
the cache key and the flag decision agree by construction.

Both fields are optional. Hosts that don't pass them send no identity
params, and the API fails closed (feature off) — so this is fully
backwards compatible.

Also exported for hosts and tests: the `RampsClientIdentity` type, the
`addRampsClientIdentityParams` helper, and the
`RAMPS_CLIENT_PRODUCT_PARAM` / `RAMPS_CLIENT_VERSION_PARAM` constants.

The `controller` query param is intentionally left as the
ramps-controller package version; the new params carry the app identity
instead of overloading it.

## References

Related to the on-ramp API version-gated feature flag rollout (Unified
Buy 2.0 catalog gating / fiat soft-default) —
[TRAM-3828](https://consensyssoftware.atlassian.net/browse/TRAM-3828).

- API: consensys-vertical-apps/va-mmcx-onramp-api#1141
- Mobile: MetaMask/metamask-mobile#35359
- Extension: MetaMask/metamask-extension#45823

## Changelog

Updated `packages/ramps-controller/CHANGELOG.md` (Unreleased → Added).

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc) for new or updated code as
appropriate
- [x] I've communicated my changes to consumers by updating changelogs
for packages I've changed
- [x] No breaking changes introduced

Made with [Cursor](https://cursor.com)

## Demo

<div>
<a href="https://www.loom.com/share/9f913895e9bb4ccd95a3a79138566f4c">
<p>Introducing Launchdarkly flags for Ramps Backend - Watch Video</p>
    </a>
<a href="https://www.loom.com/share/9f913895e9bb4ccd95a3a79138566f4c">
<img style="max-width:300px;"
src="https://cdn.loom.com/sessions/thumbnails/9f913895e9bb4ccd95a3a79138566f4c-36a975aecd13f632-full-play.gif#t=0.1">
    </a>
  </div>

[TRAM-3828]:
https://consensyssoftware.atlassian.net/browse/TRAM-3828?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
@amitabh94
amitabh94 deployed to pr-comment August 28, 2026 17:29 — with GitHub Actions Active
@roz0n
roz0n self-requested a review August 28, 2026 17:33
roz0n
roz0n previously approved these changes Aug 28, 2026
ramps-controller 20.x no longer persists the countries catalog, so Sentry
before-init masks and wallet fixtures must not expect that key.

Co-authored-by: Cursor <cursoragent@cursor.com>
@amitabh94
amitabh94 dismissed stale reviews from matteyusys and roz0n via 988da09 August 28, 2026 19:26
@amitabh94
amitabh94 requested review from a team as code owners August 28, 2026 19:26
@amitabh94
amitabh94 deployed to pr-comment August 28, 2026 19:26 — with GitHub Actions Active
ramps-controller@20.2.0 pulls remote-feature-flag-controller@^6.1.0,
which left ^6.0.0 pinned at 6.0.0 and failed `yarn dedupe --check`.

Co-authored-by: Cursor <cursoragent@cursor.com>
@amitabh94
amitabh94 deployed to pr-comment August 28, 2026 19:33 — with GitHub Actions Active
@matteyusys
matteyusys self-requested a review August 28, 2026 19:48
@amitabh94
amitabh94 deployed to pr-comment August 28, 2026 19:50 — with GitHub Actions Active
@amitabh94
amitabh94 enabled auto-merge August 28, 2026 19:50
@sonarqubecloud

Copy link
Copy Markdown

@amitabh94
amitabh94 deployed to pr-comment August 28, 2026 20:14 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor
Builds ready [81a8033]
⚡ Performance Benchmarks (Total: 🟢 13 pass · 🟡 8 warn · 🔴 2 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 33205617891 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]

Regressions (🔴 2 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +189%
  • loadNewAccount/total: +189%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: -17%
  • loadNewAccount/lcp: -18%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -46%
  • confirmTx/tbt: -56%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -15%
  • confirmTx/lcp: -20%
  • bridgeUserActions/bridge_load_page: -17%
  • bridgeUserActions/bridge_load_asset_picker: -26%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -48%
  • bridgeUserActions/longTaskMaxDuration: -18%
  • bridgeUserActions/tbt: -50%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -17%
  • bridgeUserActions/lcp: -19%
  • loadNewAccount/load_new_account: +193%
  • loadNewAccount/total: +193%
  • loadNewAccount/fcp: -44%
  • loadNewAccount/lcp: +1226%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -53%
  • confirmTx/lcp: +1258%
  • bridgeUserActions/bridge_load_page: +226%
  • bridgeUserActions/bridge_load_asset_picker: +189%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +34%
  • bridgeUserActions/inp: +15%
  • bridgeUserActions/fcp: -51%
  • bridgeUserActions/lcp: +1180%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/backgroundConnect: +12%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/domInteractive: -11%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/setupStore: +24%
  • startupStandardHome/numNetworkReqs: -13%
  • startupPowerUserHome/uiStartup: -11%
  • startupPowerUserHome/domInteractive: -37%
  • startupPowerUserHome/backgroundConnect: -23%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: -44%
  • startupPowerUserHome/setupStore: -73%
  • startupPowerUserHome/numNetworkReqs: -48%
  • startupPowerUserHome/inp: +14%
  • startupPowerUserHome/fcp: -26%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 216ms
  • 🟡 startupPowerUserHome/LCP: p75 2.9s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]
🔴 total
🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 assetClickToPriceChart
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +38%
  • onboardingImportWallet/confirmSrpToPwForm: +43%
  • onboardingImportWallet/pwFormToMetricsScreen: +30%
  • onboardingImportWallet/metricsToWalletReadyScreen: +21%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/srpButtonToPwForm: +28%
  • onboardingNewWallet/createPwToRecoveryScreen: +12%
  • onboardingNewWallet/skipBackupToMetricsScreen: +32%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +15%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -77%
  • onboardingNewWallet/longTaskMaxDuration: -45%
  • onboardingNewWallet/tbt: -91%
  • solanaAssetDetails/assetClickToPriceChart: +228%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +228%
  • solanaAssetDetails/fcp: +12%
  • importSrpHome/loginToHomeScreen: -19%
  • importSrpHome/longTaskCount: -37%
  • importSrpHome/longTaskTotalDuration: -52%
  • importSrpHome/longTaskMaxDuration: -54%
  • importSrpHome/tbt: -66%
  • importSrpHome/inp: -56%
  • importSrpHome/cls: +484%
  • sendTransactions/openSendPageFromHome: -23%
  • sendTransactions/selectTokenToSendFormLoaded: +36%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -48%
  • sendTransactions/lcp: -61%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +778%
  • swap/fetchAndDisplaySwapQuotes: +87%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +101%
  • swap/lcp: -71%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 2.0s
  • 🟡 swap/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100

⚠️ Missing data: chrome/webpack/pageLoadBenchmark

✅ No regressions detected

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 8.6 KiB (0.06%)
  • ui: 4.85 KiB (0.03%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 138 Bytes (0.01%)
  • zip: 3.13 KiB (0.01%)

@amitabh94
amitabh94 deployed to pr-comment August 28, 2026 20:26 — with GitHub Actions Active
@metamask-ci

metamask-ci Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor
Builds ready [81a8033]
⚡ Performance Benchmarks (Total: 🟢 14 pass · 🟡 8 warn · 🔴 2 fail)

Baseline (latest main): 171ed20 | Date: 7/28/2026 | Pipeline: 33205617891 | Baseline logs

Metricschrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 load_new_account(p95) [CI log]🔴 load_new_account(p95) [CI log]

Regressions (🔴 2 failures)

Interaction Benchmarks · Samples: 5 🔴 2
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🔴 [CI log]
🔴 load_new_account
🔴 [CI log]
🔴 load_new_account
confirmTx
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
bridgeUserActions
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • loadNewAccount/load_new_account: +189%
  • loadNewAccount/total: +189%
  • loadNewAccount/inp: -17%
  • loadNewAccount/fcp: -17%
  • loadNewAccount/lcp: -18%
  • confirmTx/longTaskCount: -33%
  • confirmTx/longTaskTotalDuration: -46%
  • confirmTx/tbt: -56%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -15%
  • confirmTx/lcp: -20%
  • bridgeUserActions/bridge_load_page: -17%
  • bridgeUserActions/bridge_load_asset_picker: -26%
  • bridgeUserActions/longTaskCount: -44%
  • bridgeUserActions/longTaskTotalDuration: -48%
  • bridgeUserActions/longTaskMaxDuration: -18%
  • bridgeUserActions/tbt: -50%
  • bridgeUserActions/inp: -15%
  • bridgeUserActions/fcp: -17%
  • bridgeUserActions/lcp: -19%
  • loadNewAccount/load_new_account: +193%
  • loadNewAccount/total: +193%
  • loadNewAccount/fcp: -44%
  • loadNewAccount/lcp: +1226%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -24%
  • confirmTx/fcp: -53%
  • confirmTx/lcp: +1258%
  • bridgeUserActions/bridge_load_page: +226%
  • bridgeUserActions/bridge_load_asset_picker: +189%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +34%
  • bridgeUserActions/inp: +15%
  • bridgeUserActions/fcp: -51%
  • bridgeUserActions/lcp: +1180%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/backgroundConnect: +12%
  • startupStandardHome/firstReactRender: -99%
  • startupStandardHome/initialActions: -33%
  • startupStandardHome/domInteractive: -11%
  • startupStandardHome/firstReactRender: -98%
  • startupStandardHome/initialActions: -50%
  • startupStandardHome/setupStore: +24%
  • startupStandardHome/numNetworkReqs: -13%
  • startupPowerUserHome/uiStartup: -11%
  • startupPowerUserHome/domInteractive: -37%
  • startupPowerUserHome/backgroundConnect: -23%
  • startupPowerUserHome/firstReactRender: -99%
  • startupPowerUserHome/initialActions: -44%
  • startupPowerUserHome/setupStore: -73%
  • startupPowerUserHome/numNetworkReqs: -48%
  • startupPowerUserHome/inp: +14%
  • startupPowerUserHome/fcp: -26%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 startupPowerUserHome/INP: p75 216ms
  • 🟡 startupPowerUserHome/LCP: p75 2.9s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟡 [CI log]
🟡 total
🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]
🔴 total
🟡 [CI log]
🟡 total
assetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
solanaAssetDetails
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 assetClickToPriceChart
importSrpHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
sendTransactions
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
swap
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • onboardingImportWallet/srpButtonToSrpForm: +38%
  • onboardingImportWallet/confirmSrpToPwForm: +43%
  • onboardingImportWallet/pwFormToMetricsScreen: +30%
  • onboardingImportWallet/metricsToWalletReadyScreen: +21%
  • onboardingImportWallet/doneButtonToHomeScreen: -92%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -51%
  • onboardingImportWallet/longTaskCount: -86%
  • onboardingImportWallet/longTaskTotalDuration: -96%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -81%
  • onboardingNewWallet/srpButtonToPwForm: +28%
  • onboardingNewWallet/createPwToRecoveryScreen: +12%
  • onboardingNewWallet/skipBackupToMetricsScreen: +32%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +15%
  • onboardingNewWallet/longTaskCount: -69%
  • onboardingNewWallet/longTaskTotalDuration: -77%
  • onboardingNewWallet/longTaskMaxDuration: -45%
  • onboardingNewWallet/tbt: -91%
  • solanaAssetDetails/assetClickToPriceChart: +228%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: +228%
  • solanaAssetDetails/fcp: +12%
  • importSrpHome/loginToHomeScreen: -19%
  • importSrpHome/longTaskCount: -37%
  • importSrpHome/longTaskTotalDuration: -52%
  • importSrpHome/longTaskMaxDuration: -54%
  • importSrpHome/tbt: -66%
  • importSrpHome/inp: -56%
  • importSrpHome/cls: +484%
  • sendTransactions/openSendPageFromHome: -23%
  • sendTransactions/selectTokenToSendFormLoaded: +36%
  • sendTransactions/reviewTransactionToConfirmationPage: -98%
  • sendTransactions/longTaskCount: -100%
  • sendTransactions/longTaskTotalDuration: -100%
  • sendTransactions/longTaskMaxDuration: -100%
  • sendTransactions/tbt: -100%
  • sendTransactions/total: -95%
  • sendTransactions/inp: -48%
  • sendTransactions/lcp: -61%
  • sendTransactions/cls: +171%
  • swap/openSwapPageFromHome: +778%
  • swap/fetchAndDisplaySwapQuotes: +87%
  • swap/longTaskCount: -100%
  • swap/longTaskTotalDuration: -100%
  • swap/longTaskMaxDuration: -100%
  • swap/tbt: -100%
  • swap/total: +101%
  • swap/lcp: -71%
  • swap/cls: -92%

🌐 Core Web Vitals — 🟢 good · 🟡 needs improvement · 🔴 poor (web.dev thresholds)

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 2.0s
  • 🟡 swap/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]

📈 Results compared to the previous 5 runs on main

  • dappPageLoad/pageLoadTime: -58%
  • dappPageLoad/firstPaint: -46%
  • dappPageLoad/firstContentfulPaint: -46%
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 8.6 KiB (0.06%)
  • ui: 4.85 KiB (0.03%)
  • common: 0 Bytes (0%)
  • other: 0 Bytes (0%)
  • contentScripts: 138 Bytes (0.01%)
  • zip: 3.13 KiB (0.01%)

@amitabh94
amitabh94 added this pull request to the merge queue Aug 28, 2026
Merged via the queue into main with commit 5a27f2d Aug 28, 2026
260 of 263 checks passed
@amitabh94
amitabh94 deleted the feat/ramps-client-identity branch August 28, 2026 21:26
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 28, 2026
@metamaskbot metamaskbot added the release-13.48.0 Issue or pull request that will be included in release 13.48.0 label Aug 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.48.0 Issue or pull request that will be included in release 13.48.0 risk:high size-S team-money-movement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants