PYUSDX Overview
PYUSDX is an upgradeable, non-rebasing ERC-20 token with per-account claimable yield, built for the M0 ecosystem. Beyond standard ERC-20 transfers, it supports a multi-asset extension system: PYUSDX can be wrapped 1:1 into branded extension tokens (YieldToOne, MultiMint) that inherit its freeze and pause controls and route yield to designated recipients.
This documentation is for developers and integrators building on PYUSDX. It covers how yield accrues and is claimed per account, how tokens are minted and burned, how the extension system wraps PYUSDX into branded tokens, and how PYUSDX moves across chains. It assumes familiarity with ERC-20 tokens and Solidity smart contracts.
Overview
PYUSDX has 6 decimals (PYUSD standard) and extends standard ERC-20 semantics with five capabilities:
- Continuous per-earner yield indexing: each account accrues yield independently at a configurable rate, backed by continuous compounding math.
- Multi-asset extension system: PYUSDX can be wrapped into branded extension tokens (
YieldToOne,MultiMint) that inherit freeze/pause controls and route yield to designated recipients. - Cross-chain bridging: a
Portalcontract enables trustless token transfers across EVM chains via pluggable bridge adapters. - Compliance primitives: per-account freezing, forced transfers, and global pausing are first-class operations.
- Time-delayed minting: mint proposals go through a configurable delay before execution, providing a security buffer.
All contracts use the ERC-7201 namespaced storage pattern for upgradeability-safe storage layout.
Contracts
| Contract | Description |
|---|---|
PYUSDX | Core ERC-20 token with per-earner yield |
IssuerGateway | Time-delayed mint gateway |
Portal | Cross-chain token bridge router |
SwapFacility | PYUSDX ↔︎ Extension swap router |
Extension | Base ERC-20 extension contract |
YieldToOne | 1:1 wrapped PYUSDX, yield to single recipient |
MultiMint | Multi-collateral wrapped PYUSDX. Inherits from YieldToOne capabilities. |
ExtensionFactory | Deploys and registers extensions |
ExtensionBeacon | Per-type versioned implementation registry (one instance per extension type, ERC-1967 compliant) |
ExtensionBeaconProxy | Beacon proxy with pinned versioning |
BridgeAdapter | Base for chain-specific bridge adapters |
RateLimiter | Token-bucket rate limiting. Inherited by PYUSDX. |
ReentrancyLock | Transient-storage reentrancy guard. Inherited by Portal and SwapFacility. |
Deployed contract addresses are listed on the PYUSDX platform deployments page.