{
 "version": "v1",
 "generatedAt": "2026-10-22T20:07:41Z",
 "name": "Bridge (verified source)",
 "named_from": "verified source name (Sourcify)",
 "chain": "Ethereum",
 "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a",
 "composite": 60,
 "band": "decent",
 "keys_to_move": null,
 "react_hours": null,
 "money_per_key_usd": null,
 "not_assessed": [
  "how many keys it takes to move it",
  "the time anyone has to react",
  "the money behind one key (no money figure, or no key count)",
  "the protocol's total value locked (no DefiLlama match)"
 ],
 "sub": {
  "adminKeyScore": 60,
  "multisigScore": 100,
  "timelockScore": 20,
  "oracleAuthorityScore": 100,
  "crossExposureScore": 80
 },
 "requirements": [
  {
   "label": "Admin power is not a bare key",
   "met": true
  },
  {
   "label": "At least a 3-of-5 multisig",
   "met": true
  },
  {
   "label": "A confirmed delay before changes apply, no bypass",
   "met": false
  },
  {
   "label": "Bypass paths of the delay checked and ruled out",
   "met": false
  },
  {
   "label": "Price feed not under one hand",
   "met": true
  },
  {
   "label": "No key shared with another tracked protocol",
   "met": false
  }
 ],
 "exit_window": "a delay with a bypass, or one not ruled out",
 "tvl_usd": null,
 "category": null,
 "at_risk_usd": null,
 "narrative": null,
 "score_account": null,
 "paused": null,
 "side_roles": null,
 "side_pending": null,
 "safe_activity": null,
 "admin_probe": null,
 "held": null,
 "dispute": null,
 "independent_read_reproduce": {
  "rpc": "https://ethereum-rpc.publicnode.com",
  "steps": [
   {
    "what": "the admin slot of the proxy (EIP-1967): the word is the admin address",
    "method": "eth_getStorageAt",
    "params": [
     "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a",
     "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103",
     "latest"
    ]
   },
   {
    "what": "owner() on the address the slot returned (a ProxyAdmin): the holder",
    "method": "eth_call",
    "params": [
     {
      "to": "<address from the slot>",
      "data": "0x8da5cb5b"
     },
     "latest"
    ]
   },
   {
    "what": "the implementation slot of the proxy (EIP-1967): the code behind it, an upgrade changes this word",
    "method": "eth_getStorageAt",
    "params": [
     "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a",
     "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
     "latest"
    ]
   }
  ],
  "curl": "# the admin slot of the proxy (EIP-1967): the word is the admin address\ncurl -s -X POST https://ethereum-rpc.publicnode.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103\",\"latest\"]}'\n# owner() on the address the slot returned (a ProxyAdmin): the holder\ncurl -s -X POST https://ethereum-rpc.publicnode.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"<address from the slot>\",\"data\":\"0x8da5cb5b\"},\"latest\"]}'\n# the implementation slot of the proxy (EIP-1967): the code behind it, an upgrade changes this word\ncurl -s -X POST https://ethereum-rpc.publicnode.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a\",\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\"latest\"]}'",
  "block": "latest",
  "note": "read between blocks 26250101 and 26250103 of the chain; this RPC cannot replay the block of the read (it ignores the block tag, or no longer serves old state): the answers are the current ones"
 },
 "history": [
  {
   "t": "2026-10-20T00:54:24Z",
   "composite": 60,
   "from": "watch"
  }
 ],
 "feed": "https://raw.githubusercontent.com/RealSpap/authority-risk-oracle-showcase/watch-data/feed/ethereum-l1-sepolia/0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a.xml",
 "reproduce": {
  "rpc": "https://ethereum-sepolia-rpc.publicnode.com",
  "to": "0xB6F8474ccC71AF477c31c2DF663B3942ddfbf906",
  "data": "0xd47875d00000000000000000000000008315177ab297ba92a06054ce80a67ed4dbd7ed3a",
  "block": "0xb6ab65",
  "composite_word": 6,
  "block_honoured": true,
  "note": null,
  "curl": "curl -s -X POST https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"0xB6F8474ccC71AF477c31c2DF663B3942ddfbf906\",\"data\":\"0xd47875d00000000000000000000000008315177ab297ba92a06054ce80a67ed4dbd7ed3a\"},\"0xb6ab65\"]}'"
 },
 "consumer_example": {
  "verdict": "factor",
  "collateral_factor_bps": 5000,
  "text": "collateral factor 50.00% (score 60)"
 },
 "cheapest_fix": {
  "band": "strong",
  "next": 80,
  "axis": "timelock",
  "from": 20,
  "to": 85,
  "what": "a confirmed delay before changes apply"
 },
 "main_gap": {
  "requirement": "A confirmed delay before changes apply, no bypass",
  "reason": "Changes can apply with no waiting time"
 },
 "independent_read": {
  "path": "EIP-1967 admin -&gt; ProxyAdmin owner()",
  "holder": "0x3fffbadaf827559da092217e474760e2b2c3cedd",
  "pending_admin": null,
  "pending_via": null,
  "self_delay_seconds": null,
  "kind": "contract",
  "since": "2026-10-20T01:03:28Z",
  "posture": "admin: a contract the reader cannot classify; delay: unknown",
  "exposure": {
   "keys_to_move": null,
   "react_hours": null,
   "tvl_usd": null,
   "money_per_key_usd": null,
   "money_source": null,
   "held_symbol": null,
   "held_amount": null
  }
 },
 "score_cluster": null,
 "last_pushed": 1792454859,
 "stale": false,
 "methodology_hash": "0x0e0dadb9b93f111850c6149be1a61b089f1e14e39d9a2acc56a7e0d4d88ef32b",
 "block": 11971429,
 "live": "https://realspap.github.io/oracle/#chain=all&q=0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a",
 "page": "https://realspap.github.io/oracle/p/ethereum-l1-0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a.html",
 "license": "CC BY 4.0, attribution: Authority Risk Oracle, realspap.github.io/oracle"
}