{
 "version": "v1",
 "generatedAt": "2026-10-15T21:09:14Z",
 "name": "Compound V3",
 "named_from": "dashboard",
 "chain": "Arbitrum",
 "address": "0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf",
 "composite": 78,
 "band": "decent",
 "keys_to_move": null,
 "react_hours": 24,
 "money_per_key_usd": null,
 "not_assessed": [
  "how many keys it takes to move it",
  "the money behind one key (no money figure, or no key count)"
 ],
 "sub": {
  "adminKeyScore": 75,
  "multisigScore": 100,
  "timelockScore": 60,
  "oracleAuthorityScore": 52,
  "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": true
  },
  {
   "label": "Bypass paths of the delay checked and ruled out",
   "met": false
  },
  {
   "label": "Price feed not under one hand",
   "met": false
  },
  {
   "label": "No key shared with another tracked protocol",
   "met": false
  }
 ],
 "exit_window": "a confirmed delay, bypass paths not all checked",
 "tvl_usd": 67477154.71542504,
 "category": "Lending",
 "at_risk_usd": 14844974.03739351,
 "narrative": {
  "summary": "Governor, proxy admin and configurator all resolve to one LocalTimelock (1-day delay) whose admin is Compound\u2019s ArbitrumBridgeReceiver, relaying Compound\u2019s Ethereum-mainnet DAO timelock.",
  "tag": "L1 DAO via bridge receiver",
  "detail": "Same shape as the Base Comet, re-derived live against roots.json. A 5-of-9 pauseGuardian Safe can pause outside the timelock (pause only, disclosed, not scored)."
 },
 "score_account": null,
 "paused": null,
 "side_roles": {
  "pauseGuardian()": {
   "kind": "safe",
   "threshold": 5,
   "owners": 9,
   "holder": "0x78e6\u20261a9d"
  }
 },
 "side_pending": null,
 "safe_activity": null,
 "admin_probe": null,
 "held": null,
 "dispute": null,
 "independent_read_reproduce": {
  "rpc": "https://arb1.arbitrum.io/rpc",
  "steps": [
   {
    "what": "the admin slot of the proxy (EIP-1967): the word is the admin address",
    "method": "eth_getStorageAt",
    "params": [
     "0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf",
     "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": "delay() on the holder (Compound-style timelock), in seconds",
    "method": "eth_call",
    "params": [
     {
      "to": "0x3fb4d38ea7ec20d91917c09591490eeda38cf88a",
      "data": "0x6a42b8f8"
     },
     "latest"
    ]
   },
   {
    "what": "the implementation slot of the proxy (EIP-1967): the code behind it, an upgrade changes this word",
    "method": "eth_getStorageAt",
    "params": [
     "0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf",
     "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
     "latest"
    ]
   }
  ],
  "curl": "# the admin slot of the proxy (EIP-1967): the word is the admin address\ncurl -s -X POST https://arb1.arbitrum.io/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf\",\"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103\",\"latest\"]}'\n# owner() on the address the slot returned (a ProxyAdmin): the holder\ncurl -s -X POST https://arb1.arbitrum.io/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"<address from the slot>\",\"data\":\"0x8da5cb5b\"},\"latest\"]}'\n# delay() on the holder (Compound-style timelock), in seconds\ncurl -s -X POST https://arb1.arbitrum.io/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"0x3fb4d38ea7ec20d91917c09591490eeda38cf88a\",\"data\":\"0x6a42b8f8\"},\"latest\"]}'\n# the implementation slot of the proxy (EIP-1967): the code behind it, an upgrade changes this word\ncurl -s -X POST https://arb1.arbitrum.io/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf\",\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\"latest\"]}'",
  "block": "latest",
  "note": "read between blocks 515148086 and 515148107 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-13T00:54:35Z",
   "composite": 78,
   "from": "push"
  }
 ],
 "feed": "https://raw.githubusercontent.com/RealSpap/authority-risk-oracle-showcase/watch-data/feed/arbitrum-sepolia/0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf.xml",
 "reproduce": {
  "rpc": "https://sepolia-rollup.arbitrum.io/rpc",
  "to": "0x50840a7667baEa9D05ad4ae3dCeb384724b58720",
  "data": "0xd47875d00000000000000000000000009c4ec768c28520b50860ea7a15bd7213a9ff58bf",
  "block": "latest",
  "composite_word": 6,
  "block_honoured": false,
  "note": "this RPC cannot replay the block of the build (it ignores the block tag, or no longer serves old state): the call reproduces the current value, not the one of the build; compare the composite and lastUpdated with this page",
  "curl": "curl -s -X POST https://sepolia-rollup.arbitrum.io/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"0x50840a7667baEa9D05ad4ae3dCeb384724b58720\",\"data\":\"0xd47875d00000000000000000000000009c4ec768c28520b50860ea7a15bd7213a9ff58bf\"},\"latest\"]}'"
 },
 "consumer_example": {
  "verdict": "factor",
  "collateral_factor_bps": 6350,
  "text": "collateral factor 63.50% (score 78)"
 },
 "cheapest_fix": {
  "band": "strong",
  "next": 80,
  "axis": "admin key",
  "from": 75,
  "to": 79,
  "what": "a stronger admin setup (admin power spread beyond one key, or checked by others)"
 },
 "main_gap": {
  "requirement": "Bypass paths of the delay checked and ruled out",
  "reason": "The waiting time may be skipped"
 },
 "independent_read": {
  "path": "EIP-1967 admin -&gt; ProxyAdmin owner()",
  "holder": "0x3fb4d38ea7ec20d91917c09591490eeda38cf88a",
  "pending_admin": null,
  "pending_via": null,
  "self_delay_seconds": null,
  "delay_seconds": 86400,
  "kind": "timelock",
  "since": "2026-10-10T06:54:09Z",
  "posture": "admin: a timelock; delay: 24 h on the timelock",
  "exposure": {
   "keys_to_move": null,
   "react_hours": 24,
   "tvl_usd": 67477154.71542504,
   "money_per_key_usd": null,
   "money_source": "protocol_tvl",
   "held_symbol": null,
   "held_amount": null
  }
 },
 "score_cluster": null,
 "last_pushed": 1791852875,
 "stale": false,
 "methodology_hash": "0x51163f3cce4612011bca19a651e2c0b650d9c670559f9036a37acfadf0532f54",
 "block": 319507783,
 "live": "https://realspap.github.io/oracle/#chain=all&q=0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf",
 "page": "https://realspap.github.io/oracle/p/arbitrum-0x9c4ec768c28520b50860ea7a15bd7213a9ff58bf.html",
 "license": "CC BY 4.0, attribution: Authority Risk Oracle, realspap.github.io/oracle"
}