Janus Henderson Anemoy AAA CLO Fund
Tokenized shares of a BVI segregated portfolio holding AAA-rated CLO tranches, with Janus Henderson as sub-manager. Runs on the same Centrifuge V3 deployment as JTRSY. The same single wallet that sets JTRSY's price sets JAAA's NAV. That role used to be a 3-of-8 Safe. Subscriptions and redemptions are requests through ERC-7540 vaults. Solana and Stellar supply is backed by Ethereum escrows and is already inside the Ethereum figure. Plume, Monad and other non-tracked chains are not read.
Control
Who can freeze, mint, pause or upgrade, and what stops them?
A single key can create new tokens.
A single key can create new tokens.
A single key can move tokens out of any wallet.
A single key can destroy tokens in any wallet.
A single key can change the onchain price.
A single key can move the assets backing the token.
A single key can grant or revoke every other role.
A single key can freeze a holder's tokens.
Multisig signers aren't named, so their independence can't be checked.
A 2-of-7 multisig can create new tokens: few signers need to agree.
A 3-of-4 multisig can create new tokens with no timelock.
A 2-of-7 multisig can move tokens out of any wallet: few signers need to agree.
A 3-of-4 multisig can move tokens out of any wallet with no timelock.
A 2-of-7 multisig can destroy tokens in any wallet: few signers need to agree.
A 3-of-4 multisig can destroy tokens in any wallet with no timelock.
A 2-of-7 multisig can change the onchain price: few signers need to agree.
A 3-of-4 multisig can change the onchain price with no timelock.
A 2-of-7 multisig can move the assets backing the token: few signers need to agree.
A 3-of-4 multisig can move the assets backing the token with no timelock.
A 4-of-9 multisig can grant or revoke every other role: few signers need to agree.
A single key can pause all transfers.
A single key can change who may hold the token.
On ethereum, base, arbitrum, avalanche, bsc, solana, stellar, the token depends on a bridge (Centrifuge messaging (LayerZero, Axelar, Wormhole, Chainlink adapters), Ethereum escrow).
The issuer documents its admin powers.
Audited by Sherlock (2026-02).
- Bug bounty on Cantina, up to $250,000.
- Transfers are limited to allowlisted wallets.
Audits and bug bounty
- Sherlock · Centrifuge V3.1.0 deployment verification1 Feb 2026
Bug bounty on Cantina, up to $250,000.
Chains and bridges
Holders on a bridged chain also depend on the bridge.
- ethereum, base, arbitrum, avalanche, bscNative, and a bridge can mint · Centrifuge messaging (LayerZero, Axelar, Wormhole, Chainlink adapters)
- solana, stellarBridged copy · Ethereum escrow
Who controls JAAA on Ethereum
Token and service contracts on the left, the accounts holding their powers on the right. Edge color is the risk status of that power.
BalanceSheet
Service · verified
0x12a1…f43e
HubRegistry
Service · verified
0x19f4…DE93
FullRestrictions
Service · verified
0x3C5E…80A7
JAAA token
Tranche · Not a proxy
0x5a0F…cf64
Hub
Service · verified
0xA4A7…1953
ProtocolGuardian
Service · verified
0xCEb7…35c6
JAAA balance-sheet manager (single wallet)
EOA
0x42b7…208f
AsyncRequestManager
0xF482…61Ae
JAAA hub manager (writes NAV; same key as JTRSY)
EOA
0x7Bf0…02eC
Unknown contract
0xF8b1…Ece7
Centrifuge Spoke (shared)
Spoke
0xEC35…25aB
JAAA balance-sheet manager Safe (2 of 7)
Safe 2/7
0x02eB…5bc7
- ├ 0x7D26…bEf8
- ├ 0x3DD1…5E28
- ├ 0x2699…14b2
- └ +4 more signers
Centrifuge Root (shared)
Root
0x7Ed4…368f
JAAA balance-sheet manager Safe (3 of 4)
Safe 3/4
0x5684…5BfA
- ├ 0xaE66…5cB7
- ├ 0x9eDe…AEA9
- ├ 0xc457…cf92
- └ +1 more signers
MessageProcessor
0x97cc…e30A
MessageDispatcher
0xf837…0B27
EOA
0x0446…24Bf
EOA
0x0800…F155
EOA
0x4d47…f541
EOA
0x5e7A…3EE1
EOA
0x701D…02b9
EOA
0x9eDe…AEA9
Safe 1/2
0xb307…EB3a
- ├ 0xb193…baBC
- ├ 0xd757…B553
EOA
0xd551…2616
EOA
0xE944…D28F
Centrifuge ProtocolGuardian Safe
Safe 4/9
0x9711…D225
- ├ 0xb307…EB3a
- ├ 0x0446…24Bf
- ├ 0x701D…02b9
- └ +6 more signers
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedJAAA hub manager (writes NAV; same key as JTRSY)EOA0x7Bf0…02eC
None · via
Hub.setRequestManager, updateVault · _isManager(pool 281474976710663), swaps the contracts that issue shares - MintCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.mint · auth (wards) - MintCriticalYellowJAAA balance-sheet manager Safe (3 of 4)Safe 3/40x5684…5BfA
No delay · via
BalanceSheet.issue · isManager(pool 281474976710663) - Force-transferCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.authTransferFrom · auth (wards) - Force-transferCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.authTransferFrom · auth (wards) - Force-transferCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.authTransferFrom · auth (wards) - Force-transferCriticalYellowJAAA balance-sheet manager Safe (3 of 4)Safe 3/40x5684…5BfA
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Burn from holderCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.burn · auth (wards) - Burn from holderCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.burn · auth (wards) - Burn from holderCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.burn · auth (wards) - Burn from holderCriticalYellowJAAA balance-sheet manager Safe (3 of 4)Safe 3/40x5684…5BfA
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Set priceCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedJAAA hub manager (writes NAV; same key as JTRSY)EOA0x7Bf0…02eC
None · via
Hub.updateSharePrice, notifySharePrice · _isManager(pool 281474976710663) - Set priceCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalYellowJAAA balance-sheet manager Safe (3 of 4)Safe 3/40x5684…5BfA
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Allocate fundsCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedJAAA hub manager (writes NAV; same key as JTRSY)EOA0x7Bf0…02eC
None · via
Hub.updateContract · _isManager(pool 281474976710663), reconfigures pool contracts such as the on/offramp manager - Allocate fundsCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalYellowJAAA balance-sheet manager Safe (3 of 4)Safe 3/40x5684…5BfA
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Grant rolesCriticalRedMessageProcessor0x97cc…e30A
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedMessageDispatcher0xf837…0B27
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.deny, rely · auth (wards) - Grant rolesCriticalRedJAAA hub manager (writes NAV; same key as JTRSY)EOA0x7Bf0…02eC
None · via
Hub.updateHubManager, updateBalanceSheetManager · _isManager(pool 281474976710663) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.deny, rely · auth (wards) - FreezeHighRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.updateRestriction · auth (wards) - FreezeHighRedJAAA hub manager (writes NAV; same key as JTRSY)EOA0x7Bf0…02eC
None · via
Hub.updateRestriction · _isManager(pool 281474976710663), sent to the hook - FreezeHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.updateRestriction · auth (wards) - PauseHighYellowEOA0x0446…24Bf
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x0800…F155
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x4d47…f541
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x5e7A…3EE1
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x701D…02b9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x9eDe…AEA9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowSafe 1/20xb307…EB3a
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xd551…2616
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xE944…D28F
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighGreenCentrifuge ProtocolGuardian SafeSafe 4/90x9711…D225
No delay · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighYellowCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.file · auth (wards) - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.file · auth (wards) - Set complianceHighYellowJAAA hub manager (writes NAV; same key as JTRSY)EOA0x7Bf0…02eC
None · via
Hub.updateShareHook · _isManager(pool 281474976710663), swaps the transfer hook - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.file · auth (wards)
| Power | Criticality | Held by | Checks | Status | Found via |
|---|---|---|---|---|---|
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | Tranche.mint · auth (wards) | |
| Mint | Critical | None | Red | Tranche.mint · auth (wards) | |
| Mint | Critical | None | Red | Hub.setRequestManager, updateVault · _isManager(pool 281474976710663), swaps the contracts that issue shares | |
| Mint | Critical | No delay | Yellow | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | 2-day delay | Yellow | Tranche.mint · auth (wards) | |
| Mint | Critical | No delay | Yellow | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | Tranche.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | None | Red | Tranche.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | No delay | Yellow | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | 2-day delay | Yellow | Tranche.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | No delay | Yellow | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | Tranche.burn · auth (wards) | |
| Burn from holder | Critical | None | Red | Tranche.burn · auth (wards) | |
| Burn from holder | Critical | No delay | Yellow | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | 2-day delay | Yellow | Tranche.burn · auth (wards) | |
| Burn from holder | Critical | No delay | Yellow | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | Hub.updateSharePrice, notifySharePrice · _isManager(pool 281474976710663) | |
| Set price | Critical | No delay | Yellow | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | No delay | Yellow | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | Hub.updateContract · _isManager(pool 281474976710663), reconfigures pool contracts such as the on/offramp manager | |
| Allocate funds | Critical | No delay | Yellow | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | No delay | Yellow | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | Tranche.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | Tranche.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | Hub.updateHubManager, updateBalanceSheetManager · _isManager(pool 281474976710663) | |
| Grant roles | Critical | 2-day delay | Yellow | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | Tranche.deny, rely · auth (wards) | |
| Freeze | High | None | Red | FullRestrictions.updateRestriction · auth (wards) | |
| Freeze | High | None | Red | Hub.updateRestriction · _isManager(pool 281474976710663), sent to the hook | |
| Freeze | High | 2-day delay | Green | FullRestrictions.updateRestriction · auth (wards) | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | No delay | Green | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Set compliance | High | None | Yellow | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | None | Yellow | Tranche.file · auth (wards) | |
| Set compliance | High | None | Yellow | Tranche.file · auth (wards) | |
| Set compliance | High | None | Yellow | Hub.updateShareHook · _isManager(pool 281474976710663), swaps the transfer hook | |
| Set compliance | High | 2-day delay | Green | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | 2-day delay | Green | Tranche.file · auth (wards) |
For regulated securities, freeze and force-transfer powers are often legally required. Control rates who holds them and what checks exist, not whether they exist. A single key holding a critical power or freeze is red; a multisig with no timelock is yellow.
Discovered at block 26,190,203 · 14 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JAAA on Base
Token and service contracts on the left, the accounts holding their powers on the right. Edge color is the risk status of that power.
BalanceSheet
Service · verified
0x12a1…f43e
FullRestrictions
Service · verified
0x3C5E…80A7
JAAA token
Tranche · Not a proxy
0x5a0F…cf64
ProtocolGuardian
Service · verified
0xCEb7…35c6
JAAA balance-sheet manager (single wallet)
EOA
0x42b7…208f
AsyncRequestManager
0xF482…61Ae
JAAA hub manager (writes NAV; same key as JTRSY)
EOA
0x7Bf0…02eC
Unknown contract
0xF8b1…Ece7
Centrifuge Spoke (shared)
Spoke
0xEC35…25aB
JAAA balance-sheet manager Safe (2 of 7)
Safe 2/7
0x02eB…5bc7
- ├ 0x7D26…bEf8
- ├ 0x3DD1…5E28
- ├ 0xaE66…5cB7
- └ +4 more signers
Centrifuge Root (shared)
Root
0x7Ed4…368f
MessageProcessor
0x97cc…e30A
MessageDispatcher
0xf837…0B27
EOA
0x0446…24Bf
EOA
0x0800…F155
EOA
0x4d47…f541
EOA
0x5e7A…3EE1
EOA
0x701D…02b9
EOA
0x9eDe…AEA9
Safe 1/2
0xb307…EB3a
- ├ 0xb193…baBC
- ├ 0xd757…B553
EOA
0xd551…2616
EOA
0xE944…D28F
Centrifuge ProtocolGuardian Safe
Safe 4/9
0x9711…D225
- ├ 0xb307…EB3a
- ├ 0x0446…24Bf
- ├ 0x701D…02b9
- └ +6 more signers
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.mint · auth (wards) - Force-transferCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.authTransferFrom · auth (wards) - Force-transferCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.authTransferFrom · auth (wards) - Force-transferCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.authTransferFrom · auth (wards) - Burn from holderCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.burn · auth (wards) - Burn from holderCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.burn · auth (wards) - Burn from holderCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.burn · auth (wards) - Set priceCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Allocate fundsCriticalRedJAAA balance-sheet manager (single wallet)EOA0x42b7…208f
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/70x02eB…5bc7
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Grant rolesCriticalRedMessageProcessor0x97cc…e30A
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedMessageDispatcher0xf837…0B27
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.deny, rely · auth (wards) - FreezeHighRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.updateRestriction · auth (wards) - FreezeHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.updateRestriction · auth (wards) - PauseHighYellowEOA0x0446…24Bf
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x0800…F155
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x4d47…f541
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x5e7A…3EE1
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x701D…02b9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x9eDe…AEA9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowSafe 1/20xb307…EB3a
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xd551…2616
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xE944…D28F
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighGreenCentrifuge ProtocolGuardian SafeSafe 4/90x9711…D225
No delay · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighYellowCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.file · auth (wards) - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.file · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.file · auth (wards)
| Power | Criticality | Held by | Checks | Status | Found via |
|---|---|---|---|---|---|
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | Tranche.mint · auth (wards) | |
| Mint | Critical | None | Red | Tranche.mint · auth (wards) | |
| Mint | Critical | No delay | Yellow | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | 2-day delay | Yellow | Tranche.mint · auth (wards) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | Tranche.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | None | Red | Tranche.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | No delay | Yellow | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | 2-day delay | Yellow | Tranche.authTransferFrom · auth (wards) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | Tranche.burn · auth (wards) | |
| Burn from holder | Critical | None | Red | Tranche.burn · auth (wards) | |
| Burn from holder | Critical | No delay | Yellow | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | 2-day delay | Yellow | Tranche.burn · auth (wards) | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | No delay | Yellow | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | No delay | Yellow | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | Tranche.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | Tranche.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | Tranche.deny, rely · auth (wards) | |
| Freeze | High | None | Red | FullRestrictions.updateRestriction · auth (wards) | |
| Freeze | High | 2-day delay | Green | FullRestrictions.updateRestriction · auth (wards) | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | No delay | Green | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Set compliance | High | None | Yellow | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | None | Yellow | Tranche.file · auth (wards) | |
| Set compliance | High | None | Yellow | Tranche.file · auth (wards) | |
| Set compliance | High | 2-day delay | Green | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | 2-day delay | Green | Tranche.file · auth (wards) |
For regulated securities, freeze and force-transfer powers are often legally required. Control rates who holds them and what checks exist, not whether they exist. A single key holding a critical power or freeze is red; a multisig with no timelock is yellow.
Discovered at block 52,592,931 · 14 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JAAA on Avalanche
Token and service contracts on the left, the accounts holding their powers on the right. Edge color is the risk status of that power.
BalanceSheet
Service · verified
0x12a1…f43e
FullRestrictions
Service · verified
0x3C5E…80A7
JAAA token
ShareToken · Not a proxy
0x58F9…3B6b
ProtocolGuardian
Service · verified
0xCEb7…35c6
AsyncRequestManager
0xF482…61Ae
JAAA hub manager (writes NAV; same key as JTRSY)
EOA
0x7Bf0…02eC
Centrifuge Spoke (shared)
Spoke
0xEC35…25aB
Centrifuge Root (shared)
Root
0x7Ed4…368f
MessageProcessor
0x97cc…e30A
MessageDispatcher
0xf837…0B27
EOA
0x0446…24Bf
EOA
0x0800…F155
EOA
0x4d47…f541
EOA
0x5e7A…3EE1
EOA
0x701D…02b9
EOA
0x9eDe…AEA9
Safe 1/2
0xb307…EB3a
- ├ 0xb193…baBC
- ├ 0xd757…B553
EOA
0xd551…2616
EOA
0xE944…D28F
Centrifuge ProtocolGuardian Safe
Safe 4/9
0x9711…D225
- ├ 0xb307…EB3a
- ├ 0x0446…24Bf
- ├ 0x701D…02b9
- └ +6 more signers
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.mint · auth (wards) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.authTransferFrom · auth (wards) - Force-transferCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.authTransferFrom · auth (wards) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.authTransferFrom · auth (wards) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.burn · auth (wards) - Burn from holderCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.burn · auth (wards) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.burn · auth (wards) - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Grant rolesCriticalRedMessageProcessor0x97cc…e30A
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedMessageDispatcher0xf837…0B27
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.deny, rely · auth (wards) - FreezeHighRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.updateRestriction · auth (wards) - FreezeHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.updateRestriction · auth (wards) - PauseHighYellowEOA0x0446…24Bf
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x0800…F155
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x4d47…f541
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x5e7A…3EE1
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x701D…02b9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x9eDe…AEA9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowSafe 1/20xb307…EB3a
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xd551…2616
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xE944…D28F
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighGreenCentrifuge ProtocolGuardian SafeSafe 4/90x9711…D225
No delay · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighYellowCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.file · auth (wards) - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.file · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.file · auth (wards)
| Power | Criticality | Held by | Checks | Status | Found via |
|---|---|---|---|---|---|
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | ShareToken.mint · auth (wards) | |
| Mint | Critical | None | Red | ShareToken.mint · auth (wards) | |
| Mint | Critical | 2-day delay | Yellow | ShareToken.mint · auth (wards) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | ShareToken.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | None | Red | ShareToken.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | 2-day delay | Yellow | ShareToken.authTransferFrom · auth (wards) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | ShareToken.burn · auth (wards) | |
| Burn from holder | Critical | None | Red | ShareToken.burn · auth (wards) | |
| Burn from holder | Critical | 2-day delay | Yellow | ShareToken.burn · auth (wards) | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | ShareToken.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | ShareToken.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | ShareToken.deny, rely · auth (wards) | |
| Freeze | High | None | Red | FullRestrictions.updateRestriction · auth (wards) | |
| Freeze | High | 2-day delay | Green | FullRestrictions.updateRestriction · auth (wards) | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | No delay | Green | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Set compliance | High | None | Yellow | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | None | Yellow | ShareToken.file · auth (wards) | |
| Set compliance | High | None | Yellow | ShareToken.file · auth (wards) | |
| Set compliance | High | 2-day delay | Green | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | 2-day delay | Green | ShareToken.file · auth (wards) |
For regulated securities, freeze and force-transfer powers are often legally required. Control rates who holds them and what checks exist, not whether they exist. A single key holding a critical power or freeze is red; a multisig with no timelock is yellow.
Discovered at block 98,623,704 · 26 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JAAA on Arbitrum
Token and service contracts on the left, the accounts holding their powers on the right. Edge color is the risk status of that power.
BalanceSheet
Service · verified
0x12a1…f43e
FullRestrictions
Service · verified
0x3C5E…80A7
JAAA token
ShareToken · Not a proxy
0x58F9…3B6b
ProtocolGuardian
Service · verified
0xCEb7…35c6
AsyncRequestManager
0xF482…61Ae
JAAA hub manager (writes NAV; same key as JTRSY)
EOA
0x7Bf0…02eC
Unknown contract
0xF8b1…Ece7
Centrifuge Spoke (shared)
Spoke
0xEC35…25aB
Centrifuge Root (shared)
Root
0x7Ed4…368f
MessageProcessor
0x97cc…e30A
MessageDispatcher
0xf837…0B27
EOA
0x0446…24Bf
EOA
0x0800…F155
EOA
0x4d47…f541
EOA
0x5e7A…3EE1
EOA
0x701D…02b9
EOA
0x9eDe…AEA9
Safe 1/2
0xb307…EB3a
- ├ 0xb193…baBC
- ├ 0xd757…B553
EOA
0xd551…2616
EOA
0xE944…D28F
Centrifuge ProtocolGuardian Safe
Safe 4/9
0x9711…D225
- ├ 0xb307…EB3a
- ├ 0x0446…24Bf
- ├ 0x701D…02b9
- └ +6 more signers
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.mint · auth (wards) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.authTransferFrom · auth (wards) - Force-transferCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.authTransferFrom · auth (wards) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.authTransferFrom · auth (wards) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.burn · auth (wards) - Burn from holderCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.burn · auth (wards) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.burn · auth (wards) - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Grant rolesCriticalRedMessageProcessor0x97cc…e30A
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedMessageDispatcher0xf837…0B27
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.deny, rely · auth (wards) - FreezeHighRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.updateRestriction · auth (wards) - FreezeHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.updateRestriction · auth (wards) - PauseHighYellowEOA0x0446…24Bf
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x0800…F155
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x4d47…f541
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x5e7A…3EE1
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x701D…02b9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x9eDe…AEA9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowSafe 1/20xb307…EB3a
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xd551…2616
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xE944…D28F
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighGreenCentrifuge ProtocolGuardian SafeSafe 4/90x9711…D225
No delay · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighYellowCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.file · auth (wards) - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.file · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.file · auth (wards)
| Power | Criticality | Held by | Checks | Status | Found via |
|---|---|---|---|---|---|
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | ShareToken.mint · auth (wards) | |
| Mint | Critical | None | Red | ShareToken.mint · auth (wards) | |
| Mint | Critical | 2-day delay | Yellow | ShareToken.mint · auth (wards) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | ShareToken.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | None | Red | ShareToken.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | 2-day delay | Yellow | ShareToken.authTransferFrom · auth (wards) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | ShareToken.burn · auth (wards) | |
| Burn from holder | Critical | None | Red | ShareToken.burn · auth (wards) | |
| Burn from holder | Critical | 2-day delay | Yellow | ShareToken.burn · auth (wards) | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | ShareToken.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | ShareToken.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | ShareToken.deny, rely · auth (wards) | |
| Freeze | High | None | Red | FullRestrictions.updateRestriction · auth (wards) | |
| Freeze | High | 2-day delay | Green | FullRestrictions.updateRestriction · auth (wards) | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | No delay | Green | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Set compliance | High | None | Yellow | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | None | Yellow | ShareToken.file · auth (wards) | |
| Set compliance | High | None | Yellow | ShareToken.file · auth (wards) | |
| Set compliance | High | 2-day delay | Green | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | 2-day delay | Green | ShareToken.file · auth (wards) |
For regulated securities, freeze and force-transfer powers are often legally required. Control rates who holds them and what checks exist, not whether they exist. A single key holding a critical power or freeze is red; a multisig with no timelock is yellow.
Discovered at block 514,718,617 · 14 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JAAA on BNB Chain
Token and service contracts on the left, the accounts holding their powers on the right. Edge color is the risk status of that power.
BalanceSheet
Service · verified
0x12a1…f43e
FullRestrictions
Service · verified
0x3C5E…80A7
JAAA token
ShareToken · Not a proxy
0x58F9…3B6b
ProtocolGuardian
Service · verified
0xCEb7…35c6
AsyncRequestManager
0xF482…61Ae
JAAA hub manager (writes NAV; same key as JTRSY)
EOA
0x7Bf0…02eC
Unknown contract
0xF8b1…Ece7
Centrifuge Spoke (shared)
Spoke
0xEC35…25aB
JAAA balance-sheet manager Safe (2 of 7)
Safe 2/6
0x02eB…5bc7
- ├ 0x7D26…bEf8
- ├ 0xaE66…5cB7
- ├ 0xDa2a…3aD1
- └ +3 more signers
Centrifuge Root (shared)
Root
0x7Ed4…368f
MessageProcessor
0x97cc…e30A
MessageDispatcher
0xf837…0B27
EOA
0x0446…24Bf
EOA
0x0800…F155
EOA
0x4d47…f541
EOA
0x5e7A…3EE1
EOA
0x701D…02b9
EOA
0x9eDe…AEA9
Safe 1/2
0xb307…EB3a
- ├ 0xb193…baBC
- ├ 0xd757…B553
EOA
0xd551…2616
EOA
0xE944…D28F
Centrifuge ProtocolGuardian Safe
Safe 4/9
0x9711…D225
- ├ 0xb307…EB3a
- ├ 0x0446…24Bf
- ├ 0x701D…02b9
- └ +6 more signers
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/60x02eB…5bc7
No delay · via
BalanceSheet.issue · isManager(pool 281474976710663) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.mint · auth (wards) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.authTransferFrom · auth (wards) - Force-transferCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.authTransferFrom · auth (wards) - Force-transferCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/60x02eB…5bc7
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.authTransferFrom · auth (wards) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.burn · auth (wards) - Burn from holderCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.burn · auth (wards) - Burn from holderCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/60x02eB…5bc7
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710663) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.burn · auth (wards) - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Set priceCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/60x02eB…5bc7
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalRedUnknown contract0xF8b1…Ece7
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Allocate fundsCriticalYellowJAAA balance-sheet manager Safe (2 of 7)Safe 2/60x02eB…5bc7
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets - Grant rolesCriticalRedMessageProcessor0x97cc…e30A
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedMessageDispatcher0xf837…0B27
→ EOA
None · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.deny, rely · auth (wards) - Grant rolesCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
BalanceSheet.updateManager · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.deny, rely · auth (wards) - Grant rolesCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.deny, rely · auth (wards) - FreezeHighRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.updateRestriction · auth (wards) - FreezeHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.updateRestriction · auth (wards) - PauseHighYellowEOA0x0446…24Bf
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x0800…F155
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x4d47…f541
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x5e7A…3EE1
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x701D…02b9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0x9eDe…AEA9
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowSafe 1/20xb307…EB3a
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xd551…2616
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighYellowEOA0xE944…D28F
None · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - PauseHighGreenCentrifuge ProtocolGuardian SafeSafe 4/90x9711…D225
No delay · via
ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighYellowCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.file · auth (wards) - Set complianceHighYellowCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.file · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
FullRestrictions.trustedCall · auth (wards) - Set complianceHighGreenCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.file · auth (wards)
| Power | Criticality | Held by | Checks | Status | Found via |
|---|---|---|---|---|---|
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | None | Red | ShareToken.mint · auth (wards) | |
| Mint | Critical | None | Red | ShareToken.mint · auth (wards) | |
| Mint | Critical | No delay | Yellow | BalanceSheet.issue · isManager(pool 281474976710663) | |
| Mint | Critical | 2-day delay | Yellow | ShareToken.mint · auth (wards) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | None | Red | ShareToken.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | None | Red | ShareToken.authTransferFrom · auth (wards) | |
| Force-transfer | Critical | No delay | Yellow | BalanceSheet.transferSharesFrom · isManager(pool 281474976710663) | |
| Force-transfer | Critical | 2-day delay | Yellow | ShareToken.authTransferFrom · auth (wards) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | None | Red | ShareToken.burn · auth (wards) | |
| Burn from holder | Critical | None | Red | ShareToken.burn · auth (wards) | |
| Burn from holder | Critical | No delay | Yellow | BalanceSheet.revoke · isManager(pool 281474976710663) | |
| Burn from holder | Critical | 2-day delay | Yellow | ShareToken.burn · auth (wards) | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | None | Red | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Set price | Critical | No delay | Yellow | BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710663), within one transaction | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | None | Red | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Allocate funds | Critical | No delay | Yellow | BalanceSheet.withdraw, deposit · isManager(pool 281474976710663), moves pool escrow assets | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | None | Red | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | ShareToken.deny, rely · auth (wards) | |
| Grant roles | Critical | None | Red | ShareToken.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | BalanceSheet.updateManager · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | FullRestrictions.deny, rely · auth (wards) | |
| Grant roles | Critical | 2-day delay | Yellow | ShareToken.deny, rely · auth (wards) | |
| Freeze | High | None | Red | FullRestrictions.updateRestriction · auth (wards) | |
| Freeze | High | 2-day delay | Green | FullRestrictions.updateRestriction · auth (wards) | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | None | Yellow | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Pause | High | No delay | Green | ProtocolGuardian.pause · onlySafeOrOwner: the Safe or any one of its owners | |
| Set compliance | High | None | Yellow | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | None | Yellow | ShareToken.file · auth (wards) | |
| Set compliance | High | None | Yellow | ShareToken.file · auth (wards) | |
| Set compliance | High | 2-day delay | Green | FullRestrictions.trustedCall · auth (wards) | |
| Set compliance | High | 2-day delay | Green | ShareToken.file · auth (wards) |
For regulated securities, freeze and force-transfer powers are often legally required. Control rates who holds them and what checks exist, not whether they exist. A single key holding a critical power or freeze is red; a multisig with no timelock is yellow.
Discovered at block 127,582,341 · 14 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