[bug] EIP6963 and Injected Wallets Show Up Despite Being Disabled β Also Appear Duplicated (Using Wagmi Adapter)
Link to minimal reproducible example
https://test-vue-reown.vercel.app/
Summary
I'm using Reown with the Wagmi adapter, and I'm trying to configure the modal to show only specific wallets using featuredWalletIds array. However, wallets from EIP6963 and Injected connectors (like MetaMask) are still appearing, even though I've tried disabling them, and worse, they appear twice: once from the injected source, and once from the featured list.
π§ͺ Minimal Reproducible Example
<script lang="ts" setup>
import { createAppKit } from '@reown/appkit/vue'
import { base, mainnet, polygon, type AppKitNetwork } from '@reown/appkit/networks'
import { WagmiAdapter } from '@reown/appkit-adapter-wagmi'
// 1. Get projectId from https://cloud.reown.com
const projectId = import.meta.env.VITE_APPKIT_PROJECT_ID
// 2. Create a metadata object
const metadata = {
name: 'Test AppKit Vue',
description: 'AppKit Example',
url: import.meta.env.VITE_APP_URL,
icons: ['https://avatars.githubusercontent.com/u/179229932'],
}
// 3. Set the networks
const networks: [AppKitNetwork, ...AppKitNetwork[]] = [mainnet, polygon, base]
// 4. Create Wagmi Adapter
const wagmiAdapter = new WagmiAdapter({
networks,
projectId,
})
// 5. Create the modal
const modal = createAppKit({
adapters: [wagmiAdapter],
networks,
projectId,
metadata,
enableInjected: false,
enableEIP6963: false,
features: {
analytics: true, // Optional - defaults to your Cloud configuration
},
allWallets: 'HIDE',
featuredWalletIds: [
'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96', //Metamask
'4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0', //Trust
'19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927', //Legder
'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393', //Phantom
'e9ff15be73584489ca4a66f64d32c4537711797e30b6660dbcb71ea72a42b1f4', //Exodus
],
})
</script>
<template>
<appkit-button />
</template>
π§© Expected Behavior
- Only the wallets listed in
featuredWalletIdsshould be shown. - Setting
enableInjected: falseandenableEIP6963: falseshould fully disable those connectors.
π Actual Behavior
- Wallets from EIP6963 and Injected still appear, even when enableInjected and enableEIP6963 are set to false.
- Wallets like MetaMask are duplicated β once from the injected source, and again from the includeWalletIds list.
πΈ Screenshots
List of related npm package versions
{
"@reown/appkit": "^1.7.7",
"@reown/appkit-adapter-wagmi": "^1.7.7",
"@tanstack/vue-query": "^5.77.2",
"@wagmi/vue": "^0.1.20",
"viem": "^2.30.4",
"vue": "^3.5.13"
}
Node.js Version
v20.13.1
Package Manager
Same problem here.
hey @marco-moreiraf @jeanpablojp
Sorry about the Phishing attempt - I have reported them.
I see this is a bug and should be working as you set enableEIP6963: false
I am going to raise this internally. In the mean time please can you try this : https://docs.reown.com/appkit/flutter/core/options#includedwalletids%3A
Hi @Sam-Newman
Thanks for checking.
I tried using includeWalletIds instead of featuredWalletIds, but I think there may be another issue. With this setting, the widget only shows installed wallets, including some that arenβt in the includeWalletIds list.
When I set allWallets to 'SHOW' (second screenshot), the non-installed wallets do appear under the "All Wallets" section β but injected wallets (like Brave Wallet) still show up, even though enableInjected and enableEIP6963 are set to false.
π§© Expected Behavior
- All wallets listed in
includeWalletIdsshould appear, even whenallWalletsis set to'HIDE'. - Injected wallets that are not in the
includeWalletIdslist should not be displayed whenenableInjectedandenableEIP6963arefalse.
Updated code:
const modal = createAppKit({
adapters: [wagmiAdapter],
networks,
projectId,
metadata,
enableInjected: false,
enableEIP6963: false,
features: {
analytics: true, // Optional - defaults to your Cloud configuration
},
allWallets: 'HIDE',
includeWalletIds: [
'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96', //Metamask
'4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0', //Trust
'19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927', //Legder
'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393', //Phantom
'e9ff15be73584489ca4a66f64d32c4537711797e30b6660dbcb71ea72a42b1f4', //Exodus
],
})
Screenshots
|
Let me know if you need any more details.
Thanks again!
hey guys, same problem here
@marco-moreiraf or @Sam-Newman have you found a way to bypass/solve this?
Hi all ! We will be working in a fix ! Hope to bring news soon.
Sorry for the delay !
+1
also excludeWalletIds should exclude injected wallets to be shown. I have phantom in the exclude list but its still showing on the Connect Wallet view
const modal = createAppKit({
adapters: [wagmiAdapter, bitcoinAdapter, solanaAdapter],
networks,
projectId,
allWallets: 'HIDE',
excludeWalletIds: [
'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393', //Phantom
],
})
+1
I put #4811 together because I needed to test a specific wallet. It resolves the issue I was experiencing. Will try to find time to write unit tests for it, but hopefully it can be helpful in implementing a final soluttion.