Skip to main content

Composables

Composables are functions that will help you control the modal, subscribe to wallet events and interact with them and smart contracts.

useWeb3Modal​

Control the modal with the useWeb3Modal function

import { useWeb3Modal } from '@web3modal/wagmi/vue'

export default function Component() {
const { open, close } = useWeb3Modal()

open()

//...
}

You can also select the modal's view when calling the open function

open({ view: 'Account' })

List of views you can select

VariableDescription
ConnectPrincipal view of the modal - default view when disconnected
AccountUser profile - default view when connected
AllWalletsShows the list of all available wallets
NetworksList of available networks - you can select and target a specific network before connecting
WhatIsANetwork"What is a network" onboarding view
WhatIsAWallet"What is a wallet" onboarding view
OnRampProviders"OnRamp main view

useDisconnect​

const { disconnect } = useDisconnect()

disconnect()

useWalletInfo​

Metadata information from the connected wallet

import { useWalletInfo } from '@web3modal/wagmi/vue'

const { walletInfo } = useWalletInfo()

console.log(walletInfo.name, walletInfo.icon)

Ethereum Library​

You can use Wagmi actions to sign messages, interact with smart contracts, and much more.

getAccount​

Action for accessing account data and connection status.

import { getAccount } from '@wagmi/core'

const account = getAccount()

signMessage​

Action for signing messages with connected account.

import { signMessage } from '@wagmi/core'

const signature = await signMessage({
message: 'gm wagmi frens'
})

useWeb3ModalState​

Get the current value of the modal's state

import { useWeb3ModalState } from '@web3modal/wagmi/vue'

const { open, selectedNetworkId } = useWeb3ModalState()

The modal state consists of two reactive values:

ValueDescriptionType
openOpen state will be true when the modal is open and false when closed.
boolean
selectedNetworkIdThe current chain id selected by the user
number

useWeb3ModalTheme​

const { setThemeMode, setThemeVariables, themeMode, themeVariables } = useWeb3ModalTheme()

setThemeMode('dark')

setThemeVariables({
'--w3m-color-mix': '#00BB7F',
'--w3m-color-mix-strength': 40
})

Track modal events​

import { useWeb3ModalEvents } from '@web3modal/wagmi/vue'

const events = useWeb3ModalEvents()