> For the complete documentation index, see [llms.txt](/llms.txt).

# Launch Wallet Services

The `launchWalletServices` method launches a Secure Web Browser which allows you to use the templated wallet UI services. The method takes `ChainConfig` as the required input. Wallet Services is currently only available for EVM chains.

## Method[​](#method "Direct link to Method")

`launchWalletServices(chainConfig: ChainConfig, path?: string | null): Promise<void>;`

## Parameters[​](#parameters "Direct link to Parameters")

```
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
}

```

note

Access to Wallet Services is gated. You can use this feature in `sapphire_devnet` at no cost. The minimum [pricing plan](https://web3auth.io/pricing.html) to use this feature in a production environment is the **Scale Plan**.

## Usage[​](#usage "Direct link to Usage")

```
const chainConfig = {
  chainNamespace: ChainNamespace.EIP155,
  chainId: '0xaa36a7',
  rpcTarget: 'https://ethereum-sepolia.publicnode.com',
  // Avoid using public rpcTarget in production.
  // Use services like Infura
  displayName: 'Ethereum Sepolia Testnet',
  blockExplorerUrl: 'https://sepolia.etherscan.io',
  ticker: 'ETH',
  tickerName: 'Ethereum',
  decimals: 18,
  logo: 'https://cryptologos.cc/logos/ethereum-eth-logo.png',
}

await web3auth.launchWalletServices(chainConfig)

```
