Skip to content

feat(arc): add USDC by default and treat native as USDC on Arc#43455

Closed
salimtb wants to merge 11 commits into
mainfrom
feat/arc-default-usdc-token
Closed

feat(arc): add USDC by default and treat native as USDC on Arc#43455
salimtb wants to merge 11 commits into
mainfrom
feat/arc-default-usdc-token

Conversation

@salimtb

@salimtb salimtb commented Jun 11, 2026

Copy link
Copy Markdown
Contributor
  • Auto-import USDC for all EVM accounts on Arc when the network is present, and for newly created EVM accounts thereafter.
  • Hide the Arc native zero-address token everywhere it would otherwise appear as a duplicate USDC entry (token list, send asset picker, aggregated balance).
  • Skip rendering the pay-with row on Arc since the transaction always pays with the native token; this prevents the "no payment route" error.

Description

Changelog

CHANGELOG entry: add USDC by default and treat native as USDC on Arc

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

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
Changes span send max-amount math, aggregated balances, and MetaMask Pay token selection—user-visible fund and gas behavior on Arc, though scoped to one chain and covered by new tests.

Overview
Adds Arc-specific USDC treatment so users see one balance (the mirrored USDC ERC20) instead of duplicate native/USDC entries, with gas and pay flows aligned to the shared on-chain balance.

Default USDC on Arc: When Arc is added, the background subscribes to NetworkController:networkAdded and calls addCustomAsset for Arc USDC on every EVM account; useArcDefaultTokens does the same from the UI polling path for accounts that do not already have the asset. ARC_USDC_TOKEN_ADDRESS is documented in shared network constants.

Display and balances: Arc native assets (zero address / isNative) are stripped in asset selectors and token balances; the token list always surfaces Arc USDC (including zero balance on Arc) outside the low-value bucket; the send asset picker omits the separate native row on Arc. Token management disables hide/import toggles for the Arc USDC identifier (bare address or full CAIP id).

Send max on Arc: sharesBalanceWithNativeGasToken routes Arc USDC through getArcMaxAmountFn, reserving ERC20-transfer gas with 18→6 decimal scaling and optional fetchSuggestedMaxFeePerGas when controller estimates are missing.

Pay / confirmations: Arc USDC is excluded from MetaMask Pay selectable tokens; required-tokens UI uses native vs ERC20 asset pills when the required token is the native address.

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

- Auto-import USDC for all EVM accounts on Arc when the network is present,
  and for newly created EVM accounts thereafter.
- Hide the Arc native zero-address token everywhere it would otherwise appear
  as a duplicate USDC entry (token list, send asset picker, aggregated balance).
- Skip rendering the pay-with row on Arc since the transaction always pays
  with the native token; this prevents the "no payment route" error.
@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.

@mm-token-exchange-service

mm-token-exchange-service Bot commented Jun 11, 2026

Copy link
Copy Markdown

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (8 files, +400 -21)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 rows/
            • 📁 pay-with-row/
              • 📄 pay-with-row.tsx +11 -0
            • 📁 required-tokens-row/
              • 📄 required-tokens-row.test.tsx +23 -2
              • 📄 required-tokens-row.tsx +12 -6
        • 📁 hooks/
          • 📁 send/
            • 📄 useMaxAmount.test.ts +91 -11
            • 📄 useMaxAmount.ts +155 -1
        • 📁 utils/
          • 📄 send.ts +51 -0
          • 📄 transaction-pay.test.ts +42 -1
          • 📄 transaction-pay.ts +15 -0

👨‍🔧 @MetaMask/core-extension-ux (1 files, +2 -0)
  • 📁 ui/
    • 📁 components/
      • 📁 multichain/
        • 📁 asset-picker-amount/
          • 📁 asset-picker-modal/
            • 📄 asset-picker-modal.tsx +2 -0

💎 @MetaMask/metamask-assets (2 files, +73 -3)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 assets/
          • 📁 token-list/
            • 📄 token-list.test.tsx +65 -1
            • 📄 token-list.tsx +8 -2

…accounts

