{
"addresses": {
"ethereum": [
{
"name": "UnwrapTokenV1ETH",
"isVerified": true,
"address": "eth:0x79973d557CD9dd87eb61E250cc2572c990e20196",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0xA3eE6926edcce93BacF05F4222c243c4d9F6d853"
],
"implementations": [
"eth:0x542059d658624DF6452b22B10302A15a6AB59f10"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. 136 claims have been recorded so far. The operator can also send any surplus ETH back to the ethBackAddress.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **operatorAddress**: EOA 2\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"description": "Redemption queue for wBETH. The token contract records a claim here when a holder burns wBETH; the claim becomes payable once ETH has been allocated to it (automatically on request if the queue already holds enough, otherwise by the operator) and the lock time of 10d has passed. Only ETH sent by the token operator or the rechargeAddress counts toward allocation; the contract has no way to pull ETH from validators. The operator can also send any surplus ETH back to the ethBackAddress.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **operatorAddress**: EOA 2\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x79973d557CD9dd87eb61E250cc2572c990e20196#code"
},
{
"name": "ExchangeRateUpdater",
"isVerified": true,
"address": "eth:0x81720695e43A39C52557Ce6386feB3FAAC215f06",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Rate-limited relay that is the token's registered oracle. Whitelisted callers write the wBETH exchange rate through it, and each caller has an allowance that caps the cumulative absolute change it may push; the allowance refills linearly over the caller's interval. This is the only bound on the exchange rate anywhere in the system, and it can be bypassed by the token owner repointing the oracle.\n* Roles:\n * **callers**: EOA 2\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x81720695e43A39C52557Ce6386feB3FAAC215f06#code"
},
{
"name": "wBETH",
"isVerified": true,
"address": "eth:0xa2E3356610840701BDf5611a53974510Ae27E2e1",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0xA3eE6926edcce93BacF05F4222c243c4d9F6d853"
],
"implementations": [
"eth:0x9E021c9607bD3ADB7424D3b25a2D35763ff180BB"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694505887,
"transactionHash": "0x065674d9a54ad1e26823ef1c7381621195bd6c9b39e3d5b01d9dde846884f047",
"implementations": [
"eth:0xfe928A7D8Be9c8cEce7e97F0Ed5704f4fA2cb42A"
]
},
{
"timestamp": 1732265171,
"transactionHash": "0x998e10d608ab532ac7c5fef0263a32bf09a2c35188e7ebafd08c0c766a8d1431",
"implementations": [
"eth:0x9E021c9607bD3ADB7424D3b25a2D35763ff180BB"
]
}
],
"description": "Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance; 3175313719288555978183752 is the live supply.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **masterMinter**: EOA 1\n * **minters**: OperatorWallet\n * **operator**: EOA 2\n * **oracle**: ExchangeRateUpdater\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"description": "Liquid staking token (wBETH) built on Circle's FiatToken code with a staking layer on top. Anyone can mint by sending ETH to deposit(), receiving ETH ÷ exchangeRate tokens; the ETH stays in this contract until the operator moves it to the ethReceiver. Redemption is requestWithdrawEth(): the tokens are burned at the current rate and an ETH claim is recorded in the unwrap contract. Neither path is open while the token is paused or the caller is blacklisted. The exchange rate is a single storage value written by the oracle address, bounded only to be at least 1e18. Configured minters can additionally mint tokens with no ETH backing, up to their allowance.\n* Roles:\n * **admin**: EOA 3\n * **blacklister**: EOA 1\n * **masterMinter**: EOA 1\n * **minters**: OperatorWallet\n * **operator**: EOA 2\n * **oracle**: ExchangeRateUpdater\n * **owner**: EOA 1\n * **pauser**: EOA 1",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2E3356610840701BDf5611a53974510Ae27E2e1#code"
},
{
"name": "OperatorWallet",
"isVerified": true,
"address": "eth:0xb05a6449f383a1A43A172970858B97394FEcDAD6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7CfE99c15537753682def016D17d4b29A7caB4EE"
],
"implementations": [
"eth:0x18cB25F214B95bFac05d594d14eF68bB94D55813"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1681893923,
"transactionHash": "0xef001a4cacec4958a37a2cb4a40750d12c366a907d5c7ff0fe1f005232ab1aa0",
"implementations": [
"eth:0x18cB25F214B95bFac05d594d14eF68bB94D55813"
]
}
],
"description": "Binance's minting wallet. It is the only configured wBETH minter and its allowance is unlimited. Its operator or owner can mint wBETH to itself or to a registered hot wallet with no ETH deposited on-chain; this is how wBETH is issued to users who wrap BETH on the exchange, and it accounts for nearly all of the supply. The owner can also add hot wallets, pause the wallet, and execute arbitrary calls from it, which lets it mint to any address.\n* Roles:\n * **admin**: EOA 4\n * **operator**: EOA 5\n * **owner**: EOA 6",
"upgradableBy": [
{
"id": "EOA-4",
"name": "EOA 4",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb05a6449f383a1A43A172970858B97394FEcDAD6#code"
}
]
},
"risks": []
}