Skip to Content
On this page

WalletConnectProvider takes one prop, config, of type WalletConnectKitConfig.

import type { WalletConnectKitConfig } from "@dogeos/dogeos-sdk" const dogeConfig: WalletConnectKitConfig = { clientId: "YOUR_DOGEOS_CLIENT_ID", }

Fields#

FieldTypeRequiredDefault
clientIdstringYes
chainsPartial<Record<ChainType, Chain[] | EvmChain[]>>NoSDK default networks
defaultConnectChainChainTypeNoNone
connectorsWalletConfig[]NoThe SDK’s wallet list
loginUserLoginConfigNoEmail, external wallets, Google and X
metadata{ name: string; description: string; url: string; icons: string[] }NoSDK metadata
walletConnectProjectIdstringNoNone (WalletConnect off)
themeThemeConfigNoSDK theme, light mode
embeddedWalletConfig{ stage?: EmbeddedWalletStage }NoThe release’s environment
gatewayBaseUrlstringNoNone
autoRestorebooleanNotrue
persistConnectionbooleanNotrue
forceAccountSelectionboolean | ForceAccountSelectionOptionsNoOff

clientId#

Your project’s public client ID from the developer console : the Sandbox ID for development or the Live ID for production. Surrounding whitespace is trimmed. A missing or blank value throws config.clientId is required.

The origins allowed to use a client ID are set in the console, not here. See Set Up the SDK.

chains#

The networks the SDK offers, grouped by chain family: evm, solana and dogecoin.

When chains isThe SDK uses
Omitted or {}evm: Ethereum, BNB Smart Chain, OP Mainnet, Arbitrum One, Linea, Base and Polygon; solana: Solana; dogecoin: Dogecoin
SetOnly the families and networks you list

DogeOS Chikyū Testnet isn’t a default; list it under evm. For solana and dogecoin, use the entries returned by getChains(). The EVM networks you list also become the WalletConnect networks.

chains: { evm: [dogeOSChikyuTestnet] }

See Use DogeOS Chikyū and Other Networks for the Chikyū definition, and Chain for the shape of an entry.

defaultConnectChain#

The chain family to connect first, such as ChainTypeEnum.EVM. Inside MyDoge, useWalletHost().connect() tries this family first, then the first configured family the wallet supports.

connectors#

Wallet entries from getConnectors() to use for the wallet list. When omitted, the SDK loads its own wallet list. These entries are configuration objects; useWalletConnect().connect() doesn’t accept them.

login#

Which ways to connect the SDK offers.

FieldTypeDefault
basicLogins("email" | "externalWallets")[]["email", "externalWallets"]
socialLogins{ type: "google" | "x" }[][{ type: "google" }, { type: "x" }]
  • Each array is resolved on its own: an omitted array keeps its default, and [] turns all of its methods off.
  • basicLogins: ["externalWallets"] with socialLogins: [] turns off the embedded wallet; walletStatus is then "disabled".
  • SocialLoginProvider.clientId is deprecated and ignored. DogeOS runs social sign-in.
  • Inside MyDoge, login is ignored and the SDK connects MyDoge’s wallet.

See Choose Login Methods.

metadata#

Your app’s identity, shown by wallets when the user approves a WalletConnect connection.

FieldDefault
name"DogeOS Wallet Connect"
description"DogeOS wallet connection SDK"
url"https://dogeos.com"
iconsThe MyDoge wallet logo

Fields you set replace the default for that field. name and the first entry in icons also label the embedded wallet; when you don’t set name, or set it blank, the embedded wallet is called “DogeOS Social Wallet”.

walletConnectProjectId#

Your Reown (WalletConnect) project ID. Surrounding whitespace is trimmed. When it’s omitted or blank, WalletConnect isn’t offered; the SDK has no fallback project. An invalid ID shows a connection error. See Enable WalletConnect.

theme#

Colors and light or dark mode for the SDK’s wallet UI and the embedded wallet.

FieldTypeDefault
defaultTheme"light" | "dark""light"
themesHeroUI ConfigThemesSDK colors
layoutHeroUI LayoutThemeSDK layout
prefixstringAlways "heroui"

Colors in themes.light and themes.dark are merged with the SDK’s defaults key by key, including nested keys such as primary.DEFAULT. See ThemeConfig and Match Your App’s Theme.

embeddedWalletConfig#

FieldTypeDefault
stage"dev" | "pre" | "prod" | "prod-dogeos"The environment the SDK release was built for

Selects the embedded wallet’s environment. Published SDK releases are built for production. Leave it unset.

gatewayBaseUrl#

The origin of the DogeOS wallet gateway, for example https://wallet.mydoge.com. When set, the SDK runs the wallet continuation check after sign-in, and useDogeOSAuth().fetch() also accepts this origin. When omitted, the continuation check is skipped.

autoRestore#

Whether to reconnect a saved connection when the page loads, and, inside MyDoge, to reconnect silently when MyDoge already approved the dApp. Defaults to true.

Set it to false for a provider that should connect only when the user asks, such as a second provider that links another wallet. It doesn’t affect DogeOS sign-in: with email or social login enabled, a signed-in user’s social wallet still connects when the page loads. To keep it out, set login to external wallets only.

persistConnection#

Whether to save this provider’s connection so a later page load can restore it. Defaults to true. Set it to false for a second provider on the page, so it neither saves its own connection nor replaces or clears the main provider’s.

forceAccountSelection#

Asks an EVM browser wallet to show its account picker on every connect, even for a site it already approved. true uses the default options. Ignored inside MyDoge and for the embedded wallet.

OptionTypeDefaultDescription
revokePermissionsbooleanfalseRevoke the site’s existing account permission first, so wallets that skip their picker for an approved site show it again. This also ends a main connection to the same wallet on the page.
blockedAddressesreadonly string[]NoneAddresses the user has already linked. If the wallet can’t be asked to show its picker and returns one of these, the connection fails and asks the user to disconnect the site in their wallet. Wallets that show their picker can still return them, so check on your server too.

See Link a Second Wallet.