Subscribe to the NetworkController:networkAdded event at the controller layer
so USDC is added the moment Arc is added — independent of whether any UI
provider (AssetPollingProvider) happens to be mounted. The UI-side hook still
handles backfill for accounts added later.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Adds USDC on Arc for all EVM accounts that don't already have it, whenever
* the Arc network is present. Also handles new accounts added after Arc.
*/
export function useArcDefaultTokens() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, I don't think we need both metamask-controller changes if we have this effect :)

@metamaskbotv2

metamaskbotv2 Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor
Builds ready [7e4b9f0]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 19 pass · 🟡 6 warn · 🔴 0 fail)

Baseline (latest main): ceac656 | Date: 6/11/2026 | Pipeline: 27344186084 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
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: -42%
  • loadNewAccount/total: -42%
  • loadNewAccount/inp: -42%
  • loadNewAccount/fcp: -24%
  • loadNewAccount/lcp: -18%
  • confirmTx/longTaskTotalDuration: -25%
  • confirmTx/longTaskMaxDuration: -26%
  • confirmTx/tbt: -41%
  • confirmTx/inp: -31%
  • confirmTx/fcp: -22%
  • confirmTx/lcp: -12%
  • bridgeUserActions/bridge_load_asset_picker: -40%
  • bridgeUserActions/longTaskCount: -38%
  • bridgeUserActions/longTaskTotalDuration: -38%
  • bridgeUserActions/longTaskMaxDuration: -13%
  • bridgeUserActions/tbt: -46%
  • bridgeUserActions/total: -14%
  • bridgeUserActions/inp: -12%
  • bridgeUserActions/fcp: -20%
  • loadNewAccount/load_new_account: +20%
  • loadNewAccount/total: +20%
  • loadNewAccount/inp: -28%
  • loadNewAccount/fcp: -64%
  • loadNewAccount/lcp: +1055%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: -12%
  • confirmTx/lcp: +1181%
  • bridgeUserActions/bridge_load_page: +320%
  • bridgeUserActions/bridge_load_asset_picker: +154%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +43%
  • bridgeUserActions/inp: -19%
  • bridgeUserActions/fcp: -46%
  • bridgeUserActions/lcp: +1094%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupStandardHome/domInteractive: -17%
  • startupStandardHome/inp: -23%
  • startupStandardHome/fcp: -19%
  • startupPowerUserHome/domInteractive: +22%
  • startupPowerUserHome/backgroundConnect: +14%
  • startupPowerUserHome/fcp: +20%

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

  • 🟡 startupPowerUserHome/INP: p75 496ms
  • 🟡 startupPowerUserHome/LCP: p75 2.8s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
onboardingNewWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
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/doneButtonToHomeScreen: -90%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -98%
  • onboardingImportWallet/longTaskCount: -71%
  • onboardingImportWallet/longTaskTotalDuration: -91%
  • onboardingImportWallet/longTaskMaxDuration: -87%
  • onboardingImportWallet/tbt: -98%
  • onboardingImportWallet/total: -90%
  • onboardingNewWallet/skipBackupToMetricsScreen: +17%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +15%
  • onboardingNewWallet/longTaskCount: -44%
  • onboardingNewWallet/longTaskTotalDuration: -62%
  • onboardingNewWallet/longTaskMaxDuration: -25%
  • onboardingNewWallet/tbt: -83%
  • assetDetails/assetClickToPriceChart: +32%
  • assetDetails/longTaskCount: +67%
  • assetDetails/longTaskTotalDuration: +186%
  • assetDetails/longTaskMaxDuration: +271%
  • assetDetails/tbt: +1900%
  • assetDetails/total: +32%
  • assetDetails/inp: -32%
  • assetDetails/lcp: -16%
  • assetDetails/cls: -94%
  • solanaAssetDetails/assetClickToPriceChart: -68%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -68%
  • solanaAssetDetails/lcp: -15%
  • solanaAssetDetails/cls: -90%
  • importSrpHome/loginToHomeScreen: -20%
  • importSrpHome/openAccountMenuAfterLogin: +27%
  • importSrpHome/homeAfterImportWithNewWallet: -36%
  • importSrpHome/longTaskCount: -21%
  • importSrpHome/longTaskTotalDuration: -28%
  • importSrpHome/longTaskMaxDuration: -15%
  • importSrpHome/tbt: -29%
  • importSrpHome/total: -32%
  • importSrpHome/inp: -33%
  • importSrpHome/fcp: +12%
  • importSrpHome/lcp: -20%
  • importSrpHome/cls: -11%
  • sendTransactions/openSendPageFromHome: +19%
  • sendTransactions/selectTokenToSendFormLoaded: +20%
  • sendTransactions/reviewTransactionToConfirmationPage: +15%
  • sendTransactions/longTaskCount: +11%
  • sendTransactions/longTaskTotalDuration: +13%
  • sendTransactions/tbt: +20%
  • sendTransactions/total: +15%
  • sendTransactions/inp: -20%
  • sendTransactions/cls: -90%

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

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.8s
  • 🟡 sendTransactions/FCP: p75 1.8s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 24.4 KiB (0.36%)
  • ui: 19.66 KiB (0.17%)
  • common: 7 Bytes (0%)

