rwaUSD Contract Addresses
rwaUSD Token
ERC-20 stablecoin token
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.
RWAUSD Operator wallet
Safe wallet used for the governance and operation of rwaUSD. Will become obsolete once governance module goes live.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Enabled CCIP Lanes for Cross-Chain Transfers (CCT)
The following Chainlink CCIP lanes are currently enabled:
Ethereum ↔ Ink
Ethereum ↔ Base
Last updated