Connect to Core Mobile
Core Mobile connects to dapps over WalletConnect.
It is not an injected wallet: none of the
extension detection methods will find
it, and window.avalanche does not exist in mobile browsers.
How the flow works
- Your dapp displays a WalletConnect pairing — a QR code on desktop, or a deep link on mobile.
- The user scans or taps it and approves the session in Core Mobile.
- Your dapp gets a session and sends requests (
eth_sendTransaction,personal_sign, …) over the WalletConnect relay; each one appears in Core Mobile for approval.
Using Reown AppKit
WalletConnect's client SDK is Reown AppKit (the successor to Web3Modal — older guides may still use that name). With the Wagmi adapter:
import { createAppKit } from '@reown/appkit/react';
import { WagmiAdapter } from '@reown/appkit-adapter-wagmi';
import { avalanche, avalancheFuji } from '@reown/appkit/networks';
// Get a projectId at https://dashboard.reown.com
const projectId = 'YOUR_PROJECT_ID';
const wagmiAdapter = new WagmiAdapter({
networks: [avalanche, avalancheFuji],
projectId,
});
createAppKit({
adapters: [wagmiAdapter],
networks: [avalanche, avalancheFuji],
projectId,
metadata: {
name: 'Example dapp',
description: 'Example dapp description',
url: 'https://example.com',
icons: ['https://example.com/icon.png'],
},
});
AppKit renders the connection modal; users find Core in the wallet list, or scan the QR code directly from Core Mobile.
Already using Wagmi or RainbowKit?
Both bundle WalletConnect support — configure a projectId and Core Mobile
works alongside the extension with no extra code.
Session behaviour worth knowing
- Sessions survive app restarts, but the relay requires the wallet to come online to receive requests — prompt mobile users to open Core when a request seems stuck.
chainChangedandaccountsChangedarrive over the session like their injected counterparts; handle them the same way.