Comment thread ui/selectors/assets.ts
Comment thread ui/pages/confirmations/components/rows/pay-with-row/pay-with-row.tsx Outdated
@metamaskbotv2

metamaskbotv2 Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor
Builds ready [e015356]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 17 pass · 🟡 8 warn · 🔴 0 fail)

Baseline (latest main): 697494a | Date: 6/11/2026 | Pipeline: 27350127756 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
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: -17%
  • loadNewAccount/total: -17%
  • confirmTx/longTaskCount: +25%
  • confirmTx/lcp: -10%
  • bridgeUserActions/bridge_load_asset_picker: -11%
  • bridgeUserActions/longTaskCount: -29%
  • bridgeUserActions/longTaskTotalDuration: -20%
  • bridgeUserActions/inp: +21%
  • loadNewAccount/load_new_account: +26%
  • loadNewAccount/total: +26%
  • loadNewAccount/inp: +12%
  • loadNewAccount/fcp: -52%
  • loadNewAccount/lcp: +1046%
  • confirmTx/confirm_tx: +12%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +12%
  • confirmTx/inp: -18%
  • confirmTx/lcp: +1052%
  • bridgeUserActions/bridge_load_page: +127%
  • bridgeUserActions/bridge_search_token: -10%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/inp: +37%
  • bridgeUserActions/lcp: +1071%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupPowerUserHome/domInteractive: +11%
  • startupPowerUserHome/inp: +11%
  • startupStandardHome/setupStore: +16%
  • startupStandardHome/inp: +67%
  • startupPowerUserHome/uiStartup: -11%
  • startupPowerUserHome/domInteractive: -44%
  • startupPowerUserHome/backgroundConnect: -43%
  • startupPowerUserHome/firstReactRender: +11%
  • startupPowerUserHome/setupStore: -47%
  • startupPowerUserHome/numNetworkReqs: -50%
  • startupPowerUserHome/fcp: -42%
  • startupPowerUserHome/lcp: -13%

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

  • 🔴 startupPowerUserHome/INP: p75 576ms
  • 🟡 startupPowerUserHome/INP: p75 208ms
  • 🟡 startupPowerUserHome/LCP: p75 2.5s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [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/metricsToWalletReadyScreen: +12%
  • onboardingImportWallet/doneButtonToHomeScreen: -87%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -98%
  • onboardingImportWallet/longTaskCount: -71%
  • onboardingImportWallet/longTaskTotalDuration: -91%
  • onboardingImportWallet/longTaskMaxDuration: -86%
  • onboardingImportWallet/tbt: -97%
  • onboardingImportWallet/total: -88%
  • onboardingNewWallet/srpButtonToPwForm: +12%
  • onboardingNewWallet/createPwToRecoveryScreen: +14%
  • onboardingNewWallet/skipBackupToMetricsScreen: +18%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +19%
  • onboardingNewWallet/doneButtonToAssetList: -23%
  • onboardingNewWallet/longTaskCount: -55%
  • onboardingNewWallet/longTaskTotalDuration: -39%
  • onboardingNewWallet/tbt: -33%
  • onboardingNewWallet/total: -20%
  • assetDetails/assetClickToPriceChart: +30%
  • assetDetails/longTaskCount: +67%
  • assetDetails/longTaskTotalDuration: +204%
  • assetDetails/longTaskMaxDuration: +280%
  • assetDetails/tbt: +924%
  • assetDetails/total: +30%
  • assetDetails/inp: -35%
  • assetDetails/cls: -89%
  • solanaAssetDetails/assetClickToPriceChart: -68%
  • solanaAssetDetails/longTaskCount: +150%
  • solanaAssetDetails/longTaskTotalDuration: +142%
  • solanaAssetDetails/longTaskMaxDuration: +142%
  • solanaAssetDetails/tbt: +135%
  • solanaAssetDetails/total: -68%
  • solanaAssetDetails/inp: +15%
  • solanaAssetDetails/cls: -92%
  • importSrpHome/openAccountMenuAfterLogin: -11%
  • importSrpHome/homeAfterImportWithNewWallet: -48%
  • importSrpHome/longTaskCount: -20%
  • importSrpHome/longTaskTotalDuration: -29%
  • importSrpHome/tbt: -36%
  • importSrpHome/total: -39%
  • importSrpHome/inp: -26%
  • importSrpHome/lcp: -56%
  • sendTransactions/openSendPageFromHome: +18%
  • sendTransactions/selectTokenToSendFormLoaded: +32%
  • sendTransactions/reviewTransactionToConfirmationPage: +11%
  • sendTransactions/tbt: +26%
  • sendTransactions/total: +11%
  • sendTransactions/inp: -19%
  • sendTransactions/cls: -84%

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

  • 🟡 assetDetails/FCP: p75 1.9s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
  • 🟡 sendTransactions/FCP: p75 1.8s
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: -17%
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 24.4 KiB (0.36%)
  • ui: 20 KiB (0.18%)
  • common: 7 Bytes (0%)

@salimtb salimtb marked this pull request as ready for review June 11, 2026 15:30
@salimtb salimtb requested review from a team as code owners June 11, 2026 15:30
Comment thread ui/hooks/useArcDefaultTokens.ts
useTokenListPolling();
useDeFiPolling();
useStaticTokensPollingHook();
useArcDefaultTokens();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is genius as a quick fix.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haha TY

@matthewwalsh0 matthewwalsh0 self-requested a review June 12, 2026 10:10
@salimtb salimtb mentioned this pull request Jun 12, 2026
7 tasks
@salimtb salimtb dismissed stale reviews from Prithpal-Sooriya and n3ps via 8368bb0 June 12, 2026 11:53
Comment thread ui/pages/confirmations/hooks/send/useMaxAmount.ts
@metamaskbotv2

metamaskbotv2 Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor
Builds ready [451bce1]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 17 pass · 🟡 8 warn · 🔴 0 fail)

