{
 "version": "v1",
 "generatedAt": "2026-10-15T21:09:14Z",
 "name": "Ramses CL V2",
 "named_from": "dashboard",
 "chain": "Robinhood Chain",
 "address": "0x83341f891f898cb5e0cacc8a70501bba83d9cecf",
 "composite": 8,
 "band": "critical",
 "keys_to_move": 1,
 "react_hours": 0,
 "money_per_key_usd": 5847807.502515105,
 "not_assessed": [
  "shared control: the score says no key is shared, but this contract's own independent read lists another tracked contract with the same admin (unresolved, 12/10: do not read \"no key shared\" as established)"
 ],
 "sub": {
  "adminKeyScore": 15,
  "multisigScore": 5,
  "timelockScore": 0,
  "oracleAuthorityScore": 100,
  "crossExposureScore": 100
 },
 "requirements": [
  {
   "label": "Admin power is not a bare key",
   "met": false
  },
  {
   "label": "At least a 3-of-5 multisig",
   "met": false
  },
  {
   "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": true
  }
 ],
 "exit_window": "none: a change applies at once",
 "tvl_usd": 5847807.502515105,
 "category": "Dexs",
 "at_risk_usd": 5379982.902313896,
 "narrative": {
  "summary": "A real DEX with $6.3M TVL, governed through a Timelock whose delay is deliberately set to zero - arguably worse than no timelock at all.",
  "detail": "Governed through a centralized AccessHub rather than per-contract Ownable. DEFAULT_ADMIN_ROLE is held by both \"RamsesTimelock\" and an address labeled \"Ramses Team Multisig\" - traced one hop further rather than trusting the label: that \"multisig\" is a Safe with exactly one owner and threshold 1, the sole signer a bare EOA. RamsesTimelock.getMinDelay() returns 0 - a real, deployed timelock-shaped contract with none of the substance. Batch 8 pinned down RamsesTimelock\u2019s exact address (previously undistinguished from AccessHub) and found PROPOSER_ROLE, CANCELLER_ROLE and EXECUTOR_ROLE are all held by that same single \"Team Multisig\" address - a timelock in name only, on every axis, not just its delay."
 },
 "score_account": null,
 "paused": null,
 "side_roles": null,
 "side_pending": null,
 "safe_activity": [
  {
   "safe": "robinhood:0x20d6\u2026be1a",
   "nonce": 554,
   "idle_since": "2026-10-15T01:02:08Z",
   "last_moved": "2026-10-15T01:02:08Z",
   "never_executed": false
  }
 ],
 "admin_probe": null,
 "held": null,
 "dispute": null,
 "independent_read_reproduce": {
  "rpc": "https://rpc.mainnet.chain.robinhood.com",
  "steps": [
   {
    "what": "the admin slot of the proxy (EIP-1967): the word is the admin address",
    "method": "eth_getStorageAt",
    "params": [
     "0x83341f891f898cb5e0cacc8a70501bba83d9cecf",
     "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103",
     "0x55508a0"
    ]
   },
   {
    "what": "owner() on the address the slot returned (a ProxyAdmin): the holder",
    "method": "eth_call",
    "params": [
     {
      "to": "<address from the slot>",
      "data": "0x8da5cb5b"
     },
     "0x55508a0"
    ]
   },
   {
    "what": "getThreshold() on the holder (a Safe)",
    "method": "eth_call",
    "params": [
     {
      "to": "<holder>",
      "data": "0xe75235b8"
     },
     "latest"
    ]
   },
   {
    "what": "getOwners() on the holder: the signer set (word 2 is the count)",
    "method": "eth_call",
    "params": [
     {
      "to": "<holder>",
      "data": "0xa0e67e2b"
     },
     "latest"
    ]
   },
   {
    "what": "getModulesPaginated(0x1, 50) on the holder: the modules (a module executes without the signatures)",
    "method": "eth_call",
    "params": [
     {
      "to": "<holder>",
      "data": "0xcc2f845200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032"
     },
     "latest"
    ]
   },
   {
    "what": "the guard slot of the holder (keccak of guard_manager.guard.address)",
    "method": "eth_getStorageAt",
    "params": [
     "<holder>",
     "0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8",
     "latest"
    ]
   },
   {
    "what": "the implementation slot of the proxy (EIP-1967): the code behind it, an upgrade changes this word",
    "method": "eth_getStorageAt",
    "params": [
     "0x83341f891f898cb5e0cacc8a70501bba83d9cecf",
     "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
     "latest"
    ]
   }
  ],
  "curl": "# the admin slot of the proxy (EIP-1967): the word is the admin address\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"0x83341f891f898cb5e0cacc8a70501bba83d9cecf\",\"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103\",\"0x55508a0\"]}'\n# owner() on the address the slot returned (a ProxyAdmin): the holder\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"<address from the slot>\",\"data\":\"0x8da5cb5b\"},\"0x55508a0\"]}'\n# getThreshold() on the holder (a Safe)\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"<holder>\",\"data\":\"0xe75235b8\"},\"latest\"]}'\n# getOwners() on the holder: the signer set (word 2 is the count)\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"<holder>\",\"data\":\"0xa0e67e2b\"},\"latest\"]}'\n# getModulesPaginated(0x1, 50) on the holder: the modules (a module executes without the signatures)\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"<holder>\",\"data\":\"0xcc2f845200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032\"},\"latest\"]}'\n# the guard slot of the holder (keccak of guard_manager.guard.address)\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"<holder>\",\"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8\",\"latest\"]}'\n# the implementation slot of the proxy (EIP-1967): the code behind it, an upgrade changes this word\ncurl -s -X POST https://rpc.mainnet.chain.robinhood.com -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"0x83341f891f898cb5e0cacc8a70501bba83d9cecf\",\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\"latest\"]}'",
  "block": "0x55508a0",
  "note": "read between blocks 89458462 and 89458848 of the chain"
 },
 "history": [
  {
   "t": "2026-10-13T03:26:46Z",
   "composite": 8,
   "from": "push"
  }
 ],
 "feed": "https://raw.githubusercontent.com/RealSpap/authority-risk-oracle-showcase/watch-data/feed/robinhood-chain/0x83341f891f898cb5e0cacc8a70501bba83d9cecf.xml",
 "reproduce": {
  "rpc": "https://rpc.testnet.chain.robinhood.com/rpc",
  "to": "0x9BF45734D09bC7CA39238e767B2af9AAc62a7f52",
  "data": "0xd47875d000000000000000000000000083341f891f898cb5e0cacc8a70501bba83d9cecf",
  "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://rpc.testnet.chain.robinhood.com/rpc -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"0x9BF45734D09bC7CA39238e767B2af9AAc62a7f52\",\"data\":\"0xd47875d000000000000000000000000083341f891f898cb5e0cacc8a70501bba83d9cecf\"},\"latest\"]}'"
 },
 "consumer_example": {
  "verdict": "zero",
  "collateral_factor_bps": 0,
  "text": "collateral factor 0 (score 8 is under MIN_SAFE_SCORE 60)"
 },
 "cheapest_fix": {
  "band": "weak",
  "next": 20,
  "axis": "admin key",
  "from": 15,
  "to": 45,
  "what": "a stronger admin setup (admin power spread beyond one key, or checked by others)"
 },
 "main_gap": {
  "requirement": "Admin power is not a bare key",
  "reason": "One key, or a tiny group, can change it"
 },
 "independent_read": {
  "path": "EIP-1967 admin -&gt; ProxyAdmin owner()",
  "holder": "0x20d6\u2026be1a",
  "pending_admin": null,
  "pending_via": null,
  "self_delay_seconds": null,
  "threshold": 1,
  "owners": 2,
  "keys_to_act": 1,
  "keys_lost_to_freeze": 2,
  "kind": "safe",
  "since": "2026-10-10T06:54:09Z",
  "owners_kinds": {
   "eoa": 2
  },
  "owners_detail": [
   {
    "owner": "0xb3bf\u20261c9b",
    "kind": "eoa"
   },
   {
    "owner": "0xbe0c\u20263f89",
    "kind": "eoa"
   }
  ],
  "posture": "admin: Safe 1-of-2 of 2 plain keys; delay: none",
  "shares_admin_with": [
   {
    "chain": "robinhood",
    "target": "0xa203a21dccb461e415daa342e8e635b6cee0ccb3"
   }
  ],
  "cluster_tvl_usd": 5847807.502515105,
  "exposure": {
   "keys_to_move": 1,
   "react_hours": 0,
   "tvl_usd": 5847807.502515105,
   "money_per_key_usd": 5847807.502515105,
   "money_source": "protocol_tvl",
   "held_symbol": null,
   "held_amount": null
  }
 },
 "score_cluster": null,
 "last_pushed": 1791862006,
 "stale": false,
 "methodology_hash": "0x667dc486af9557a83488110fdb18fe653ba6d3be4773420590ee53b4a052fa45",
 "block": 136039274,
 "live": "https://realspap.github.io/oracle/#chain=all&q=0x83341f891f898cb5e0cacc8a70501bba83d9cecf",
 "page": "https://realspap.github.io/oracle/p/robinhood-0x83341f891f898cb5e0cacc8a70501bba83d9cecf.html",
 "license": "CC BY 4.0, attribution: Authority Risk Oracle, realspap.github.io/oracle"
}