Janus Henderson Anemoy Treasury Fund
Tokenized shares of a BVI professional fund holding 0–6 month US Treasury bills, with Janus Henderson as sub-manager. Runs on Centrifuge V3; subscriptions and redemptions are requests through ERC-7540 async vaults that the fund manager fills at NAV.
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-6 multisig can create new tokens: few signers need to agree.
A 2-of-6 multisig can move tokens out of any wallet: few signers need to agree.
A 2-of-6 multisig can destroy tokens in any wallet: few signers need to agree.
A 2-of-6 multisig can change the onchain price: few signers need to agree.
A 2-of-6 multisig can move the assets backing the token: few signers need to agree.
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, plume, the token depends on a bridge (Centrifuge messaging (LayerZero, Axelar, Wormhole, Chainlink adapters)).
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, bsc, plumeNative, and a bridge can mint · Centrifuge messaging (LayerZero, Axelar, Wormhole, Chainlink adapters)
Who controls JTRSY 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.
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedJTRSY balance-sheet managerEOA0x95d2…37A9
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedJTRSY hub manager (writes NAV; Vault Street says 3-signer MPC)EOA0x7Bf0…02eC
None · via
Hub.setRequestManager, updateVault · _isManager(pool 281474976710662), swaps the contracts that issue shares - MintCriticalYellowJTRSY balance-sheet manager SafeSafe 2/60x2B0f…7cfb
No delay · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.mint · auth (wards) - Force-transferCriticalRedJTRSY balance-sheet managerEOA0x95d2…37A9
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - 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-transferCriticalYellowJTRSY balance-sheet manager SafeSafe 2/60x2B0f…7cfb
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.authTransferFrom · auth (wards) - Burn from holderCriticalRedJTRSY balance-sheet managerEOA0x95d2…37A9
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - 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 holderCriticalYellowJTRSY balance-sheet manager SafeSafe 2/60x2B0f…7cfb
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.burn · auth (wards) - Set priceCriticalRedJTRSY balance-sheet managerEOA0x95d2…37A9
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalRedJTRSY hub manager (writes NAV; Vault Street says 3-signer MPC)EOA0x7Bf0…02eC
None · via
Hub.updateSharePrice, notifySharePrice · _isManager(pool 281474976710662) - Set priceCriticalYellowJTRSY balance-sheet manager SafeSafe 2/60x2B0f…7cfb
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Allocate fundsCriticalRedJTRSY balance-sheet managerEOA0x95d2…37A9
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalRedJTRSY hub manager (writes NAV; Vault Street says 3-signer MPC)EOA0x7Bf0…02eC
None · via
Hub.updateContract · _isManager(pool 281474976710662), reconfigures pool contracts such as the on/offramp manager - Allocate fundsCriticalYellowJTRSY balance-sheet manager SafeSafe 2/60x2B0f…7cfb
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), 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 rolesCriticalRedJTRSY hub manager (writes NAV; Vault Street says 3-signer MPC)EOA0x7Bf0…02eC
None · via
Hub.updateHubManager, updateBalanceSheetManager · _isManager(pool 281474976710662) - 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) - FreezeHighRedJTRSY hub manager (writes NAV; Vault Street says 3-signer MPC)EOA0x7Bf0…02eC
None · via
Hub.updateRestriction · _isManager(pool 281474976710662), 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 complianceHighYellowJTRSY hub manager (writes NAV; Vault Street says 3-signer MPC)EOA0x7Bf0…02eC
None · via
Hub.updateShareHook · _isManager(pool 281474976710662), 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)
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,183,886 · 13 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JTRSY 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.
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.mint · auth (wards) - Force-transferCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - 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-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.authTransferFrom · auth (wards) - Burn from holderCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - 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 holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.burn · auth (wards) - Set priceCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Allocate fundsCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), 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)
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,554,374 · 13 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JTRSY 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.
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
Tranche.mint · auth (wards) - MintCriticalYellowJTRSY balance-sheet manager SafeSafe 2/70x2B0f…7cfb
No delay · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.mint · auth (wards) - Force-transferCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - 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-transferCriticalYellowJTRSY balance-sheet manager SafeSafe 2/70x2B0f…7cfb
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.authTransferFrom · auth (wards) - Burn from holderCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - 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 holderCriticalYellowJTRSY balance-sheet manager SafeSafe 2/70x2B0f…7cfb
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
Tranche.burn · auth (wards) - Set priceCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalYellowJTRSY balance-sheet manager SafeSafe 2/70x2B0f…7cfb
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Allocate fundsCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalYellowJTRSY balance-sheet manager SafeSafe 2/70x2B0f…7cfb
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), 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)
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,442,727 · 13 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗
Who controls JTRSY 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.
Powers
Every privileged power we found, normalized to canonical power types.
- MintCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalRedCentrifuge BalanceSheet (shared)BalanceSheet0x12a1…f43e
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalRedCentrifuge Spoke (shared)Spoke0xEC35…25aB
→ EOA
None · via
ShareToken.mint · auth (wards) - MintCriticalYellowJTRSY balance-sheet manager SafeSafe 2/50x2B0f…7cfb
No delay · via
BalanceSheet.issue · isManager(pool 281474976710662) - MintCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.mint · auth (wards) - Force-transferCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - 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-transferCriticalYellowJTRSY balance-sheet manager SafeSafe 2/50x2B0f…7cfb
No delay · via
BalanceSheet.transferSharesFrom · isManager(pool 281474976710662) - Force-transferCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.authTransferFrom · auth (wards) - Burn from holderCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.revoke · isManager(pool 281474976710662) - 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 holderCriticalYellowJTRSY balance-sheet manager SafeSafe 2/50x2B0f…7cfb
No delay · via
BalanceSheet.revoke · isManager(pool 281474976710662) - Burn from holderCriticalYellowCentrifuge Root (shared)Root0x7Ed4…368f
→ Timelock 2d → Safe 4/9
2-day delay · via
ShareToken.burn · auth (wards) - Set priceCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Set priceCriticalYellowJTRSY balance-sheet manager SafeSafe 2/50x2B0f…7cfb
No delay · via
BalanceSheet.overridePricePoolPerShare, overridePricePoolPerAsset · isManager(pool 281474976710662), within one transaction - Allocate fundsCriticalRedOnOfframpManager (JTRSY balance-sheet manager)Unknown contract0xB6c9…3d85
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalRedAsyncRequestManager0xF482…61Ae
→ EOA
None · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), moves pool escrow assets - Allocate fundsCriticalYellowJTRSY balance-sheet manager SafeSafe 2/50x2B0f…7cfb
No delay · via
BalanceSheet.withdraw, deposit · isManager(pool 281474976710662), 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)
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,410,883 · 13 Oct 2026 · tool discovery-0.2.0 · View raw JSON on GitHub ↗