{
 "version": "v1",
 "generatedAt": "2026-10-22T20:07:41Z",
 "name": "PendleRouterV4 (verified source)",
 "named_from": "verified source name (Sourcify)",
 "chain": "Ethereum",
 "address": "0x888888888889758f76e7103c6cbf23abbf58f946",
 "composite": 43,
 "band": "moderate",
 "keys_to_move": 3,
 "react_hours": 0,
 "money_per_key_usd": null,
 "not_assessed": [
  "the money behind one key (no money figure, or no key count)",
  "the protocol's total value locked (no DefiLlama match)"
 ],
 "sub": {
  "adminKeyScore": 65,
  "multisigScore": 55,
  "timelockScore": 0,
  "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": "none: a change applies at once",
 "tvl_usd": null,
 "category": null,
 "at_risk_usd": null,
 "narrative": null,
 "score_account": null,
 "paused": null,
 "side_roles": null,
 "side_pending": null,
 "safe_activity": [
  {
   "safe": "ethereum-l1:0x8119\u20266ee1",
   "nonce": 812,
   "idle_since": "2026-10-20T01:07:06Z",
   "last_moved": null,
   "never_executed": false
  }
 ],
 "admin_probe": null,
 "held": null,
 "dispute": null,
 "independent_read_reproduce": {
  "rpc": "https://ethereum-rpc.publicnode.com",
  "steps": [
   {
    "what": "owner() on the contract: the holder",
    "method": "eth_call",
    "params": [
     {
      "to": "0x888888888889758f76e7103c6cbf23abbf58f946",
      "data": "0x8da5cb5b"
     },
     "latest"
    ]
   },
   {
    "what": "getThreshold() on the holder (a Safe)",
    "method": "eth_call",
    "params": [
     {
      "to": "0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1",
      "data": "0xe75235b8"
     },
     "latest"
    ]
   },
   {
    "what": "getOwners() on the holder: the signer set (word 2 is the count)",
    "method": "eth_call",
    "params": [
     {
      "to": "0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1",
      "data": "0xa0e67e2b"
     },
     "latest"
    ]
   },
   {
    "what": "getModulesPaginated(0x1, 50) on the holder: the modules (a module executes without the signatures)",
    "method": "eth_call",
    "params": [
     {
      "to": "0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1",
      "data": "0xcc2f845200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032"
     },
     "latest"
    ]
   },
   {
    "what": "the guard slot of the holder (keccak of guard_manager.guard.address)",
    "method": "eth_getStorageAt",
    "params": [
     "0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1",
     "0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8",
     "latest"
    ]
   }
  ],
  "curl": "# owner() on the contract: 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\":\"0x888888888889758f76e7103c6cbf23abbf58f946\",\"data\":\"0x8da5cb5b\"},\"latest\"]}'\n# getThreshold() on the holder (a Safe)\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\":\"0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1\",\"data\":\"0xe75235b8\"},\"latest\"]}'\n# getOwners() on the holder: the signer set (word 2 is the count)\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\":\"0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1\",\"data\":\"0xa0e67e2b\"},\"latest\"]}'\n# getModulesPaginated(0x1, 50) on the holder: the modules (a module executes without the signatures)\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\":\"0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1\",\"data\":\"0xcc2f845200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032\"},\"latest\"]}'\n# the guard slot of the holder (keccak of guard_manager.guard.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\":[\"0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1\",\"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8\",\"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": 43,
   "from": "watch"
  }
 ],
 "feed": "https://raw.githubusercontent.com/RealSpap/authority-risk-oracle-showcase/watch-data/feed/ethereum-l1-sepolia/0x888888888889758f76e7103c6cbf23abbf58f946.xml",
 "reproduce": {
  "rpc": "https://ethereum-sepolia-rpc.publicnode.com",
  "to": "0xB6F8474ccC71AF477c31c2DF663B3942ddfbf906",
  "data": "0xd47875d0000000000000000000000000888888888889758f76e7103c6cbf23abbf58f946",
  "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\":\"0xd47875d0000000000000000000000000888888888889758f76e7103c6cbf23abbf58f946\"},\"0xb6ab65\"]}'"
 },
 "consumer_example": {
  "verdict": "zero",
  "collateral_factor_bps": 0,
  "text": "collateral factor 0 (score 43 is under MIN_SAFE_SCORE 60)"
 },
 "cheapest_fix": {
  "band": "decent",
  "next": 60,
  "axis": "timelock",
  "from": 0,
  "to": 57,
  "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": "0x8119ec16f0573b7dac7c0cb94eb504fb32456ee1",
  "pending_admin": null,
  "pending_via": null,
  "self_delay_seconds": null,
  "threshold": 3,
  "owners": 5,
  "keys_to_act": 3,
  "keys_lost_to_freeze": 3,
  "kind": "safe",
  "since": "2026-10-20T01:03:28Z",
  "owners_kinds": {
   "eoa": 5
  },
  "posture": "admin: Safe 3-of-5 of 5 plain keys; delay: none",
  "exposure": {
   "keys_to_move": 3,
   "react_hours": 0,
   "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=0x888888888889758f76e7103c6cbf23abbf58f946",
 "page": "https://realspap.github.io/oracle/p/ethereum-l1-0x888888888889758f76e7103c6cbf23abbf58f946.html",
 "license": "CC BY 4.0, attribution: Authority Risk Oracle, realspap.github.io/oracle"
}