Baseline (latest main): 2383562 | Date: 6/12/2026 | Pipeline: 27414266326 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
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: -13%
  • loadNewAccount/total: -13%
  • loadNewAccount/inp: -34%
  • loadNewAccount/fcp: -11%
  • loadNewAccount/lcp: -10%
  • confirmTx/longTaskTotalDuration: -25%
  • confirmTx/longTaskMaxDuration: -25%
  • confirmTx/tbt: -40%
  • confirmTx/fcp: -20%
  • bridgeUserActions/bridge_load_page: -17%
  • bridgeUserActions/bridge_load_asset_picker: -33%
  • bridgeUserActions/longTaskTotalDuration: -16%
  • bridgeUserActions/longTaskMaxDuration: -16%
  • bridgeUserActions/tbt: -39%
  • bridgeUserActions/inp: -30%
  • bridgeUserActions/fcp: -22%
  • bridgeUserActions/lcp: -12%
  • loadNewAccount/load_new_account: +14%
  • loadNewAccount/total: +14%
  • loadNewAccount/inp: +40%
  • loadNewAccount/fcp: -69%
  • loadNewAccount/lcp: +802%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/inp: +27%
  • confirmTx/fcp: -62%
  • confirmTx/lcp: +897%
  • bridgeUserActions/bridge_load_page: +85%
  • bridgeUserActions/bridge_load_asset_picker: +34%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +133%
  • bridgeUserActions/inp: +40%
  • bridgeUserActions/fcp: -74%
  • bridgeUserActions/lcp: +866%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟡 [CI log]
