WalletProvider
Provides connected wallet identity and connector system.
Manages external wallet connector state: connection, disconnection, and restoring the last-used connector on page load. Add this provider when your app connects to browser wallets (extension, WalletConnect, MetaMask Snap).
Requires QubicProvider as an ancestor.
Usage
import { QubicProvider, WalletProvider, extensionConnector } from "@qubic.org/react"
import { createWalletConnectConnector } from "@qubic.org/react"
import { SignClient } from "@walletconnect/sign-client"
const connectors = [
extensionConnector,
createWalletConnectConnector({
createClient: () => SignClient.create({ projectId: "your-project-id" }),
}),
]
export function App() {
return (
<QubicProvider liveClient={live}>
<WalletProvider connectors={connectors}>
{children}
</WalletProvider>
</QubicProvider>
)
}Props
| Prop | Type | Default | Description |
|---|---|---|---|
connectors | WalletConnector[] | — | Required. Array of connector instances to make available. |
storageKey | string | "qubic-connector" | localStorage key used to persist the last active connector ID. |
Notes
- On mount,
WalletProviderreadsstorageKeyfromlocalStorageand attempts to silently reconnect to the previously active connector, avoiding a manual "connect" click on every page load. WalletProvideris independent ofVaultProvider— either or both can be omitted depending on your app's signing strategy.- See extensionConnector, createWalletConnectConnector, and createMetaMaskSnapConnector for available connectors.