The program operates through two distinct instruction flows: administrative setup and configuration operations, and user-facing mint/burn operations.
Administrative vs User Operation Flow
Administrative vs. User Operations
The USD* program distinguishes between two classes of operations:
Administrative Operations establish and manage the protocol’s infrastructure. They include creating banks and vaults, initializing oracle and team accounts, assigning yield managers, updating oracle prices and yield reports, collecting protocol fees, and activating circuit breakers at the vault or bank level.
User Operations are interactions with the protocol’s vaults. They include minting USD* by depositing assets, burning USD* to redeem collateral, and creating user accounts to track deposits and redemptions.
This separation ensures a clear boundary between protocol-level governance and user-level interactions.
Transaction Workflow
Every instruction, whether administrative or user-facing, follows a strict validation and execution sequence:
Permission Verification – Confirm the caller has the appropriate authority.
System Status Check – Ensure the target bank and vault are not halted by a circuit breaker.
Collateralization Verification – Match vault balances against the accounting layer.