DocumentationOpen App
On this pageCredit Account control model

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 SecuritizeRWAFactory rejects 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().

FunctionScopeEffect
setCreditAccountFrozenStatus(creditAccount, frozen)One known Credit AccountSets its frozen status.
setAllCreditAccountsFrozenStatus(investor, frozen)All Credit Accounts assigned to an investorSets the same frozen status on each Credit Account.
setAllCreditAccountsFrozenStatus(creditManager, investor, frozen)The investor's Credit Accounts under one Credit ManagerSets the same frozen status on matching Credit Accounts.
transferCreditAccount(creditAccount, newInvestor)One known Credit AccountReassigns investor control to newInvestor.
transferAllCreditAccounts(investor, newInvestor)All Credit Accounts assigned to an investorReassigns all of them to newInvestor.
transferAllCreditAccounts(creditManager, investor, newInvestor)The investor's Credit Accounts under one Credit ManagerReassigns 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:

FunctionReturns
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.

Sources