CONTRACT AUDIT — OUSD, RESERVE/hyUSD AND THE PROPOSED pDAI STABLECOIN LAYER
Read-only PulseChain checks, pinned block 27,824,343 (17 October 2026, 23:27:55 UTC).
Checked on public RPC https://rpc.pulsechain.com; not on Sophia. No transactions broadcast.

VERDICT
Some relevant inherited contracts and real pDAI exposures exist. They do not establish a working peUSD -> pDAI -> paDAI peg loop. OUSD and Reserve/hyUSD are distinct systems, distinct tokens and distinct governance. Canonical pDAI is neither OUSD nor the RToken in the examined Reserve deployment. No exact peUSD or paDAI deployment was identified in the supplied material.

1. OUSD: supported pDAI, stale nominal price, no demonstrated working redemption
OUSD token: 0x2a8e1e676ec238d8a992307b495b45b3feaa5e86
OUSD Vault: 0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70
Vault implementation: 0x997c35a0bf8e21404ae4379841e0603c957138c3
Governor/Timelock: 0x35918cde7233f2dd33fa41ae3cb6ae0e42e0e69f

isSupportedAsset(canonical pDAI) returns true. getAllAssets contains canonical forked DAI, USDT and USDC. The Vault directly holds 1,456.620480433024964620 pDAI. Seven registered strategies were returned; that count is not an economic valuation or proof all strategies function.

The Vault's priceProvider is 0x7533365d1b0d95380bc4e94d0bdef5173e43f954. price(pDAI) returns 100009178, matching the inherited DAI/USD Chainlink answer at 0xaed0c38402a5d19df6e4c03f4e2dced6e29c1ee9. That feed reports 8 decimals and latest update 10 May 2023, 21:39:47 UTC, i.e. a stale nominal USD reference of 1.00009178 inherited from Ethereum. It is not current PulseChain market price, dollars in reserve, or a redemption promise.

Vault totalValue(), checkBalance(pDAI), and calculateRedeemOutputs(1e18) all revert at the pin. All three selectors exist in the inspected implementation runtime. Thus the audit does not demonstrate a healthy current full valuation/redemption path. capitalPaused and rebasePaused are both false; being unpaused does not remove the other failing conditions.

Diagnostic caveat: priceUnitMint(address) and priceUnitRedeem(address) probes also reverted, but those selectors are absent from this old implementation. Those two probe failures must not be presented as a supported mint function failing. No mint or redeem state-changing call was sent. Existence of a DAI asset configuration does not prove a successful deposit, issuance or $1 exit today.

Issuing OUSD mints the distinct OUSD token. It cannot by itself mint canonical pDAI or convert that token into an RToken.

Sources: contracts_raw.json; contracts_followup_raw.json; contracts_final_raw.json; contracts_basket_raw.json. Prior exact control bindings: ../page_audit/origin/prior_governance_evidence/ousd_control_bindings.json. Prior direct balance table: ../page_audit/origin/origin_page_data.json.

2. Reserve: the examined RToken is hyUSD, not pDAI
Main: 0x2cabaa8010b3fbbdeebe4a2d0feffc2ed155bf37
RToken: 0xacdf0dba4b9839b96221a8487e9ca660a48212be
name(): High Yield USD; symbol(): hyUSD; supply: 510,463.880015005000188611 hyUSD.
rsr(): 0x320623b8e4ff03373931769a31fc52a4e78b5d70
BackingManager: 0x61691c4181f876dd7e19d6742b367b48aa280ed3
AssetRegistry: 0xacacddee9b900b7535b13cd8662df130265b8c78
BasketHandler: 0x9119db28432bd97abf4c3d81b929849e0490c7a6

Canonical pDAI IS registered collateral. Registry.toColl(pDAI) returns 0xb03a029ff70d7c4c53bb3c4288a87acfea0ee8fe. Its erc20() is canonical pDAI, targetName is USD, refPerTok=1e18 and targetPerRef=1e18. These reference ratios specify accounting relationships, not a market bid or dollar guarantee.

Crucially the plugin status() is 2, DISABLED. Its price() returns [0, max uint192], an unpriced range. tryPrice() reverts with 0x19abf40e, independently calculated selector for StalePrice(). It uses the same inherited DAI/USD feed; oracleTimeout is 3,660 seconds. whenDefault is 11 September 2024, 19:35:45 UTC. The nominal USD target must not be described as current acceptance of pDAI at an executable $1 value.

BasketHandler.status() is also 2, DISABLED, and fullyCollateralized() returns false. Main.paused() and frozen() are false; the disabled basket is a separate barrier.

Current quote(1e18,0) contains four collateral tokens, not direct pDAI:
  fUSDC: 0x465a5a630482f3abd6d3b84b39b29b07214d19e5 (Flux USDC)
  fDAI: 0xe2ba8693ce7474900a045757fe0efca900f6530b (Flux DAI)
  stkcvxeUSD3CRV-f: 0xbf2fbeecc974a171e319b6f92d8f1d042c6f1ac3
  stkcvxMIM-3LP3CRV-f: 0x8443364625e09a33d793acd03acc1f3b5dbfa6f6
