Securitize Admin
The Securitize Admin is the address configured as the owner of a
SecuritizeRWAFactory.
It can freeze Credit Accounts managed by that SecuritizeRWAFactory and
reassign investor control over them. Securitize determines when to use these
tools.
There is no separate freezer or Credit Account transfer role. The active
SecuritizeRWAFactory.owner() has both authorities.
Credit Account control model
Each managed position links an investor, a SecuritizeWallet, and a Credit
Account. See Securitize DS Token Registration
for their ownership and control relationship and how both contract addresses
are registered under the investor.
Admin operations update state in the SecuritizeRWAFactory; they do not replace
the SecuritizeWallet or change the Credit Account's onchain owner.
Freeze behavior
The admin can freeze or unfreeze:
- one Credit Account;
- all Credit Accounts assigned to an investor; or
- an investor's Credit Accounts under one Credit Manager.
While a Credit Account is frozen:
- the
SecuritizeRWAFactoryrejects the investor's Credit Account operations; and - the configured RWA underlying rejects token movements to or from that Credit Account.
With the current default and on-demand RWA underlying implementations, freezing also blocks liquidation of the Credit Account. Operators must account for this effect before freezing a Credit Account.
Unfreezing restores these SecuritizeRWAFactory and RWA-underlying execution
paths. Other protocol, market, token, or registry restrictions may still
prevent an operation.
Reassigning investor control
The admin can reassign:
- one Credit Account;
- all Credit Accounts assigned to an investor; or
- an investor's Credit Accounts under one Credit Manager.
After reassignment, the previous investor can no longer execute Credit Account
actions through the SecuritizeRWAFactory. The new investor becomes the
authorized caller. The Credit Account's collateral, debt, SecuritizeWallet
address, Credit Manager, and frozen status do not change.
Before reassignment, the new investor address is expected to be recognized in
all required Securitize registries under the same identity as the previous
investor. The SecuritizeRWAFactory does not verify this condition. It only
rejects the zero address; passing the currently assigned investor makes no
change.
Function reference
All functions below can only be called by the active
SecuritizeRWAFactory.owner().
| Function | Scope | Effect |
|---|---|---|
setCreditAccountFrozenStatus(creditAccount, frozen) | One known Credit Account | Sets its frozen status. |
setAllCreditAccountsFrozenStatus(investor, frozen) | All Credit Accounts assigned to an investor | Sets the same frozen status on each Credit Account. |
setAllCreditAccountsFrozenStatus(creditManager, investor, frozen) | The investor's Credit Accounts under one Credit Manager | Sets the same frozen status on matching Credit Accounts. |
transferCreditAccount(creditAccount, newInvestor) | One known Credit Account | Reassigns investor control to newInvestor. |
transferAllCreditAccounts(investor, newInvestor) | All Credit Accounts assigned to an investor | Reassigns all of them to newInvestor. |
transferAllCreditAccounts(creditManager, investor, newInvestor) | The investor's Credit Accounts under one Credit Manager | Reassigns matching Credit Accounts to newInvestor. |
Bulk functions iterate over the investor's recorded Credit Accounts in one transaction. Operators should simulate bulk calls with the intended Credit Account set before submitting them.
Successful changes emit SetCreditAccountFrozenStatus for each changed freeze
state or TransferCreditAccount for each reassigned Credit Account. Calling a
freeze function with the current status, or transferring to the currently
assigned investor, makes no state change and emits no event.
Securitize Admin address
The SecuritizeRWAFactory constructor sets the supplied securitizeAdmin
address as its initial owner. The current authority can be read from owner().
SecuritizeRWAFactory ownership can be moved to another Securitize address
using the inherited two-step ownership-transfer process: the current owner
proposes the new owner, and the new address accepts the role.
Read methods
Operators can inspect the current state before building an admin transaction:
| Function | Returns |
|---|---|
isCreditAccount(creditAccount) | Whether the Credit Account is managed by this SecuritizeRWAFactory. |
isFrozen(creditAccount) | Whether a known Credit Account is frozen. |
getInvestor(creditAccount) | The investor currently authorized to control a known Credit Account. |
getCreditAccounts(investor) | All Credit Accounts currently assigned to an investor. |
getWallet(creditAccount) | The SecuritizeWallet that owns a known Credit Account. |