watchAsset
Requests that the user tracks the token in their wallet. Returns a boolean indicating if the token was successfully added.
Usage
example.ts
import { walletClient } from './client'
 
const success = await walletClient.watchAsset({ 
  type: 'ERC20',
  options: {
    address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    decimals: 18,
    symbol: 'WETH',
  },
})Returns
boolean
Boolean indicating if the token was successfully added.
Parameters
type
- Type: string
Token type.
import { createWalletClient, custom } from 'viem'
import { mainnet } from 'viem/chains'
 
export const walletClient = createWalletClient({
  chain: mainnet,
  transport: custom(window.ethereum!),
})
// ---cut--
const success = await walletClient.watchAsset({
  type: 'ERC20', 
  options: {
    address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    decimals: 18,
    symbol: 'WETH',
  },
});options.address
- Type: Address
The address of the token contract.
const success = await walletClient.watchAsset({
  type: 'ERC20',
  options: {
    address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', 
    decimals: 18,
    symbol: 'WETH',
  },
});options.decimals
- Type: number
The number of token decimals.
const success = await walletClient.watchAsset({
  type: 'ERC20',
  options: {
    address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    decimals: 18, 
    symbol: 'WETH',
  },
});options.symbol
- Type: string
A ticker symbol or shorthand, up to 11 characters.
const success = await walletClient.watchAsset({
  type: 'ERC20',
  options: {
    address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    decimals: 18,
    symbol: 'WETH', 
  }
})options.image
- Type: string
A string url of the token logo.
const success = await walletClient.watchAsset({
  type: 'ERC20',
  options: {
    address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    decimals: 18,
    symbol: 'WETH',
    image: 'https://weth.com/icon.png', 
  }
})
