Skip to content

feat: update HyperEVM RPC and failover#39635

Merged
maxime-oe merged 4 commits intomainfrom
feat/add-hyperevm-infura-rpc-and-quicknode-failover
Feb 26, 2026
Merged

feat: update HyperEVM RPC and failover#39635
maxime-oe merged 4 commits intomainfrom
feat/add-hyperevm-infura-rpc-and-quicknode-failover

Conversation

@maxime-oe
Copy link
Contributor

@maxime-oe maxime-oe commented Jan 29, 2026

Note: The validators have been taken from #38428 after verifying that NetworkController hadn't evolved.

Description

  • For new HyperEVM MM users: Making sure that when HyperEVM is added for the first time, it will use Infura RPC with a Quicknode failover
  • For existing HyperEVM MM users: If they already have HyperEVM added as a network, the migration script will scans through the various RPCs and add Infura RPC as default one Infura is not already in the list. It will also add the Quicknode RPC as failover.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: sets Infura RPC for HyperEVM with Quicknode failover

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/NEB-201

Manual testing steps

Scenario 1: Already added HyperEVM network (migration test).
0. First use main branch (not this branch)

  1. Find HyperEVM on chainlist: https://chainlist.org/?search=hyperevm
  2. Add HyperEVM network
  3. Go to "edit the network" on MetaMask and observe default RPC rpc.hyperliquid.xyz/evm.
  4. Fetch this branch.
  5. Compile and reload extension.
  6. Go to "edit the network".
  7. Observe Infura RPC with failover set as default. Old RPC remains as secondary.

Scenario 2: HyperEVM network wasn't added before
0. First use this branch.

  1. Find HyperEVM on chainlist: https://chainlist.org/?search=hyperevm
  2. Add HyperEVM network
  3. Go to "edit the network" on MetaMask and observe Infura RPC with failover set as default and only RPC.

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
Touches network/RPC configuration and introduces a new migration that mutates persisted NetworkController state, so mistakes could break HyperEVM connectivity for existing users; changes are scoped and covered by migration unit tests.

Overview
HyperEVM is updated to use an Infura RPC URL by default and supports a QuickNode failover URL sourced from a new QUICKNODE_HYPEREVM_URL environment variable (wired through build config and CI/release workflows).

A new state migration 197 updates existing user-added HyperEVM network configs by adding the Infura endpoint (if missing), setting it as default, and/or adding the QuickNode failover to any Infura endpoint; e2e fixtures, console baselines, and new unit tests were updated accordingly.

Written by Cursor Bugbot for commit 878e94b. This will update automatically on new commits. Configure here.

@github-actions
Copy link
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.

