{"ok":true,"resolver":"cronus-governance","generatedAt":"2026-10-10T11:15:47.857Z","network":{"name":"arc-mainnet","chainId":5042,"rpc":"https://rpc.mainnet.arc.io"},"guard":{"address":"0x37846b767ec1889b0b719945c1168e42228b944c","explorer":"https://explorer.arc.io/address/0x37846b767ec1889b0b719945c1168e42228b944c","token":"0x3600000000000000000000000000000000000000","owner":"0xd4939e42bd3e0ec9cb00091778a331c35d1834aa","ownerIsMultisig":false,"operator":"0xd4939e42bd3e0ec9cb00091778a331c35d1834aa","guardian":"0xd4939e42bd3e0ec9cb00091778a331c35d1834aa","recovery":"0xd4939e42bd3e0ec9cb00091778a331c35d1834aa","perTxCapUsdc":0.1,"dailyCapUsdc":0.5,"hardPerTxCapUsdc":1,"hardDailyCapUsdc":5,"spentInWindowUsdc":0,"availableUsdc":0.1,"windowStart":1789637133,"paused":false,"timelockDelaySeconds":86400,"note":"Every privileged setter is onlyThis: the owner can only queue an operation, wait out timelockDelay, then execute it. Hard caps and the recovery sink are immutable and outlive any owner."},"multisig":{"address":"0xde8874c53d82a38c1c2864ea575f9e62dc29da5f","explorer":"https://explorer.arc.io/address/0xde8874c53d82a38c1c2864ea575f9e62dc29da5f","threshold":null,"ownersCount":null,"owners":[],"txCount":null,"pendingCount":0,"pending":[],"scanned":0,"note":"Owners and threshold change only through a confirmed transaction to the multisig itself; there is no admin backdoor."},"invariants":[{"name":"the guard is owned by the multisig, not by a single key","holds":false,"detail":"owner=0xd4939e42bd3e0ec9cb00091778a331c35d1834aa"},{"name":"moving the guard needs more than one key","holds":null,"detail":"null of null"},{"name":"live caps sit at or below the immutable hard ceilings","holds":true,"detail":"0.1/1 per tx, 0.5/5 daily USDC"},{"name":"no owner action can take effect immediately","holds":true,"detail":"86400s timelock"},{"name":"the cold recovery sink is neither the owner nor the operator","holds":false,"detail":"recovery=0xd4939e42bd3e0ec9cb00091778a331c35d1834aa"},{"name":"the agent hot key cannot change the rules on its own","holds":null,"detail":"operator holds no signature"},{"name":"the spend role and the pause role are held by different keys","holds":false,"detail":"one key is both operator and guardian"},{"name":"a rules change in flight is disclosed with the exact time it can execute","holds":true,"detail":"no rules change in flight"}],"timelock":{"delaySeconds":86400,"queuedCount":0,"queued":[],"scanned":"the last 24 multisig transactions","note":"Queued operations are read from guard.opEta, keyed by keccak256(abi.encode(data, salt)) recovered from the executed multisig call. An operation older than the scanned window would be missed, so the window is stated rather than implied."},"knownGaps":[{"gap":"one key holds both the spend role and the pause role","impact":"the documented three-role split is two roles on-chain, so the guardian is not an independent circuit breaker against the operator","severity":"medium","fix":"queue extSetGuardian to a separate cold watcher key","remediation":null}],"unread":[{"field":"multisig.threshold","reason":"could not decode result data (value=\"0x\", info={ \"method\": \"threshold\", \"signature\": \"threshold()\" }, code=BAD_DATA, version=6.17.0)"},{"field":"multisig.ownersCount","reason":"could not decode result data (value=\"0x\", info={ \"method\": \"ownersCount\", \"signature\": \"ownersCount()\" }, code=BAD_DATA, version=6.17.0)"},{"field":"multisig.txCount","reason":"could not decode result data (value=\"0x\", info={ \"method\": \"txCount\", \"signature\": \"txCount()\" }, code=BAD_DATA, version=6.17.0)"},{"field":"multisig.isOwner(operator)","reason":"could not decode result data (value=\"0x\", info={ \"method\": \"isOwner\", \"signature\": \"isOwner(address)\" }, code=BAD_DATA, version=6.17.0)"}],"complete":false,"honesty":"Every field is read live from Arc with eth_call and no keys. A value the node refused is listed under unread and its invariant reads unknown, never satisfied. A control that is weaker than the documentation claims is listed under knownGaps rather than left for a reader to discover.","cache":{"hit":false,"stale":false,"ageSeconds":0,"ttlSeconds":120}}