The latter two report Convex staking-wrapper names for Curve eUSD+FRAX/USDC and MIM-3Pool respectively.

There IS an indirect pDAI exposure: fDAI.underlying() is canonical pDAI. The BackingManager holds 3,412,909.31570696 fDAI units. Multiplying by exchangeRateStored gives an accounting claim of about 82,469.282742314447641189 pDAI. The fDAI market itself reports 151,705.482331504051545333 pDAI cash and 6,216,601.204193901608273226 pDAI stored borrows. This is not proof the altered BackingManager can execute redemption or that those claims are worth dollars. Direct BackingManager pDAI balance is zero.

Similarly fUSDC.underlying is forked USDC, not Ethereum-redeemable dollars by virtue of the token name. Its BackingManager balance corresponds to about 79,610.756290504982 forked USDC by stored accounting. Market cash is 2,206,296.110635 forked USDC. Neither figure is a dollar reserve valuation.

The current Main RSR address does not equal HEX, PLSX, native PLS or WBTC. Replacing the label 'RSR' with those assets is a proposed new design, not the deployed configuration. A new collateral basket, capitalization, liquidations and token mapping would require actual configured contracts and verified behavior.

Sources: contracts_raw.json; contracts_followup_raw.json; contracts_final_raw.json; contracts_basket_raw.json. One mistyped fDAI probe in contracts_followup_raw.json was invalid; authoritative corrected address/name/underlying probes are in contracts_final_raw.json and contracts_basket_raw.json. The error is retained for provenance and excluded from conclusions. Enum ordering is confirmed in upstream IAsset.sol saved as reserve_asset_interfaces.txt, lines81-84: SOUND=0, IFFY=1, DISABLED=2.

3. Existing Reserve components were modified; this is not proof a healthy new stablecoin was built
The prior runtime audit showed that stRSR proxy7db3 has a replacement implementation e834…8fb9 returning constant1 for historical votes and historical total supply; ordinary ERC20 balance/supply interfaces do not work. Governor quorum at the tested snapshot was0. This does not establish an exclusive48Fc gate.

BackingManager proxy61691 points to replacement0989…586a. That small proxy resolves its fallback target as sload(sload(0)); actual61691 slot0=1 and slot1=0 mean the nested delegation target is address zero. Ordinary BackingManager calls return empty. The standalone implementation0989 has different storage, including admin48Fc; those standalone rights cannot be transferred conceptually to proxy61691. Actual61691 admin slot is zero.

48Fc signed successful governance executions upgrading those components in2024:
BackingManager: https://otter.pulsechain.com/tx/0x2fc4dbd06009a40b5098f6d6b7505d63042f800654efbfdeb6f4ab05b0841601
stRSR: https://otter.pulsechain.com/tx/0x29300eebcd051964af0f9141612b0050d9422cf7d9ac12822a373de629acf866

The later Ca6f attempt to install9812 failed. Refer to ../arb_pdai_audit/governance/summary.json for the exact proposal and trace. Do not depict that attempted upgrade as installed.

Sources: ../review_new/reserve/summary.json; ../review_new/reserve_code/notes.txt; accompanying raw code, assembly and storage. Prior read-only mint authorization probe ../review_new/mint/calls.json: hyUSD.mint from48Fc reverted 'not backing manager'; calling with the BackingManager as synthetic sender succeeded only as an eth_call authorization probe. That does not show the BackingManager can initiate the call in reality and does not create tokens.

4. Attribution and map instructions
'e121 built the stablecoin layer' is NOT established by the supplied evidence. The identified systems existed before the PulseChain fork. e121 governance activity in RAI/Metronome and others does not prove authorship of peUSD/paDAI, active L2 issuance, common identity or an implemented connection to these two systems. 48Fc's Origin vote share at the prior pinned snapshot was15.43056%, below20% quorum, so even the claim of completed Origin takeover is not established.

Recommended diagram labels:
  OUSD -> [DAI configured; inherited stale price; redemption quote reverts]
  Reserve/hyUSD -> [separate RToken; disabled basket; altered manager]
  pDAI -> fDAI -> hyUSD basket [verified indirect token exposure; not verified redemption]
  peUSD / paDAI -> [hypothesis; no verified contract mapping supplied]
  pDAI -> $1 external asset [not demonstrated]
Use distinct token identities and distinguish code/configuration, held assets, permissions and working execution. Do not draw all those edges as successful liquidity flows.

Primary upstream reference URLs (explain intended designs; do not certify modified Pulse deployments):
https://github.com/reserve-protocol/protocol/blob/master/contracts/interfaces/IAsset.sol
https://github.com/reserve-protocol/protocol/blob/master/contracts/p0/RToken.sol
https://github.com/reserve-protocol/protocol/blob/master/README.md
https://docs.originprotocol.com/registry/contracts/ousd-registry
https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol
https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol

Current mainnet deployment artifacts retrieved for ABI orientation have different addresses than the old Pulse fork implementations. They must not be treated as runtime/source verification of the fork.
