{
"badges": [],
"description": "Coinbase Wrapped Staked ETH (cbETH) is a liquid staking token for ETH issued by Coinbase. It is minted and redeemed only through Coinbase's exchange against staked ETH in Coinbase custody: the contracts hold no ETH and have no deposit or redemption function. Coinbase sets the exchange rate, controls supply and custody, and can mint, pause, blacklist or upgrade without delay.",
"detailedDescription": "cbETH is Coinbase's liquid staking token for ETH. It represents ETH staked through Coinbase, plus accrued rewards, as a token whose ETH value rises over time through a reported exchange rate.\n\n### Wrapping and minting\n\nThere is no onchain deposit. According to Coinbase, users wrap the staked-ETH balance they hold on its exchange into cbETH and unwrap it back; onchain this appears only as mints and burns by Coinbase keys, and nothing ties a mint to staked ETH. Minting goes through a rate-limited relay, one of the token's 2 configured minters. 3 Coinbase keys may mint through it, to any address: the largest single allowance is 1,121,627 cbETH over 1 year, and the fastest-refilling key can sustain about 48,000 cbETH per day. No ETH is attached to a mint. The contracts never hold ETH and do not track beacon-chain balances, so backing rests on Coinbase's records and custody.\n\n\n\n### Exchange rate\n\nA Coinbase key reports the ETH-per-cbETH rate through a limiter that currently allows a cumulative move of 10 ETH per cbETH over 1 year, about 8.8× the current rate, so the limit does not bind in practice. The token only requires the rate to be non-zero and uses it in no function of its own; it is a published reference value. Coinbase can reconfigure or replace the oracle immediately.\n\n### Redeeming\n\ncbETH cannot be redeemed for ETH onchain. The only exit is custodial redemption through Coinbase, on its terms and timelines, or selling on the secondary market. Pausing or blacklisting can stop a holder from transferring at all.\n\n\n\n### Governance\n\nAll roles are Coinbase-controlled EOAs. They can mint cbETH, change the rate and the operational roles, pause or blacklist any address, and upgrade the token contract, each without delay. The two relays are not upgradeable, but their owners can rewire callers and limits instantly.",
"links": {
"websites": [
"https://www.coinbase.com/cbeth"
],
"documentation": [
"https://www.coinbase.com/cbeth/whitepaper"
],
"repositories": [
"https://github.com/coinbase/wrapped-tokens-os"
],
"socialMedia": [
"https://x.com/CoinbaseAssets"
]
},
"references": [
{
"title": "OpenZeppelin audit of the Coinbase liquid staking token (August 2022)",
"url": "https://blog.openzeppelin.com/coinbase-liquid-staking-token-audit"
}
]
}
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "EOA-1,-EOA-9-and-EOA-12",
"name": "EOA 1, EOA 9 and EOA 12",
"accounts": [
{
"address": "eth:0x1812156465601d025A82e2eDC55175bd8D16Bbe6",
"type": "EOA",
"isVerified": true,
"name": "0x1812…Bbe6",
"url": "https://etherscan.io/address/0x1812156465601d025A82e2eDC55175bd8D16Bbe6",
"displayName": "EOA 1"
},
{
"address": "eth:0xaF24CbC4C76f7926A5c6D2fe5792e258f6B27a77",
"type": "EOA",
"isVerified": true,
"name": "0xaF24…7a77",
"url": "https://etherscan.io/address/0xaF24CbC4C76f7926A5c6D2fe5792e258f6B27a77",
"displayName": "EOA 9"
},
{
"address": "eth:0xfae23c30d383DF59D3E031C325a73d454e8721a6",
"type": "EOA",
"isVerified": true,
"name": "0xfae2…21a6",
"url": "https://etherscan.io/address/0xfae23c30d383DF59D3E031C325a73d454e8721a6",
"displayName": "EOA 12"
}
],
"chain": "ethereum",
"description": "* Can interact with MintForwarder\n * mint tokens to any address with no on-chain backing, up to its allowance per refill interval ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x4b8741C89ABFf2562e854899E24d67A36406eA03",
"type": "EOA",
"isVerified": true,
"name": "0x4b87…eA03",
"url": "https://etherscan.io/address/0x4b8741C89ABFf2562e854899E24d67A36406eA03",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with cbETH\n * replace the oracle, masterMinter, pauser, blacklister and rescuer addresses at any time, with no delay. Replacing the oracle removes any rate limit the current oracle contract enforces ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x4CD6AC4bdd291488e9f26967722A7C5bF6ABbBe5",
"type": "EOA",
"isVerified": true,
"name": "0x4CD6…bBe5",
"url": "https://etherscan.io/address/0x4CD6AC4bdd291488e9f26967722A7C5bF6ABbBe5",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with MintForwarder\n * whitelist or remove callers and set each caller's mint allowance and refill interval, with no delay ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0x7Dd4aa646b2e2850f9D809F9299E8E87AC97b77a",
"type": "EOA",
"isVerified": true,
"name": "0x7Dd4…b77a",
"url": "https://etherscan.io/address/0x7Dd4aa646b2e2850f9D809F9299E8E87AC97b77a",
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with cbETH\n * configure minters and their allowances. A minter can mint tokens to any address with no on-chain backing, up to its allowance ",
"discoveryDrivenData": true
},
{
"id": "EOA-5",
"name": "EOA 5",
"accounts": [
{
"address": "eth:0x9596EAE1744997161ac094252e5020E9314BDCc2",
"type": "EOA",
"isVerified": true,
"name": "0x9596…DCc2",
"url": "https://etherscan.io/address/0x9596EAE1744997161ac094252e5020E9314BDCc2",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with cbETH\n * pause and unpause the token. While paused, transfers, approvals, mints and burns all revert ",
"discoveryDrivenData": true
},
{
"id": "EOA-6",
"name": "EOA 6",
"accounts": [
{
"address": "eth:0x9bf90191444f7E0C52da9A4D31C419B4c96BA372",
"type": "EOA",
"isVerified": true,
"name": "0x9bf9…A372",
"url": "https://etherscan.io/address/0x9bf90191444f7E0C52da9A4D31C419B4c96BA372",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with cbETH\n * mint tokens to any address with no on-chain backing, up to its minter allowance, and burn its own balance ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xA57aFe0Ba93f6854ed1DCd58dCE301E10B15D1D6",
"type": "EOA",
"isVerified": true,
"name": "0xA57a…D1D6",
"url": "https://etherscan.io/address/0xA57aFe0Ba93f6854ed1DCd58dCE301E10B15D1D6",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with ExchangeRateUpdater\n * whitelist or remove callers and set each caller's allowance and refill interval, with no delay ",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xA74D6B26e308B140423928F7e71b50E02819Cb5c",
"type": "EOA",
"isVerified": true,
"name": "0xA74D…Cb5c",
"url": "https://etherscan.io/address/0xA74D6B26e308B140423928F7e71b50E02819Cb5c",
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "* Can interact with ExchangeRateUpdater\n * set the exchange rate, up or down, by at most its allowance per refill interval ",
"discoveryDrivenData": true
},
{
"id": "EOA-10",
"name": "EOA 10",
"accounts": [
{
"address": "eth:0xBE3c68821D585Cf1552214897a1c091014B1EB0a",
"type": "EOA",
"isVerified": true,
"name": "0xBE3c…EB0a",
"url": "https://etherscan.io/address/0xBE3c68821D585Cf1552214897a1c091014B1EB0a",
"displayName": "EOA 10"
}
],
"chain": "ethereum",
"description": "* Can interact with cbETH\n * blacklist any address, blocking it from sending, receiving, approving, minting or burning tokens, and lift the blacklist again ",
"discoveryDrivenData": true
},
{
"id": "EOA-11",
"name": "EOA 11",
"accounts": [
{
"address": "eth:0xEeE4Ac8A22a6b310c53d59a7d59b3E0336C19577",
"type": "EOA",
"isVerified": true,
"name": "0xEeE4…9577",
"url": "https://etherscan.io/address/0xEeE4Ac8A22a6b310c53d59a7d59b3E0336C19577",
"displayName": "EOA 11"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * cbETH ",
"discoveryDrivenData": true
}
]
}
}
contracts+78-0
{
"addresses": {
"ethereum": [
{
"name": "MintForwarder",
"isVerified": true,
"address": "eth:0x6D44bfB8432d17882bB6e84652f5C3B36fcC8280",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Rate-limited minting relay registered as a minter of the token. Whitelisted callers mint tokens to any address through it, each within an allowance that caps the amount per refill interval; the allowance refills linearly. No ETH is attached to a mint, so minted tokens are backed only by the issuer's off-chain records.\n* Roles:\n * **callers**: EOA 1, EOA 12, EOA 9\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6D44bfB8432d17882bB6e84652f5C3B36fcC8280#code"
},
{
"name": "ExchangeRateUpdater",
"isVerified": true,
"address": "eth:0x9b37180d847B27ADC13C2277299045C1237Ae281",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Rate-limited relay registered as the token's oracle. Whitelisted callers write the 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. Apart from the token's own minimum-value check, this is the only bound on the exchange rate, and the token owner can bypass it by repointing the oracle.\n* Roles:\n * **callers**: EOA 8\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9b37180d847B27ADC13C2277299045C1237Ae281#code"
},
{
"name": "cbETH",
"isVerified": true,
"address": "eth:0xBe9895146f7AF43049ca1c1AE358B0541Ea49704",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0xEeE4Ac8A22a6b310c53d59a7d59b3E0336C19577"
],
"implementations": [
"eth:0x31724cA0C982A31fbb5C57f4217AB585271fc9a5"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Value-accruing staked-ETH token (cbETH) built on Circle's FiatToken code with an exchange-rate layer on top. The contract has no deposit or redemption function and holds no ETH: supply changes only through mint() and burn() by configured minters, and the ETH-per-token exchange rate is a single storage value written by the oracle address, bounded only to be non-zero. Transfers, approvals, mints and burns revert while the token is paused or when either party is blacklisted.\n* Roles:\n * **admin**: EOA 11\n * **blacklister**: EOA 10\n * **masterMinter**: EOA 4\n * **minters**: EOA 6, MintForwarder\n * **oracle**: ExchangeRateUpdater\n * **owner**: EOA 2\n * **pauser**: EOA 5",
"upgradableBy": [
{
"id": "EOA-11",
"name": "EOA 11",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBe9895146f7AF43049ca1c1AE358B0541Ea49704#code"
}
]
},
"risks": [
{
"category": "Funds can be stolen if",
"text": "the proxy admin key upgrades the token to malicious code, or a minting key mints unbacked supply; each is a single key acting with no delay.",
"isCritical": true
},
{
"category": "Funds can lose value if",
"text": "the rate key or the oracle owner misreports the exchange rate; the relay cap does not bind at current values and the token only checks that the rate is non-zero."
},
{
"category": "Funds can be frozen if",
"text": "the pauser halts transfers or the blacklister freezes an address, both with no delay, or if Coinbase declines or delays custodial redemption, the only exit for the token."
}
]
}
[
{
"id": "55eab8a8",
"date": "Tue, 20 Oct 2026 16:20:58 GMT",
"timestamp": 1792491622,
"description": "Initial discovery of Coinbase's cbETH: the token, its rate-limited oracle relay and its rate-limited minting relay.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract MintForwarder (eth:0x6D44bfB8432d17882bB6e84652f5C3B36fcC8280) [cbeth/MintForwarder]\n +++ description: Rate-limited minting relay registered as a minter of the token. Whitelisted callers mint tokens to any address through it, each within an allowance that caps the amount per refill interval; the allowance refills linearly. No ETH is attached to a mint, so minted tokens are backed only by the issuer's off-chain records.\n```\n\n```diff\n+ Status: CREATED\n contract ExchangeRateUpdater (eth:0x9b37180d847B27ADC13C2277299045C1237Ae281) [shared-wrapped-tokens/ExchangeRateUpdater]\n +++ description: Rate-limited relay registered as the token's oracle. Whitelisted callers write the 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. Apart from the token's own minimum-value check, this is the only bound on the exchange rate, and the token owner can bypass it by repointing the oracle.\n```\n\n```diff\n+ Status: CREATED\n contract cbETH (eth:0xBe9895146f7AF43049ca1c1AE358B0541Ea49704) [cbeth/StakedTokenV1]\n +++ description: Value-accruing staked-ETH token (cbETH) built on Circle's FiatToken code with an exchange-rate layer on top. The contract has no deposit or redemption function and holds no ETH: supply changes only through mint() and burn() by configured minters, and the ETH-per-token exchange rate is a single storage value written by the oracle address, bounded only to be non-zero. Transfers, approvals, mints and burns revert while the token is paused or when either party is blacklisted.\n```"
}
]
}
]
ossificationHistory+1-0
null
auditCoverage+1-0
null
archivedAt+1-0
null
hasTestnet+1-0
null
wbeth+3-3
permissions+1-1
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x099d699C07Bbc8eE6eB5703746063E04B2aA62A7",
"type": "EOA",
"isVerified": true,
"name": "0x099d…62A7",
"url": "https://etherscan.io/address/0x099d699C07Bbc8eE6eB5703746063E04B2aA62A7",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with UnwrapTokenV1ETH\n * blacklist any address, blocking it from claiming its redeemed ETH \n * pause the contract. While paused, no claim can be paid out and no new claims or top-ups are accepted \n * replace the operator, rechargeAddress, ethBackAddress, pauser and blacklister at any time, with no delay \n* Can interact with ExchangeRateUpdater\n * whitelist or remove callers and set each caller's allowance and refill interval, with no delay \n* Can interact with wBETH\n * blacklist any address, blocking it from transferring, receiving, depositing or redeeming \n * configure minters and their allowances. A minter can mint wBETH to any address with no ETH backing, up to its allowance \n * pause and unpause the token. While paused, transfers, deposits (mint) and redemption requests (burn) all revert \n * replace the oracle, operator, ethReceiver, masterMinter, pauser, blacklister and rescuer addresses at any time, with no delay. Replacing the oracle removes the rate limit that the current oracle contract enforces ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x2B59215778e99035CF38663454eF1240a7AE70F5",
"type": "EOA",
"isVerified": true,
"name": "0x2B59…70F5",
"url": "https://etherscan.io/address/0x2B59215778e99035CF38663454eF1240a7AE70F5",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with UnwrapTokenV1ETH\n * allocate ETH to pending claims (a claim is not payable until allocated, which otherwise happens only when the queue is pre-funded), set the claim lock time to any value of at least 2 days, and move surplus ETH to the ethBackAddress even while paused \n* Can interact with ExchangeRateUpdater\n * set the wBETH exchange rate, up or down, by at most its allowance per refill interval \n* Can interact with wBETH\n * move any amount of the ETH held by this contract to the ethReceiver or to the unwrap contract ",
"description": "* Can interact with UnwrapTokenV1ETH\n * allocate ETH to pending claims (a claim is not payable until allocated, which otherwise happens only when the queue is pre-funded), set the claim lock time to any value of at least 2 days, and move surplus ETH to the ethBackAddress even while paused \n* Can interact with ExchangeRateUpdater\n * set the exchange rate, up or down, by at most its allowance per refill interval \n* Can interact with wBETH\n * move any amount of the ETH held by this contract to the ethReceiver or to the unwrap contract ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xA3eE6926edcce93BacF05F4222c243c4d9F6d853",
"type": "EOA",
"isVerified": true,
"name": "0xA3eE…d853",
"url": "https://etherscan.io/address/0xA3eE6926edcce93BacF05F4222c243c4d9F6d853",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * UnwrapTokenV1ETH \n * wBETH ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0x7CfE99c15537753682def016D17d4b29A7caB4EE",
"type": "EOA",
"isVerified": true,
"name": "0x7CfE…B4EE",
"url": "https://etherscan.io/address/0x7CfE99c15537753682def016D17d4b29A7caB4EE",
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * OperatorWallet ",
"discoveryDrivenData": true
},
{
"id": "EOA-5",
"name": "EOA 5",
"accounts": [
{
"address": "eth:0xa42436335a41fA6C82CDe224Ae2B82C025027e5b",
"type": "EOA",
"isVerified": true,
"name": "0xa424…7e5b",
"url": "https://etherscan.io/address/0xa42436335a41fA6C82CDe224Ae2B82C025027e5b",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with OperatorWallet\n * mint unbacked wBETH to a registered hot wallet and transfer tokens held here to a hot wallet ",
"discoveryDrivenData": true
},
{
"id": "EOA-6",
"name": "EOA 6",
"accounts": [
{
"address": "eth:0xB2F56fc21EFe0f3921FC28adeCacC36A4bFdcAC1",
"type": "EOA",
"isVerified": true,
"name": "0xB2F5…cAC1",
"url": "https://etherscan.io/address/0xB2F56fc21EFe0f3921FC28adeCacC36A4bFdcAC1",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with OperatorWallet\n * mint unbacked wBETH to any address (through execTransaction), add or remove hot wallets, replace the operator, pause the wallet, and withdraw anything the wallet holds ",
"discoveryDrivenData": true
}
]
}
}
contracts+1-1
{
"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 1mo 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",
"description": "Rate-limited relay registered as the token's oracle. Whitelisted callers write the 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. Apart from the token's own minimum-value check, this is the only bound on the exchange rate, and the token owner can bypass it by 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.\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": []
}