# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.multipli.fi/technical-architecture/for-integrators.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
