Web3Auth Events & Status
This page documents the key properties and lifecycle events available from a Web3Auth instance. These allow you to track the connection status, react to changes, and build responsive user experiences.
connected
Returns true if a wallet is connected, otherwise false.
Interface
get connected(): boolean;
Usage
const isConnected = web3auth.connected
provider
Returns the current provider instance if connected.
Interface
get provider(): IProvider | null;
Usage
const provider = web3auth.provider
connectedConnectorName
Name of the currently connected wallet connector, or null if not connected.
Interface
connectedConnectorName: WALLET_CONNECTOR_TYPE | null
WALLET_CONNECTOR_TYPE
- Table
 - Interface
 
| Event | Description | 
|---|---|
AUTH | Web3Auth connector. | 
WALLET_CONNECT_V2 | Wallet Connect V2 connector. | 
COINBASE | Coinbase connector. | 
METAMASK | Metamask connector. | 
export type WALLET_CONNECTOR_TYPE = (typeof WALLET_CONNECTORS)[keyof typeof WALLET_CONNECTORS]
export declare const WALLET_CONNECTORS: {
  readonly AUTH: 'auth'
  readonly WALLET_CONNECT_V2: 'wallet-connect-v2'
  readonly COINBASE: 'coinbase'
  readonly METAMASK: 'metamask'
}
Usage
const connectorName = web3auth.connectedConnectorName
status
Current status of the Web3Auth instance. Emits status change events.
Interface
status: CONNECTOR_STATUS_TYPE
CONNECTOR_STATUS_TYPE
- Table
 - Interface
 
| Event | Description | 
|---|---|
NOT_READY | Triggered when the connector is not ready. | 
READY | Triggered when the connector is ready. | 
CONNECTING | Triggered when a connection is being established. | 
CONNECTED | Triggered when a wallet is successfully connected. | 
DISCONNECTING | Triggered when the wallet is in the process of disconnecting. | 
DISCONNECTED | Triggered when the wallet is disconnected. | 
ERRORED | Triggered when an error occurs during the connection lifecycle. | 
export type CONNECTOR_STATUS_TYPE = (typeof CONNECTOR_STATUS)[keyof typeof CONNECTOR_STATUS]
export declare const CONNECTOR_STATUS: {
  readonly NOT_READY: 'not_ready'
  readonly READY: 'ready'
  readonly CONNECTING: 'connecting'
  readonly CONNECTED: 'connected'
  readonly DISCONNECTING: 'disconnecting'
  readonly DISCONNECTED: 'disconnected'
  readonly ERRORED: 'errored'
}
Usage
const status = web3auth.status
currentChain
Returns the current chain configuration if connected.
Interface
get currentChain(): CustomChainConfig | undefined;
chainConfig
const chainConfig = {
  chainId: "0x1", // Please use 0x1 for Mainnet
  rpcTarget: "https://rpc.ethereum.org",
  displayName: "Ethereum Mainnet",
  blockExplorerUrl: "https://etherscan.io/",
  ticker: "ETH",
  tickerName: "Ethereum",
  logo: "https://images.toruswallet.io/eth.svg",
};
- Table
 - Type Declarations
 
| Parameter | Description | 
|---|---|
chainNamespace | Namespace of the chain | 
chainId | Chain ID of the chain | 
rpcTarget | RPC target URL for the chain | 
wsTarget? | Web socket target URL for the chain | 
displayName? | Display name for the chain | 
blockExplorerUrl? | URL of the block explorer | 
ticker? | Default currency ticker of the network | 
tickerName? | Name for currency ticker | 
decimals? | Number of decimals for the currency | 
logo? | Logo for the token | 
isTestnet? | Whether the network is testnet or not | 
export declare const CHAIN_NAMESPACES: {
  readonly EIP155: "eip155";
  readonly SOLANA: "solana";
  readonly CASPER: "casper";
  readonly XRPL: "xrpl";
  readonly OTHER: "other";
};
export type ChainNamespaceType = (typeof CHAIN_NAMESPACES)[keyof typeof CHAIN_NAMESPACES];
export type CustomChainConfig = {
  chainNamespace: ChainNamespaceType;
  /**
   * The chain id of the chain
   */
  chainId: string;
  /**
   * RPC target Url for the chain
   */
  rpcTarget: string;
  /**
   * web socket target Url for the chain
   */
  wsTarget?: string;
  /**
   * Display Name for the chain
   */
  displayName?: string;
  /**
   * Url of the block explorer
   */
  blockExplorerUrl?: string;
  /**
   * Default currency ticker of the network (e.g: ETH)
   */
  ticker?: string;
  /**
   * Name for currency ticker (e.g: `Ethereum`)
   */
  tickerName?: string;
  /**
   * Number of decimals for the currency ticker (e.g: 18)
   */
  decimals?: number;
  /**
   * Logo for the token
   */
  logo?: string;
  /**
   * Whether the network is testnet or not
   */
  isTestnet?: boolean;
};
Usage
const chain = web3auth.currentChain
connectedConnector
Returns the connector instance for the connected wallet, or null.
Interface
get connectedConnector(): IConnector<unknown> | null;
Usage
const connector = web3auth.connectedConnector
accountAbstractionProvider
Returns the account abstraction provider if available.
Interface
get accountAbstractionProvider(): AccountAbstractionProvider | null;
Usage
const aaProvider = web3auth.accountAbstractionProvider
getConnector
Returns a connector instance for a given connector name and chain namespace.
Interface
getConnector(connectorName: WALLET_CONNECTOR_TYPE, chainNamespace?: ChainNamespaceType): IConnector<unknown> | null;
export type WALLET_CONNECTOR_TYPE = (typeof WALLET_CONNECTORS)[keyof typeof WALLET_CONNECTORS];
export declare const WALLET_CONNECTORS: {
  readonly AUTH: "auth";
  readonly WALLET_CONNECT_V2: "wallet-connect-v2";
  readonly COINBASE: "coinbase";
  readonly METAMASK: "metamask";
};
export type ChainNamespaceType = (typeof CHAIN_NAMESPACES)[keyof typeof CHAIN_NAMESPACES];
Usage
const connector = web3auth.getConnector('WALLET_CONNECT_V2', 'eip155')
getPlugin
Returns a plugin instance by name, or null if not found.
Interface
getPlugin(name: string): IPlugin | null;
export interface IPlugin extends SafeEventEmitter {
  name: string;
  status: PLUGIN_STATUS_TYPE;
  SUPPORTED_CONNECTORS: WALLET_CONNECTOR_TYPE[];
  pluginNamespace: PluginNamespace;
  initWithWeb3Auth(web3auth: IWeb3AuthCore, whiteLabel?: WhiteLabelData): Promise<void>;
  connect(): Promise<void>;
  disconnect(): Promise<void>;
  cleanup(): Promise<void>;
}
Usage
const plugin = web3auth.getPlugin('walletServices')