# For Integrators

Protocols integrating rwaUSD need deterministic, on-chain answers for:

* total supply and issuance
* profile-level caps and utilization
* oracle freshness and restrictions
* pause state
* reserve health signals (optional)

#### 15.1 Recommended view functions

Ledger / RiskRegistry / PriceRouter expose:

```solidity
function totalIssued() external view returns (uint256);

function profileParams(bytes32 profileId) external view returns (
  address token,
  address adapter,
  uint256 safetyFactor,
  uint256 haircut,
  uint256 mintCap,
  uint256 totalPrincipal,
  bool borrowEnabled,
  bool collateralEnabled
);

function price(bytes32 profileId) external view returns (
  uint256 priceUsd,
  uint8 status,
  uint256 updatedAt
);

function systemFlags() external view returns (uint256 flags);
```

#### 15.2 Recommended invariants for integrators

* rwaUSD mint/burn authority is limited to Ledger
* Ledger does not perform external token calls
* price status is explicit and machine-readable
