{
 "version": "v1",
 "generatedAt": "2026-10-15T21:09:14Z",
 "name": "Morpho Vault: Grove x Steakhouse High Yield AUSD",
 "named_from": "dashboard",
 "chain": "Monad",
 "address": "0x32841a8511d5c2c5b253f45668780b99139e476d",
 "composite": 67,
 "band": "decent",
 "keys_to_move": 5,
 "react_hours": 336,
 "money_per_key_usd": 21217.928837941217,
 "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": 70,
  "multisigScore": 75,
  "timelockScore": 55,
  "oracleAuthorityScore": 20,
  "crossExposureScore": 100
 },
 "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": false
  },
  {
   "label": "No key shared with another tracked protocol",
   "met": true
  }
 ],
 "exit_window": "a delay with a bounded bypass",
 "tvl_usd": 28554379.71590495,
 "category": "Risk Curators",
 "at_risk_usd": 9422945.306248633,
 "narrative": {
  "summary": "The largest Morpho vault on Monad (~$108K TVL, a very early deployment). curator() and guardian() resolve to the identical 2-of-6 Safe - no independent veto party during the vault\u2019s own 14-day cap-change timelock.",
  "tag": "composite 60 - curator = guardian",
  "detail": "A real 14-day timelock exists on per-market cap changes, but because the proposing party (curator) and the vetoing party (guardian) are the same multisig, the delay\u2019s independent-check purpose doesn\u2019t hold in practice. The separate 5-of-8 owner Safe governs meta-parameters (curator appointment, fees)."
 },
 "score_account": null,
 "paused": null,
 "side_roles": {
  "guardian()": {
   "kind": "safe",
   "threshold": 3,
   "owners": 9,
   "holder": "0x827e\u2026ecdb"
  },
  "curator()": {
   "kind": "safe",
   "threshold": 3,
   "owners": 9,
   "holder": "0x827e\u2026ecdb"
  }
 },
 "side_pending": null,
 "safe_activity": [
  {
   "safe": "monad:0x0a0e\u2026f8dd",
   "nonce": 15,
   "idle_since": "2026-10-10T21:12:49Z",
   "last_moved": null,
   "never_executed": false
  }
 ],
 "admin_probe": null,
 "held": {
  "symbol": "AUSD",
  "amount": 106202.214514,
  "price_usd": 0.9989400378814222,
  "held_usd": 106089.64418970609,
  "stale": null,
  "price_stale": null,
  "amount_change_pct": 0.0,
  "vanished": null
 },
 "dispute": null,
 "independent_read_reproduce": {
  "rpc": "https://rpc.monad.xyz",
  "steps": [
   {
    "what": "owner() on the contract: the holder",
    "method": "eth_call",
    "params": [
     {
      "to": "0x32841a8511d5c2c5b253f45668780b99139e476d",
      "data": "0x8da5cb5b"
     },
     "0x6c6c938"
    ]
   },
   {
    "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.monad.xyz -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"0x32841a8511d5c2c5b253f45668780b99139e476d\",\"data\":\"0x8da5cb5b\"},\"0x6c6c938\"]}'\n# getThreshold() on the holder (a Safe)\ncurl -s -X POST https://rpc.monad.xyz -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.monad.xyz -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.monad.xyz -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.monad.xyz -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getStorageAt\",\"params\":[\"<holder>\",\"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8\",\"latest\"]}'",
  "block": "0x6c6c938",
  "note": "read between blocks 113690920 and 113690936 of the chain"
 },
 "history": [
  {
   "t": "2026-10-13T00:12:09Z",
   "composite": 67,
   "from": "push"
  }
 ],
 "feed": "https://raw.githubusercontent.com/RealSpap/authority-risk-oracle-showcase/watch-data/feed/monad/0x32841a8511d5c2c5b253f45668780b99139e476d.xml",
 "reproduce": {
  "rpc": "https://testnet-rpc.monad.xyz/",
  "to": "0x50840a7667baEa9D05ad4ae3dCeb384724b58720",
  "data": "0xd47875d000000000000000000000000032841a8511d5c2c5b253f45668780b99139e476d",
  "block": "0x4405f9e",
  "composite_word": 6,
  "block_honoured": true,
  "note": null,
  "curl": "curl -s -X POST https://testnet-rpc.monad.xyz/ -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_call\",\"params\":[{\"to\":\"0x50840a7667baEa9D05ad4ae3dCeb384724b58720\",\"data\":\"0xd47875d000000000000000000000000032841a8511d5c2c5b253f45668780b99139e476d\"},\"0x4405f9e\"]}'"
 },
 "consumer_example": {
  "verdict": "factor",
  "collateral_factor_bps": 5525,
  "text": "collateral factor 55.25% (score 67)"
 },
 "cheapest_fix": {
  "band": "strong",
  "next": 80,
  "axis": "timelock",
  "from": 55,
  "to": 97,
  "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": "owner()",
  "holder": "0x0a0e\u2026f8dd",
  "pending_admin": null,
  "pending_via": null,
  "self_delay_seconds": 1209600,
  "threshold": 5,
  "owners": 10,
  "keys_to_act": 5,
  "keys_lost_to_freeze": 6,
  "kind": "safe",
  "since": "2026-10-10T06:54:09Z",
  "owners_kinds": {
   "eoa": 10
  },
  "posture": "admin: Safe 5-of-10 of 10 plain keys; delay: 336 h the contract enforces itself",
  "shares_admin_with": [
   {
    "chain": "base",
    "target": "0xbeef010f9cb27031ad51e3333f9af9c6b1228183"
   },
   {
    "chain": "base",
    "target": "0xbeef2d50b428675a1921bc6bbf4bfb9d8cf1461a"
   },
   {
    "chain": "ethereum-l1",
    "target": "0xbeef047a543e45807105e51a8bbefcc5950fcfba"
   },
   {
    "chain": "ethereum-l1",
    "target": "0xbeef01735c132ada46aa9aa4c54623caa92a64cb"
   }
  ],
  "cluster_tvl_usd": 28554379.71590495,
  "exposure": {
   "keys_to_move": 5,
   "react_hours": 336,
   "tvl_usd": 106089.64418970609,
   "money_per_key_usd": 21217.928837941217,
   "money_source": "contract",
   "held_symbol": "AUSD",
   "held_amount": 106202.214514
  }
 },
 "score_cluster": null,
 "last_pushed": 1791850329,
 "stale": false,
 "methodology_hash": "0x4988d9ca0f32092144d3ced871e2c454f9e6d071f4d1ab71c97f6970a925ed4f",
 "block": 71327646,
 "live": "https://realspap.github.io/oracle/#chain=all&q=0x32841a8511d5c2c5b253f45668780b99139e476d",
 "page": "https://realspap.github.io/oracle/p/monad-0x32841a8511d5c2c5b253f45668780b99139e476d.html",
 "license": "CC BY 4.0, attribution: Authority Risk Oracle, realspap.github.io/oracle"
}