@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from 09cadd6 to 8fcc5bf Compare January 29, 2026 14:12
@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from 8fcc5bf to ee0533f Compare January 29, 2026 14:25
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [ee0533f]
UI Startup Metrics (1340 ± 115 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13401070159811514161564
load--1141915142811612231373
domContentLoaded--1134908142111712161365
domInteractive--2617100182381
firstPaint--15568938104195309
backgroundConnect--23921528514247274
firstReactRender--18113351927
initialActions--108115
loadScripts--91169612071179901147
setupStore--1363361527
numNetworkReqs--221583181577
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--310217049233158340245892
load--1210981161214112961502
domContentLoaded--1189972158613512611449
domInteractive--38201693036115
firstPaint--201811572162255354
backgroundConnect--10102903620103815713184
firstReactRender--26185372944
initialActions--106112
loadScripts--939738130312510251196
setupStore--1574461828
numNetworkReqs--1045424140114216
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--911701123212510021148
load--74762611091178291018
domContentLoaded--74062011011178221011
domInteractive--291997192591
firstPaint--1216531256159231
backgroundConnect--3819137234493
firstReactRender--18104272033
initialActions--104113
loadScripts--73761810991168151009
setupStore--1374571430
numNetworkReqs--221588191576
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1258805245827314551694
load--6995941143115704998
domContentLoaded--6885861137115693990
domInteractive--3418137243496
firstPaint--1506556092186352
backgroundConnect--15412458156157259
firstReactRender--21153032227
initialActions--102011
loadScripts--6855841129114691981
setupStore--1142041317
numNetworkReqs--1565032959171288
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14181124219115415101693
load--1137965154511112051335
domContentLoaded--1137960154511112051335
domInteractive--72332154099141
firstPaint--------
backgroundConnect--58262173964138
firstReactRender--1494361335
initialActions--102112
loadScripts--110394914299411501269
setupStore--12565101039
numNetworkReqs--231287181979
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28611902795085631073794
load--13011082391832713391922
domContentLoaded--13011081391832713391922
domInteractive--156541363146167343
firstPaint--------
backgroundConnect--5339550376926171540
firstReactRender--22155762429
initialActions--203123
loadScripts--12431052239219112811612
setupStore--17212792176248603
numNetworkReqs--95442524897225
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16831402209716918242004
load--14291231172911614921650
domContentLoaded--14281225172911614921650
domInteractive--973023344131148
firstPaint--------
backgroundConnect--812725156128195
firstReactRender--15115051522
initialActions--103122
loadScripts--1382121417119414381573
setupStore--1842313312103
numNetworkReqs--231287181882
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29691946708068531824128
load--16001289560850816392324
domContentLoaded--16001289560750816382324
domInteractive--1283641286134348
firstPaint--------
backgroundConnect--4509916433526861178
firstReactRender--22156772329
initialActions--207123
loadScripts--15591268557250215962276
setupStore--1335983169145508
numNetworkReqs--953830948100218
19--------
📊 Page Load Benchmark Results

Current Commit: ee0533f | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±37ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 711ms (±35ms) 🟢 | historical mean value: 719ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 37ms 1000ms 1.30s 1.05s 1.30s
domContentLoaded 711ms 35ms 693ms 966ms 732ms 966ms
firstPaint 74ms 12ms 60ms 180ms 84ms 180ms
firstContentfulPaint 74ms 12ms 60ms 180ms 84ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 4.52 KiB (0.08%)
  • ui: 1.62 KiB (0.02%)
  • common: 94 Bytes (0%)

@maxime-oe maxime-oe marked this pull request as ready for review January 29, 2026 15:40
@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from ee0533f to 372e5a1 Compare January 29, 2026 15:52
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [372e5a1]
UI Startup Metrics (1329 ± 137 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13291042176513714141550
load--1126890151513312071353
domContentLoaded--1119880148913212001342
domInteractive--2715174222482
firstPaint--2016113522301971050
backgroundConnect--23020728313236252
firstReactRender--1793851927
initialActions--105113
loadScripts--90468412631309791124
setupStore--1272541519
numNetworkReqs--231590191580
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--237015767715111322325365
load--1107955185116611201463
domContentLoaded--1089945176015911131431
domInteractive--37181602935127
firstPaint--1837553893247368
backgroundConnect--52827236496163592450
firstReactRender--25155082946
initialActions--1010112
loadScripts--85471214871528871197
setupStore--1674971831
numNetworkReqs--1344934058155250
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--8676871081999331055
load--72161196796800910
domContentLoaded--71560696195793902
domInteractive--251689172381
firstPaint--1106238261125230
backgroundConnect--42191322748116
firstReactRender--15103851629
initialActions--105112
loadScripts--71360495994785900
setupStore--1143151221
numNetworkReqs--221591181573
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1298932212923014631657
load--7196181279111720983
domContentLoaded--7086121272112711978
domInteractive--3519174253492
firstPaint--14968980118171320
backgroundConnect--16013158166156215
firstReactRender--22173532328
initialActions--103111
loadScripts--7056101263110709970
setupStore--1243951419
numNetworkReqs--1455827955167252
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15581216216118516591918
load--12391048159411413081452
domContentLoaded--12391048159411413081452
domInteractive--913635761123242
firstPaint--------
backgroundConnect--862929763110235
firstReactRender--2710650851450
initialActions--103122
loadScripts--1191103114849212461369
setupStore--175135231263
numNetworkReqs--231288191978
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27402082657064229234092
load--12771090289223213021711
domContentLoaded--12771090289223213011711
domInteractive--14038987142129326
firstPaint--------
backgroundConnect--35612722693663631220
firstReactRender--22153342429
initialActions--213123
loadScripts--12381066287322012781602
setupStore--15214828193143701
numNetworkReqs--79422194390186
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16511367204415617851921
load--14101157177712014821664
domContentLoaded--14091156177712114821663
domInteractive--972823846131181
firstPaint--------
backgroundConnect--752623749116181
firstReactRender--14105251421
initialActions--102012
loadScripts--13651144166110314331578
setupStore--184237361172
numNetworkReqs--221282171876
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--3105206410486107235394577
load--17001275721271717122915
domContentLoaded--17001275721271717122915
domInteractive--180365830580110360
firstPaint--------
backgroundConnect--36010416713173421148
firstReactRender--23166572533
initialActions--206123
loadScripts--16571256715869816802770
setupStore--1658780219245688
numNetworkReqs--75382644287178
19--------
📊 Page Load Benchmark Results

Current Commit: 372e5a1 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±39ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 729ms (±37ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±9ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 39ms 1.02s 1.35s 1.09s 1.35s
domContentLoaded 729ms 37ms 703ms 1.01s 756ms 1.01s
firstPaint 78ms 9ms 64ms 148ms 88ms 148ms
firstContentfulPaint 78ms 9ms 64ms 148ms 88ms 148ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 4.44 KiB (0.08%)
  • ui: 1.62 KiB (0.02%)
  • common: 94 Bytes (0%)

@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from 372e5a1 to 52aad72 Compare January 29, 2026 16:34
@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from 52aad72 to 46f7ee6 Compare January 29, 2026 16:59
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Jan 29, 2026

Builds ready [46f7ee6]
UI Startup Metrics (1345 ± 150 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13451049186715014381602
load--1149900158814112191392
domContentLoaded--1143896157114012111383
domInteractive--251681162372
firstPaint--1356533061175233
backgroundConnect--23621328314243266
firstReactRender--19114472134
initialActions--108215
loadScripts--92268413401379891156
setupStore--1373151627
numNetworkReqs--211581161570
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--268216818447121727115040
load--1100935159213811431415
domContentLoaded--1083921156813511201399
domInteractive--3817404423593
firstPaint--210751585161241304
backgroundConnect--70927727936667422493
firstReactRender--25175072740
initialActions--107113
loadScripts--86071213211269001165
setupStore--1474671633
numNetworkReqs--1234929450155219
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--928718134412410201150
load--77363611041198531031
domContentLoaded--76663010901198471026
domInteractive--3017108222694
firstPaint--140661105119178269
backgroundConnect--40171442745120
firstReactRender--18114672032
initialActions--103112
loadScripts--76362810871188451024
setupStore--1475681431
numNetworkReqs--221586191578
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1287995339531414651710
load--70061110581097051003
domContentLoaded--6896021035108692994
domInteractive--3818179283799
firstPaint--164691001116201342
backgroundConnect--17614647059169318
firstReactRender--23164642431
initialActions--103111
loadScripts--6876001026106690987
setupStore--1252541317
numNetworkReqs--1586733254167280
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14221120252621415061855
load--1140955234617512011406
domContentLoaded--1140954234517512001406
domInteractive--7832126012590150
firstPaint--------
backgroundConnect--64242844879167
firstReactRender--1394761322
initialActions--103122
loadScripts--1110939230516511691358
setupStore--126107131137
numNetworkReqs--241289191878
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--27411852748764429063557
load--12651026245322513561687
domContentLoaded--12641026245322513551686
domInteractive--1474655599180356
firstPaint--------
backgroundConnect--42212512792875911024
firstReactRender--20145452226
initialActions--103122
loadScripts--11951006193816012591550
setupStore--140161374201127566
numNetworkReqs--93382424798220
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17391464260019818382159
load--14921229241316415581764
domContentLoaded--14911224241316415581764
domInteractive--993064073131188
firstPaint--------
backgroundConnect--793123946109167
firstReactRender--15112631619
initialActions--103122
loadScripts--14461215239014715061628
setupStore--166154241352
numNetworkReqs--221280161868
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--29892235432042932543900
load--15491309205619016961947
domContentLoaded--15491308205519016951947
domInteractive--15242707131162507
firstPaint--------
backgroundConnect--40812817123185861015
firstReactRender--23156362533
initialActions--203122
loadScripts--15121274203519016751924
setupStore--14811793176167604
numNetworkReqs--89362334692206
19--------
📊 Page Load Benchmark Results

Current Commit: 46f7ee6 | Date: 1/29/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 992ms (±44ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 690ms (±59ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 88ms (±120ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 992ms 44ms 964ms 1.32s 1.02s 1.32s
domContentLoaded 690ms 59ms 663ms 1.22s 713ms 1.22s
firstPaint 88ms 120ms 64ms 1.28s 84ms 1.28s
firstContentfulPaint 88ms 120ms 64ms 1.28s 84ms 1.28s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 4.34 KiB (0.08%)
  • ui: 1 Bytes (0%)
  • common: 89 Bytes (0%)

@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from 46f7ee6 to fb56e00 Compare January 30, 2026 11:15
@maxime-oe maxime-oe requested review from a team as code owners January 30, 2026 11:15
@maxime-oe maxime-oe requested review from mcmire and seaona February 9, 2026 13:02
mcmire
mcmire previously approved these changes Feb 9, 2026
Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

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

LGTM!

@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from 7ad1191 to ed1cbae Compare February 10, 2026 14:20
@maxime-oe maxime-oe requested a review from mcmire February 10, 2026 14:48
@maxime-oe maxime-oe force-pushed the feat/add-hyperevm-infura-rpc-and-quicknode-failover branch from ed1cbae to 0772a6c Compare February 10, 2026 14:48
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 10, 2026

Builds ready [0772a6c]
UI Startup Metrics (1377 ± 115 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13771180179611514301578
load11891009159110412441350
domContentLoaded11821005158310412381345
domInteractive261692182377
firstPaint1516741874206267
backgroundConnect23821828313241267
firstReactRender16103141724
initialActions105112
loadScripts958773132010110161130
setupStore1263551423
numNetworkReqs221587201580
BrowserifyPower User HomeuiStartup3318143010967216141609409
load12511068165212812981558
domContentLoaded12331056164412612721530
domInteractive34171372530105
firstPaint1908146078252295
backgroundConnect11802967923155512394450
firstReactRender23165052530
initialActions105112
loadScripts989820137911810211258
setupStore1353461425
numNetworkReqs964916926110148
WebpackStandard HomeuiStartup8306891081898791003
load71460893381771875
domContentLoaded70860492880762868
domInteractive261690182377
firstPaint1076338861114233
backgroundConnect271881102846
firstReactRender15103551724
initialActions106111
loadScripts70660292679759859
setupStore1263951220
numNetworkReqs231596211583
WebpackPower User HomeuiStartup1273896255528113351791
load73762811261077411041
domContentLoaded72662411181067331032
domInteractive41191863237124
firstPaint167691069119202307
backgroundConnect178131892100162319
firstReactRender21163132326
initialActions102011
loadScripts72362211081047311024
setupStore1253551619
numNetworkReqs1527027237170215
FirefoxBrowserifyStandard HomeuiStartup15771362233518015941962
load13631191212415413911636
domContentLoaded13621190212315413911636
domInteractive71322354091137
firstPaint------
backgroundConnect5627170216283
firstReactRender1291821316
initialActions102122
loadScripts13381168209515213671606
setupStore166182231334
numNetworkReqs241292211785
BrowserifyPower User HomeuiStartup28392067823465329753436
load16161278695459516172117
domContentLoaded16161278695359416172116
domInteractive183511397201177550
firstPaint------
backgroundConnect47010716603337041076
firstReactRender19146381826
initialActions203122
loadScripts15681255681258215832049
setupStore12714699155123478
numNetworkReqs974617730118157
WebpackStandard HomeuiStartup16081371313419916551882
load13871169291517814351538
domContentLoaded13871169290917814351538
domInteractive101311621158123142
firstPaint------
backgroundConnect57271883060133
firstReactRender15106681422
initialActions103112
loadScripts13551154289917813971502
setupStore176186221254
numNetworkReqs231393191778
WebpackPower User HomeuiStartup28462041955874830153341
load16201301801367516192010
domContentLoaded16201301801267516142010
domInteractive18647870176192652
firstPaint------
backgroundConnect46914013042906061047
firstReactRender22168582430
initialActions2116223
loadScripts15741265797267415601965
setupStore13012598139133523
numNetworkReqs94472223499187
📊 Page Load Benchmark Results

Current Commit: 0772a6c | Date: 2/10/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±36ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 715ms (±34ms) 🟢 | historical mean value: 717ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±14ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 36ms 1.01s 1.30s 1.05s 1.30s
domContentLoaded 715ms 34ms 699ms 971ms 735ms 971ms
firstPaint 76ms 14ms 60ms 196ms 84ms 196ms
firstContentfulPaint 76ms 14ms 60ms 196ms 84ms 196ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 4.44 KiB (0.11%)
  • ui: 176 Bytes (0%)
  • common: 195 Bytes (0%)

seaona
seaona previously approved these changes Feb 11, 2026
Copy link
Member

@seaona seaona left a comment

Choose a reason for hiding this comment

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

QA changes LGTM

mcmire
mcmire previously approved these changes Feb 11, 2026
Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

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

LGTM.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 12, 2026

Builds ready [5c76f19]
UI Startup Metrics (1305 ± 104 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup13051126160910413731498
load113095013499411821301
domContentLoaded112194313449411771287
domInteractive2616100192280
firstPaint215621347240200360
backgroundConnect22019535618225247
firstReactRender1582931622
initialActions108112
loadScripts9187351141929711074
setupStore1263151520
numNetworkReqs231595221587
BrowserifyPower User HomeuiStartup16211266217915117081877
load1076959171615810591529
domContentLoaded1057951161814510451467
domInteractive3217127213286
firstPaint210681488197234320
backgroundConnect30526345936315380
firstReactRender20153742227
initialActions103111
loadScripts84374613761378341221
setupStore1364961419
numNetworkReqs1134826649136231
WebpackStandard HomeuiStartup822680124093880961
load720599116193784863
domContentLoaded715596115492777857
domInteractive2615109182373
firstPaint1025929551115195
backgroundConnect24184462734
firstReactRender14102541621
initialActions103112
loadScripts712594115291774849
setupStore1164051121
numNetworkReqs231592211587
WebpackPower User HomeuiStartup1197890185717812691538
load6976061219113687980
domContentLoaded6876001208113677974
domInteractive35181923033109
firstPaint13664935106161294
backgroundConnect15712931441159247
firstReactRender22174442328
initialActions102011
loadScripts6855981199110675964
setupStore1243861320
numNetworkReqs1204727353146239
FirefoxBrowserifyStandard HomeuiStartup15601349219015915961884
load13441161168110913881582
domContentLoaded13421156168110913871581
domInteractive802923842113137
firstPaint------
backgroundConnect5530233245388
firstReactRender12101721315
initialActions103112
loadScripts13181138165810613621545
setupStore136135141230
numNetworkReqs241396221687
BrowserifyPower User HomeuiStartup27872034748967428363985
load16151324610052115962128
domContentLoaded16151323610052115952128
domInteractive12836826136117372
firstPaint------
backgroundConnect2741201005210281873
firstReactRender2214101152065
initialActions205123
loadScripts15701301606950815402071
setupStore116975317992550
numNetworkReqs66381683581132
WebpackStandard HomeuiStartup15701356328022116001820
load13621185306820214021550
domContentLoaded13611185306820214021550
domInteractive823221041116147
firstPaint------
backgroundConnect51241702654103
firstReactRender14114661418
initialActions102122
loadScripts13361159303719913781509
setupStore146158181240
numNetworkReqs241392191874
WebpackPower User HomeuiStartup27701973772982527993706
load16491254642973616782326
domContentLoaded16491254642973616772326
domInteractive14932793178115662
firstPaint------
backgroundConnect2701151279251231893
firstReactRender21166772330
initialActions203123
loadScripts16181231639973516402282
setupStore1727749214215675
numNetworkReqs64331453297127
📊 Page Load Benchmark Results

Current Commit: 5c76f19 | Date: 2/12/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±42ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 713ms (±40ms) 🟢 | historical mean value: 728ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 42ms 999ms 1.34s 1.04s 1.34s
domContentLoaded 713ms 40ms 692ms 1.01s 729ms 1.01s
firstPaint 75ms 12ms 56ms 176ms 88ms 176ms
firstContentfulPaint 75ms 12ms 56ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 5.11 KiB (0.12%)
  • ui: 946 Bytes (0.01%)
  • common: 702 Bytes (0.01%)

seaona
seaona previously approved these changes Feb 12, 2026
Copy link
Member

@seaona seaona left a comment

Choose a reason for hiding this comment

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

QA changes LGTM

Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

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

LGTM.

mcmire
mcmire previously approved these changes Feb 12, 2026
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
28.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 25, 2026

Builds ready [878e94b]
⚡ Performance Benchmarks (1376 ± 94 ms)
👆 Interaction Benchmarks
ActionMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29024309327
total29024309327
Confirm Txconfirm_tx60631760766086
total60631760766086
Bridge User Actionsbridge_load_page22535246282
bridge_load_asset_picker26731276312
bridge_search_token73122739768
total12151012171229
🔌 Startup Benchmarks
BuildMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
Chrome Browserify Startup Standard HomeuiStartup1376118216649414251553
load117299514008712131347
domContentLoaded116498413818512051328
domInteractive281697192478
firstPaint178641222166212332
backgroundConnect20819040925209247
firstReactRender18114042024
initialActions105113
loadScripts97579211988510171142
setupStore1262441518
numNetworkReqs312294202286
Chrome Browserify Startup Power User HomeuiStartup17531377475042617582011
load1103990154212210951441
domContentLoaded1087984153311210851408
domInteractive3318135223368
firstPaint200701058115238320
backgroundConnect3512583321357308378
firstReactRender24155982441
initialActions103112
loadScripts87678413181118671202
setupStore1564251625
numNetworkReqs60401662458114
Chrome Webpack Startup Standard HomeuiStartup84868912891048841050
load728614109892774876
domContentLoaded722610109591769872
domInteractive2715109202480
firstPaint1146337964138237
backgroundConnect27196082940
firstReactRender17113552029
initialActions105112
loadScripts720608108790767863
setupStore1154851217
numNetworkReqs3122100202591
Chrome Webpack Startup Power User HomeuiStartup1222935167714113061465
load71962512091137121017
domContentLoaded7106171198112699992
domInteractive35181572932110
firstPaint1456550790184329
backgroundConnect17712933644195266
firstReactRender23173642530
initialActions104111
loadScripts7076151189109698983
setupStore1344461521
numNetworkReqs1033926250136208
Firefox Browserify Startup Standard HomeuiStartup16211404247419316312006
load13651169218315013931580
domContentLoaded13631168218215013901580
domInteractive813418840107140
firstPaint------
backgroundConnect58262042556117
firstReactRender13115641315
initialActions102012
loadScripts13381148215014413701531
setupStore177189231533
numNetworkReqs311995212589
Firefox Browserify Startup Power User HomeuiStartup26671955369842028063588
load15671246237129516622287
domContentLoaded15671246237129516622286
domInteractive14136815157116519
firstPaint------
backgroundConnect273941070255202896
firstReactRender18146991721
initialActions103122
loadScripts15321214232228416212226
setupStore1386738194132614
numNetworkReqs62301663485136
Firefox Webpack Startup Standard HomeuiStartup17901469336135617852273
load14921217283625514921730
domContentLoaded14921217283525514911729
domInteractive120311539153133227
firstPaint------
backgroundConnect7326142513769104
firstReactRender16123641623
initialActions103122
loadScripts14661202280925414711692
setupStore247194291955
numNetworkReqs301987152766
Firefox Webpack Startup Power User HomeuiStartup27201995907175328073621
load16201222717362416702104
domContentLoaded16201221717362416692104
domInteractive15533830169130612
firstPaint------
backgroundConnect2461051355193235567
firstReactRender23177262430
initialActions206123
loadScripts15861206714362116392057
setupStore1719820220206683
numNetworkReqs65322143892140
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2182218220
srpButtonToSrpForm9119292
confirmSrpToPwForm2102222
pwFormToMetricsScreen1401515
metricsToWalletReadyScreen1501516
doneButtonToHomeScreen5656566574
openAccountMenuToAccountListLoaded756837978428037
total878112287768963
Onboarding New WalletcreateWalletToSocialScreen2205223228
srpButtonToPwForm1041104106
createPwToRecoveryScreen8088
skipBackupToMetricsScreen3503535
agreeButtonToOnboardingSuccess1611717
doneButtonToAssetList82036911571366
total120837615351777
Asset DetailsassetClickToPriceChart53177074
total53177074
Solana Asset DetailsassetClickToPriceChart4714848
total4714848
Import Srp HomeloginToHomeScreen20587720942163
openAccountMenuAfterLogin4254449
homeAfterImportWithNewWallet232412124432476
total43698944484455
Send TransactionsopenSendPageFromHome32133850
selectTokenToSendFormLoaded2012021
reviewTransactionToConfirmationPage86523883901
total91632954957
SwapopenSwapPageFromHome1136114123
fetchAndDisplaySwapQuotes46888647594776
total478511448814890
🌐 Dapp Page Load Benchmarks

Current Commit: 878e94b | Date: 2/25/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.01s (±38ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 706ms (±36ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 74ms (±11ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.01s 38ms 987ms 1.30s 1.04s 1.30s
domContentLoaded 706ms 36ms 682ms 973ms 728ms 973ms
firstPaint 74ms 11ms 56ms 164ms 84ms 164ms
firstContentfulPaint 74ms 11ms 56ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 4.44 KiB (0.11%)
  • ui: -2 Bytes (0%)
  • common: 201 Bytes (0%)

Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@hjetpoluru hjetpoluru left a comment

Choose a reason for hiding this comment

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

e2e related files changes lgtm

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

Labels

QA Passed release-13.21.0 Issue or pull request that will be included in release 13.21.0 size-L team-networks PRs from the Networks team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants