Skip to main content

Account Actions

The following actions are concerned with connecting and communicating information about an account.

Connection Management


The connect function uses the connector defined in the init function, or a connector that was switched to using switchConnector. Retrieving the address is done by watching it before the connect call.

import { connect } from '@walletconnect/solib'

await connect()

Watch Address

watchAddress watches Solib's state and updates when an address is either connected or disconnected.

import { connect, watchAddress } from '@walletconnect/solib'

watchAddress(pubkey => {
if (pubkey) {
// update UI to reflect successful connection
else {
// Failed connection.

await connect()


disconnect does the necessary work to communicate with the wallet to disconnect, and remove the address from state to help reflect changes on the UI easier. Note, watchAddress will now call the callback with '' for the public key.

import { disconnect } from '@walletconnect/solib'

await disconnect()

Get Address

getAddress returns the address connected in state in a synchronous manner.

import { getAddress } from '@walletconnect/solib'

const address = getAddress() // 3x08...


Sign Message

With signMessage, there is no need to worry about how the user is connected or what wallet they are using, signMessage will call the appropiate Connector configured in init or chosen using switchNetwork.

import { signMessage } from '@walletconnect/solib'

const message = 'Some message'
const signature = await signMessage(message);

Account Information

Get Balance

getBalance retrieves the balance communicates with the cluster configured in init or chosen using switchNetwork.

import { getBalance } from '@walletconnect/solib'

// No need to supply an address as it will automatically use address connected.
const balance = await getBalance()

Get Account

getAccount retrieves account information from the cluster.

import { getAccount } from '@walletconnect/solib'

// Operates the same way as `getBalance`.
const account = await getAccount()