{
 "version": "v1",
 "generatedAt": "2026-10-15T21:09:14Z",
 "name": "UNCX Network V3 Locker",
 "named_from": "dashboard",
 "chain": "Robinhood Chain",
 "address": "0xf28704c691290547924e2129d407da36bda8ce0f",
 "composite": 31,
 "band": "weak",
 "keys_to_move": 2,
 "react_hours": 0,
 "money_per_key_usd": 2754000.3015592643,
 "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": 50,
  "multisigScore": 35,
  "timelockScore": 0,
  "oracleAuthorityScore": 100,
  "crossExposureScore": 100
 },
 "requirements": [
  {
   "label": "Admin power is not a bare key",
   "met": true
  },
  {
   "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": 5508000.603118529,
 "category": "Token Locker",
 "at_risk_usd": 3800520.416151785,
 "narrative": {
  "summary": "Owned by a real 2-of-3 Gnosis Safe (v1.4.1, no module, guard slot zero, three bare-EOA owners) with no timelock in the path. Simulated against the live contract, that Safe cannot withdraw or migrate any locked position, but it can name the auto-collect account and zero a lock\u2019s protocol fee, which lets that lock\u2019s uncollected trading fees be redirected.",
  "tag": "fees exposed, principal not",
  "detail": "The locker is non-upgradeable and every state-changing function in UNCX\u2019s public source is present in the deployed bytecode. Principal stays out of the Safe\u2019s reach (withdraw, migrate and decreaseLiquidity are gated by each lock\u2019s own owner), and the score of 31 rests on the 2-of-3 threshold with no discount for these limits. UNCX\u2019s second locker (unicrypt-v4) shares the same owner Safe but is not tracked."
 },
 "score_account": null,
 "paused": null,
 "side_roles": null,
 "side_pending": null,
 "safe_activity": [
  {
   "safe": "robinhood:0x31c4\u20269693",
   "nonce": 10,
   "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": "owner() on the contract: the holder",
    "method": "eth_call",
    "params": [
     {
      "to": "0xf28704c691290547924e2129d407da36bda8ce0f",
      "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"
    ]
   }
  ],
  "curl": "# owner() on the contract: 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\":\"0xf28704c691290547924e2129d407da36bda8ce0f\",\"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\"]}'",
  "block": "0x55508a0",
  "note": "read between blocks 89458462 and 89458848 of the chain"
 },
 "history": [
  {
   "t": "2026-10-13T03:26:46Z",
   "composite": 31,
   "from": "push"
  }
 ],
 "feed": "https://raw.githubusercontent.com/RealSpap/authority-risk-oracle-showcase/watch-data/feed/robinhood-chain/0xf28704c691290547924e2129d407da36bda8ce0f.xml",
 "reproduce": {
  "rpc": "https://rpc.testnet.chain.robinhood.com/rpc",
  "to": "0x9BF45734D09bC7CA39238e767B2af9AAc62a7f52",
  "data": "0xd47875d0000000000000000000000000f28704c691290547924e2129d407da36bda8ce0f",
  "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\":\"0xd47875d0000000000000000000000000f28704c691290547924e2129d407da36bda8ce0f\"},\"latest\"]}'"
 },
 "consumer_example": {
  "verdict": "zero",
  "collateral_factor_bps": 0,
  "text": "collateral factor 0 (score 31 is under MIN_SAFE_SCORE 60)"
 },
 "cheapest_fix": {
  "band": "moderate",
  "next": 40,
  "axis": "admin key",
  "from": 50,
  "to": 73,
  "what": "a stronger admin setup (admin power spread beyond one key, or checked by others)"
 },
 "main_gap": {
  "requirement": "At least a 3-of-5 multisig",
  "reason": "Too few people need to agree"
 },
 "independent_read": {
  "path": "owner()",
  "holder": "0x31c4\u20269693",
  "pending_admin": null,
  "pending_via": null,
  "self_delay_seconds": null,
  "threshold": 2,
  "owners": 3,
  "keys_to_act": 2,
  "keys_lost_to_freeze": 2,
  "kind": "safe",
  "since": "2026-10-10T06:54:09Z",
  "owners_kinds": {
   "eoa": 3
  },
  "posture": "admin: Safe 2-of-3 of 3 plain keys; delay: none",
  "shares_admin_with": [
   {
    "chain": "robinhood",
    "target": "0x128a800cbc615cc110bff16e475865c67631603a"
   }
  ],
  "cluster_tvl_usd": 5508000.603118529,
  "exposure": {
   "keys_to_move": 2,
   "react_hours": 0,
   "tvl_usd": 5508000.603118529,
   "money_per_key_usd": 2754000.3015592643,
   "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=0xf28704c691290547924e2129d407da36bda8ce0f",
 "page": "https://realspap.github.io/oracle/p/robinhood-0xf28704c691290547924e2129d407da36bda8ce0f.html",
 "license": "CC BY 4.0, attribution: Authority Risk Oracle, realspap.github.io/oracle"
}