{
  "$schema": "https://evmnow.github.io/contract-metadata/v1/schema.json",
  "chainId": 1,
  "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "includes": [
    "interface:erc20"
  ],
  "meta": {
    "version": 1,
    "lastUpdated": "2026-03-28T00:00:00Z",
    "locale": "en"
  },
  "name": "Wrapped Ether",
  "description": "The canonical WETH contract, wrapping native ETH 1:1 as an ERC-20 token used across DeFi.",
  "risks": [
    "No upgradeability — critical DeFi infrastructure with no ability to patch",
    "Wrapping locks ETH in the contract — any exploit could affect all deposited ETH",
    "No Permit (EIP-2612) support — predates gasless approval standard"
  ],
  "category": "token",
  "tags": [
    "token",
    "weth",
    "defi-primitive"
  ],
  "links": [
    {
      "label": "Etherscan",
      "url": "https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
    }
  ],
  "theme": {
    "accent": "#c33c3c"
  },
  "groups": {
    "wrap": {
      "label": "Wrap / Unwrap",
      "order": 1
    }
  },
  "actions": {
    "deposit": {
      "title": "Wrap ETH",
      "description": "Wrap ETH into WETH. Send ETH with this transaction to receive the same amount in WETH.",
      "intent": "Wrap {value} into WETH",
      "group": "wrap",
      "value": {
        "label": "amount",
        "description": "The amount of ETH to wrap. You receive the same amount in WETH."
      }
    },
    "withdraw": {
      "title": "Unwrap WETH",
      "description": "Unwrap WETH back to native ETH. Burns WETH and sends you ETH.",
      "intent": "Unwrap {wad} back to ETH",
      "group": "wrap",
      "params": {
        "wad": {
          "label": "amount",
          "description": "Amount of WETH to unwrap. You receive the same amount in ETH.",
          "type": "token-amount"
        }
      },
      "related": [
        "deposit",
        "balanceOf"
      ]
    },
    "balanceOf": {
      "title": "Balance",
      "description": "Check the WETH balance of any address.",
      "stateMutability": "view",
      "group": "erc20",
      "params": {
        "_0": {
          "label": "holder",
          "type": "address"
        }
      },
      "returns": {
        "_0": {
          "label": "balance",
          "type": "token-amount"
        }
      },
      "examples": [
        {
          "label": "Check Vitalik's balance",
          "params": {
            "_0": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          }
        }
      ]
    },
    "totalSupply": {
      "title": "Total Supply",
      "description": "Total amount of WETH in existence (ETH locked in the contract).",
      "stateMutability": "view",
      "group": "erc20",
      "returns": {
        "_0": {
          "label": "total supply",
          "type": "token-amount"
        }
      }
    },
    "allowance": {
      "title": "Allowance",
      "description": "Check how much WETH an address has approved another address to spend.",
      "stateMutability": "view",
      "group": "erc20",
      "params": {
        "_0": {
          "label": "owner",
          "type": "address"
        },
        "_1": {
          "label": "spender",
          "type": "address"
        }
      },
      "returns": {
        "_0": {
          "label": "allowance",
          "type": "token-amount"
        }
      }
    },
    "approve": {
      "title": "Approve",
      "description": "Approve a spender to transfer up to the given amount of your WETH.",
      "group": "erc20",
      "intent": "Approve {guy} to spend {wad}",
      "params": {
        "guy": {
          "label": "spender",
          "description": "Address to approve",
          "type": "address"
        },
        "wad": {
          "label": "amount",
          "type": "token-amount"
        }
      },
      "warning": "Approving unlimited amounts is common but carries risk if the spender contract is compromised.",
      "related": [
        "allowance",
        "transferFrom",
        "revoke",
        "approve-max"
      ]
    },
    "transfer": {
      "title": "Transfer",
      "description": "Transfer WETH to another address.",
      "group": "erc20",
      "intent": "Transfer {wad} to {dst}",
      "params": {
        "dst": {
          "label": "recipient",
          "type": "address"
        },
        "wad": {
          "label": "amount",
          "type": "token-amount"
        }
      },
      "related": [
        "balanceOf",
        "my-balance"
      ]
    },
    "transferFrom": {
      "title": "Transfer From",
      "description": "Transfer WETH from one address to another, using a previously set allowance.",
      "group": "erc20",
      "intent": "Transfer {wad} from {src} to {dst}",
      "params": {
        "src": {
          "label": "from",
          "type": "address"
        },
        "dst": {
          "label": "to",
          "type": "address"
        },
        "wad": {
          "label": "amount",
          "type": "token-amount"
        }
      },
      "related": [
        "approve",
        "allowance"
      ]
    },
    "name": {
      "title": "Token Name",
      "description": "The name of the token (Wrapped Ether).",
      "stateMutability": "view",
      "group": "erc20"
    },
    "symbol": {
      "title": "Token Symbol",
      "description": "The token symbol (WETH).",
      "stateMutability": "view",
      "group": "erc20"
    },
    "decimals": {
      "title": "Decimals",
      "description": "Number of decimal places (18, same as ETH).",
      "stateMutability": "view",
      "group": "erc20"
    }
  },
  "events": {
    "Deposit": {
      "description": "Emitted when ETH is wrapped into WETH.",
      "params": {
        "dst": {
          "label": "depositor"
        },
        "wad": {
          "label": "amount",
          "type": "eth"
        }
      }
    },
    "Withdrawal": {
      "description": "Emitted when WETH is unwrapped back to ETH.",
      "params": {
        "src": {
          "label": "withdrawer"
        },
        "wad": {
          "label": "amount",
          "type": "eth"
        }
      }
    },
    "Approval": {
      "description": "Emitted when an approval is set.",
      "params": {
        "src": {
          "label": "owner"
        },
        "guy": {
          "label": "spender"
        },
        "wad": {
          "label": "amount",
          "type": "token-amount"
        }
      }
    },
    "Transfer": {
      "description": "Emitted when WETH is transferred.",
      "params": {
        "src": {
          "label": "from"
        },
        "dst": {
          "label": "to"
        },
        "wad": {
          "label": "amount",
          "type": "token-amount"
        }
      }
    }
  }
}