🟡 loadScripts
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupPowerUserHome/numNetworkReqs: +28%
  • startupPowerUserHome/longTaskCount: +11%
  • startupStandardHome/domInteractive: +15%
  • startupStandardHome/setupStore: +19%
  • startupStandardHome/inp: +127%
  • startupStandardHome/fcp: +18%
  • startupPowerUserHome/backgroundConnect: -27%
  • startupPowerUserHome/setupStore: +12%
  • startupPowerUserHome/fcp: +13%

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

  • 🔴 startupPowerUserHome/INP: p75 504ms
  • 🟡 startupPowerUserHome/LCP: p75 2.8s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [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/pwFormToMetricsScreen: +16%
  • onboardingImportWallet/doneButtonToHomeScreen: -88%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -98%
  • onboardingImportWallet/longTaskCount: -76%
  • onboardingImportWallet/longTaskTotalDuration: -93%
  • onboardingImportWallet/longTaskMaxDuration: -90%
  • onboardingImportWallet/tbt: -99%
  • onboardingImportWallet/total: -88%
  • onboardingNewWallet/createPwToRecoveryScreen: +12%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +20%
  • onboardingNewWallet/doneButtonToAssetList: -36%
  • onboardingNewWallet/longTaskCount: -62%
  • onboardingNewWallet/longTaskTotalDuration: -58%
  • onboardingNewWallet/longTaskMaxDuration: -20%
  • onboardingNewWallet/tbt: -58%
  • onboardingNewWallet/total: -31%
  • solanaAssetDetails/assetClickToPriceChart: -59%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -59%
  • solanaAssetDetails/inp: +15%
  • solanaAssetDetails/cls: -92%
  • importSrpHome/loginToHomeScreen: -25%
  • importSrpHome/openAccountMenuAfterLogin: +30%
  • importSrpHome/homeAfterImportWithNewWallet: -40%
  • importSrpHome/longTaskCount: -15%
  • importSrpHome/longTaskTotalDuration: -29%
  • importSrpHome/longTaskMaxDuration: -18%
  • importSrpHome/tbt: -31%
  • importSrpHome/total: -37%
  • importSrpHome/inp: -25%
  • importSrpHome/cls: -34%
  • sendTransactions/openSendPageFromHome: +27%
  • sendTransactions/tbt: +19%
  • sendTransactions/inp: -18%
  • sendTransactions/cls: -84%

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

  • 🟡 importSrpHome/INP: p75 216ms
  • 🟡 assetDetails/FCP: p75 2.0s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 2.0s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 163.25 KiB (2.42%)
  • ui: 84.99 KiB (0.75%)
  • common: 140.54 KiB (1.07%)

@metamaskbotv2

metamaskbotv2 Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor
Builds ready [928d8db]
Deprecated Browserify fallback builds
⚡ Performance Benchmarks (Total: 🟢 19 pass · 🟡 6 warn · 🔴 0 fail)

Baseline (latest main): b9fc889 | Date: 6/12/2026 | Pipeline: 27417804286 | Baseline logs

Interaction Benchmarks · Samples: 5
Benchmarkchrome-webpackfirefox-webpack
loadNewAccount
[Sentry log · main/release]
🟢 [CI log]🟢 [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: -22%
  • loadNewAccount/total: -22%
  • loadNewAccount/inp: -14%
  • loadNewAccount/lcp: -19%
  • confirmTx/longTaskCount: -12%
  • confirmTx/inp: -31%
  • bridgeUserActions/bridge_load_asset_picker: +13%
  • bridgeUserActions/tbt: -14%
  • loadNewAccount/load_new_account: +584%
  • loadNewAccount/total: +584%
  • loadNewAccount/inp: -41%
  • loadNewAccount/lcp: +1101%
  • confirmTx/confirm_tx: +11%
  • confirmTx/longTaskCount: -100%
  • confirmTx/longTaskTotalDuration: -100%
  • confirmTx/longTaskMaxDuration: -100%
  • confirmTx/tbt: -100%
  • confirmTx/total: +11%
  • confirmTx/inp: -31%
  • confirmTx/lcp: +1183%
  • bridgeUserActions/bridge_load_page: +93%
  • bridgeUserActions/bridge_load_asset_picker: +105%
  • bridgeUserActions/longTaskCount: -100%
  • bridgeUserActions/longTaskTotalDuration: -100%
  • bridgeUserActions/longTaskMaxDuration: -100%
  • bridgeUserActions/tbt: -100%
  • bridgeUserActions/total: +19%
  • bridgeUserActions/inp: +38%
  • bridgeUserActions/fcp: -51%
  • bridgeUserActions/lcp: +1194%
Startup Benchmarks · Samples: 100
Benchmarkchrome-webpackfirefox-webpack
startupStandardHome
[Sentry log · main/release]
🟢 [CI log]🟢 [CI log]
startupPowerUserHome
[Sentry log · main/release]
🟡 [CI log]🟡 [CI log]

📈 Results compared to the previous 5 runs on main

  • startupPowerUserHome/numNetworkReqs: +33%
  • startupStandardHome/domInteractive: +24%
  • startupStandardHome/fcp: +25%
  • startupPowerUserHome/domInteractive: -11%
  • startupPowerUserHome/backgroundConnect: -26%

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

  • 🟡 startupPowerUserHome/INP: p75 496ms
  • 🟡 startupPowerUserHome/LCP: p75 2.7s
User Journey Benchmarks · Samples: 5 · mock API
Benchmarkchrome-webpackfirefox-webpack
onboardingImportWallet
[Sentry log · main/release]
🟢 [CI log]🟢 [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/doneButtonToHomeScreen: -88%
  • onboardingImportWallet/openAccountMenuToAccountListLoaded: -98%
  • onboardingImportWallet/longTaskCount: -79%
  • onboardingImportWallet/longTaskTotalDuration: -95%
  • onboardingImportWallet/longTaskMaxDuration: -92%
  • onboardingImportWallet/tbt: -100%
  • onboardingImportWallet/total: -87%
  • onboardingNewWallet/createPwToRecoveryScreen: +12%
  • onboardingNewWallet/skipBackupToMetricsScreen: +11%
  • onboardingNewWallet/agreeButtonToOnboardingSuccess: +12%
  • onboardingNewWallet/longTaskTotalDuration: -47%
  • onboardingNewWallet/longTaskMaxDuration: -12%
  • onboardingNewWallet/tbt: -65%
  • solanaAssetDetails/assetClickToPriceChart: -64%
  • solanaAssetDetails/longTaskCount: -100%
  • solanaAssetDetails/longTaskTotalDuration: -100%
  • solanaAssetDetails/longTaskMaxDuration: -100%
  • solanaAssetDetails/tbt: -100%
  • solanaAssetDetails/total: -64%
  • solanaAssetDetails/inp: +13%
  • solanaAssetDetails/cls: -92%
  • importSrpHome/loginToHomeScreen: -26%
  • importSrpHome/openAccountMenuAfterLogin: +67%
  • importSrpHome/homeAfterImportWithNewWallet: -44%
  • importSrpHome/longTaskCount: -32%
  • importSrpHome/longTaskTotalDuration: -30%
  • importSrpHome/longTaskMaxDuration: -23%
  • importSrpHome/tbt: -42%
  • importSrpHome/total: -39%
  • importSrpHome/inp: -29%
  • importSrpHome/cls: -34%
  • sendTransactions/tbt: +11%
  • sendTransactions/inp: -36%
  • sendTransactions/cls: -74%

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

  • 🟡 assetDetails/FCP: p75 1.8s
  • 🟡 solanaAssetDetails/FCP: p75 1.9s
  • 🟡 importSrpHome/FCP: p75 1.9s
Dapp Page Load Benchmarks · Samples: 100
Benchmarkchrome-webpack
dappPageLoad
[Sentry log · main/release]
🟢 [CI log]
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 538 Bytes (0.01%)
  • ui: 4.57 KiB (0.04%)
  • common: 117 Bytes (0%)

@salimtb salimtb force-pushed the feat/arc-default-usdc-token branch from 928d8db to 8368bb0 Compare June 12, 2026 14:53
@salimtb salimtb closed this Jun 12, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 12, 2026
@salimtb

salimtb commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Closing this one as the other one is: #43509

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants