{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "wallet_watchAsset",
  "params": {
    "type": "ERC20",
    "options": {
      "address": "0xA0b86a33E6776e1e627E5C82dF4C0cf77B8bb0c9",
      "symbol": "USDC",
      "decimals": 6,
      "image": "https://cryptologos.cc/logos/usd-coin-usdc-logo.png"
    }
  }
}
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": true
}

Defined in EIP-747

Requests that the wallet tracks the given token in the user’s wallet. Once a token is added, it will be shown in the wallet’s token list.

Parameters

type
string
required

The asset type. Currently only “ERC20” is supported.

options
object
required

Token options object.

Returns

result
boolean

Returns true if the token was successfully added to the watch list.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "wallet_watchAsset",
  "params": {
    "type": "ERC20",
    "options": {
      "address": "0xA0b86a33E6776e1e627E5C82dF4C0cf77B8bb0c9",
      "symbol": "USDC",
      "decimals": 6,
      "image": "https://cryptologos.cc/logos/usd-coin-usdc-logo.png"
    }
  }
}
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": true
}

Error Handling

CodeMessageDescription
4001User rejected the requestUser denied adding the token
4100Requested method not supportedThe method is not supported by the wallet
-32602Invalid paramsInvalid token parameters

Always verify the token contract address and ensure it’s a legitimate token to prevent users from adding malicious tokens.

The token will appear in the user’s wallet token list if successfully added.