> For the complete documentation index, see [llms.txt](https://docs.multipli.fi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.multipli.fi/technical-architecture/rwausd-contract-addresses.md).

# rwaUSD Contract Addresses

## rwaUSD Token

*ERC-20 stablecoin token*

* **Ethereum:** [0x8Fcd23142047A3073ed332a0Ed07d1e8D2BD5177](https://etherscan.io/address/0x8Fcd23142047A3073ed332a0Ed07d1e8D2BD5177)
* **INK:** [0x2A66Bb2dA3AD1c854E79307F64b862DECD860D4c](https://explorer.inkonchain.com/address/0x2A66Bb2dA3AD1c854E79307F64b862DECD860D4c)
* **Base**: [0x272Ec977f4575df41cD47b1b254954E1C7972789](https://basescan.org/address/0x272Ec977f4575df41cD47b1b254954E1C7972789)

***

## rwaUSD Protocol Contracts

#### Vat

The core accounting engine of the protocol. Maintains all internal balances — tracks how much collateral each CDP holds and how much debt has been issued against it. Every other contract routes through the Vat to move collateral and stablecoin balances. No tokens move without the Vat's authorization.

* **Ethereum:** [0xbC22e8C15bC476EF4FD0124c5A03b23607e30D2C](https://etherscan.io/address/0xbC22e8C15bC476EF4FD0124c5A03b23607e30D2C)

#### RWAUSD Operator wallet

Safe wallet used for the governance and operation of rwaUSD. Will become obsolete once governance module goes live.

* **Ethereum:** [0x194Ebc1B9B382ef0E6998cAAcE59aF843cf53b99](https://etherscan.io/address/0x194Ebc1B9B382ef0E6998cAAcE59aF843cf53b99)

#### Spotter

Reads the current collateral price from oracle contracts and pushes it into the Vat. The Vat uses this price to determine whether CDPs are sufficiently collateralized and whether liquidations should be triggered.

* **Ethereum:** [0xf3aee748355bb07CBe702B4ff8dBE6118b34e2A2](https://etherscan.io/address/0xf3aee748355bb07CBe702B4ff8dBE6118b34e2A2)

#### rwaUSDJoin

Adapter that bridges rwaUSD between the external ERC-20 token and the Vat's internal balance system. Users call join() to deposit rwaUSD into the Vat to repay debt, and exit() to withdraw rwaUSD as transferable ERC-20 tokens.

* **Ethereum:** [0xA596E0888b3e1d12F3Ee174128c0D9990027BA08](https://etherscan.io/address/0xA596E0888b3e1d12F3Ee174128c0D9990027BA08)

#### Jug

Accumulates stability fees on all open CDP positions over time by updating a global rate multiplier. When drip() is called, outstanding debt balances increase proportionally and the accrued fees are forwarded to the Vow as protocol revenue.

* **Ethereum:** [0x66654ccF7C4492FD3CFa01A7Ec5B5AC28f0D886E](https://etherscan.io/address/0x66654ccF7C4492FD3CFa01A7Ec5B5AC28f0D886E)

#### Vow

The protocol's balance sheet. Receives stability fees and liquidation income as surplus, and tracks bad debt from failed liquidations. When surplus exceeds a threshold it can be distributed; when bad debt accumulates it triggers debt auctions to recapitalize the system.

* **Ethereum:** [0x7815e8e9BCEF8708A799eE3802586298e5AFA611](https://etherscan.io/address/0x7815e8e9BCEF8708A799eE3802586298e5AFA611)

#### Dog

Monitors CDP collateralization ratios and initiates liquidation when a position falls below the minimum. Calls the relevant Clipper to start a Dutch auction on the collateral and marks the debt as being liquidated in the Vat.

* **Ethereum:** [0x15a36d5cAf263160c2a49DDE6429C045Fb711dDD](https://etherscan.io/address/0x15a36d5cAf263160c2a49DDE6429C045Fb711dDD)

#### Cure

Aggregates all outstanding unbacked debt across the system into a single total. Used during global settlement to ensure the correct pro-rata collateral redemption amounts are calculated for rwaUSD holders.

* **Ethereum:** [0x9eA54efa0D82B2afdf2c9F3A407622Dc83b2c914](https://etherscan.io/address/0x9eA54efa0D82B2afdf2c9F3A407622Dc83b2c914)

#### End

Global settlement contract that allows the protocol to be gracefully shut down. Freezes collateral prices, allows users to free collateral from CDPs, and enables rwaUSD holders to redeem their tokens for a proportional share of the underlying collateral at the final settlement price.

* **Ethereum:** [0x026782F431bfC233c67128af42a4e9De7f834BF5](https://etherscan.io/address/0x026782F431bfC233c67128af42a4e9De7f834BF5)

***

## PAXG Collateral Contracts

#### PriceFeedAdapter

Wraps the raw Chainlink PAXG/USD price aggregator and converts its output into the format expected by the OSM. Acts as the interface between the external price feed and the protocol's oracle pipeline.

* **Ethereum:** [0x82F5790Bd1c96790E4c3a3ebC8142bD4D6F8b1CD](https://etherscan.io/address/0x82F5790Bd1c96790E4c3a3ebC8142bD4D6F8b1CD)

#### OSM

Oracle Security Module. Holds two price slots — current and next — and only advances to the next price once per hour. This delay gives the protocol a one-hour window to detect and respond to oracle manipulation or price feed errors before they affect CDP collateralization checks.

* **Ethereum:** [0x89fbAe0302b8790D55fa36E6Ab09ac93F865993a](https://etherscan.io/address/0x89fbAe0302b8790D55fa36E6Ab09ac93F865993a)

#### GemJoin

Collateral adapter for PAXG. Users approve and call join() to lock PAXG into the Vat as collateral for minting rwaUSD, or call exit() to withdraw their PAXG once debt is repaid. This contract holds the actual PAXG tokens on behalf of the protocol.

* **Ethereum:** [0x3c9567C3b9c20E72858cD5714209EA7D7a8011fD](https://etherscan.io/address/0x3c9567C3b9c20E72858cD5714209EA7D7a8011fD)

#### Calc

Defines the price decay function used in Dutch auction liquidations. Implements a curve (linear or exponential) that determines how quickly the collateral sale price drops over time to attract keepers to participate in liquidations.

* **Ethereum:** [0xfEb42fB58E790DD5f38d936df45b4Bdd29260DE5](https://etherscan.io/address/0xfEb42fB58E790DD5f38d936df45b4Bdd29260DE5)

#### Clipper

Runs Dutch auctions to liquidate undercollateralized PAXG CDPs. Starts the collateral at a high price that decreases over time. Keepers purchase collateral at any point in the auction. Proceeds cover the CDP's outstanding debt, with any surplus returned to the original CDP owner.

* **Ethereum:** [0x62B7a353928142A18C07026A33F8089d1c7378F4](https://etherscan.io/address/0x62B7a353928142A18C07026A33F8089d1c7378F4)

***

## rwaUSD Proxy Contracts

#### DssCdpManager

Convenience layer over the Vat that assigns human-readable numeric IDs to CDP positions and tracks ownership. Users can transfer CDPs, grant permissions to other addresses, and manage multiple positions through a unified interface without dealing with raw Vat internals.

* **Ethereum:** [0x97a762d03A511754151dD046EE83599162572e47](https://etherscan.io/address/0x97a762d03A511754151dD046EE83599162572e47)

#### DssProxyActions

Library contract containing all standard CDP operations — open, deposit collateral, withdraw collateral, draw rwaUSD, repay debt, close — as atomic functions. User proxy contracts delegate-call into this library to execute complex multi-step operations in a single transaction.

* **Ethereum:** [0x92a4bb65fbE7A4B516F52a0E7550982f650cE7C8](https://etherscan.io/address/0x92a4bb65fbE7A4B516F52a0E7550982f650cE7C8)

#### DssProxyActionsEnd

Extension of proxy actions for global settlement scenarios. Provides functions to free collateral from CDPs after End is triggered and to redeem rwaUSD for underlying collateral at the final settlement price.

* **Ethereum:** [0x41c09d97E10dDB1adBC202d6fC3aA18547C36969](https://etherscan.io/address/0x41c09d97E10dDB1adBC202d6fC3aA18547C36969)

#### DSProxyFactory

Factory that deploys a personal DSProxy contract for each user. The DSProxy acts on behalf of the user and is the recommended entry point for all protocol interactions, enabling atomic batched transactions and access to the proxy action libraries.

* **Ethereum:** [0xe23C0d47cDCB3DF144c529648651D5c8F3cbE312](https://etherscan.io/address/0xe23C0d47cDCB3DF144c529648651D5c8F3cbE312)

#### ProxyRegistry

Maintains a registry mapping user wallet addresses to their deployed DSProxy addresses. Used to look up an existing proxy or deploy a new one, ensuring each user has exactly one canonical proxy in the system.

* **Ethereum:** [0xAFD44C3e4bb4757527d1d58706023Daf2f1F30d3](https://etherscan.io/address/0xAFD44C3e4bb4757527d1d58706023Daf2f1F30d3)

#### GetCdps

Read-only view contract that returns all CDP IDs and their associated collateral and debt data for a given owner address. Used by frontends and indexers to display a user's full position set without iterating the Vat directly.

* **Ethereum:** [0x2fCC0D9972F489ec42804A00ba2029e7f6C9b412](https://etherscan.io/address/0x2fCC0D9972F489ec42804A00ba2029e7f6C9b412)

***

## CCIP Contracts

#### BurnMintPool

Implements the Chainlink CCIP token pool interface for rwaUSD cross-chain transfers. When a user bridges rwaUSD, CCIP calls this contract to burn tokens on the source chain and mint an equivalent amount on the destination chain, keeping total supply consistent across all deployed networks.

* **Ethereum:** [0x7F49A388c6884C0d1706f7774e9A5575d100aa63](https://etherscan.io/address/0x7F49A388c6884C0d1706f7774e9A5575d100aa63)
* **INK:** [0xd74FB32112b1eF5b4C428Fead8dA8d85A0019009](https://explorer.inkonchain.com/address/0xd74FB32112b1eF5b4C428Fead8dA8d85A0019009)

#### Enabled CCIP Lanes for Cross-Chain Transfers (CCT)

The following Chainlink CCIP lanes are currently enabled:

* **Ethereum ↔ Ink**
* **Ethereum ↔ Base**
