Swap fyUSD and USDG (PSM)
The peg stability module — a fixed-price door in both directions, available 24 hours a day, whose exit nobody can close.
The PSM is a two-way swap between fyUSD and USDG at a fixed price with a small fee. It is what holds the price of fyUSD inside a narrow band, and it is the reason there is always a way out of fyUSD even when the equity market is shut and redemption is unavailable.
The two calls
PSM.swapIn(usdgAmount, minOut) // USDG -> fyUSD, fee 0.05%
PSM.swapOut(fyusdAmount, minOut) // fyUSD -> USDG, fee 0.20%How it is calculated
swapIn: 1 USDG → 0.9995 fyUSD — implies a market ceiling near $1.0005
swapOut: 1 fyUSD → 0.9980 USDG — implies a market floor near $0.998
The fees are asymmetric on purpose. The PSM is a door, not a place to sit.
Rules R-8.1.1, R-8.2.1, R-8.4.1
Available at every hour
Guarantee
Both directions work 24 hours a day, in every market state — including when the underlying equity market is not printing prices, when a branch's oracle is paused, when a feed is stale, and when the branch is shut down. The PSM does not read an equity price to do its job.
Rule R-1.5.1
Guarantee
swapOut is never pausable. Not by the Closer key, not by a USDG depeg, not by any state of any
branch. As long as the reserve holds USDG, the exit is open.
Rule R-8.2.1
Entry is a different matter: the Closer key can freeze it for at most 72 hours at a time, up to 30 days cumulative over its whole 365-day life, and that is the intended response to a USDG depeg. Exit stays open throughout.
Rules R-8.6.1, R-12.1.3
The entry cap, and why it never rises
fyUSD minted by the PSM can never exceed 30% of total fyUSD supply.
How it is calculated
remaining intake capacity = 30% × (supply + incoming) − PSM-minted fyUSD
example: $4M supply, $1M PSM-minted → about $286,000 of intake left
The cap exists because a PSM without one turns the stablecoin into wrapped USDG: at 100% intake, fyUSD is a Paxos claim with extra steps, and the collateral behind it stops mattering. The published ratio of PSM-minted fyUSD to total supply is the honest measure of how far that has gone.
When the cap is reached and fyUSD trades above $1.0005, the premium persists. No key raises the cap; nobody intervenes; it lasts until caps or the market loosen. That is stated here rather than discovered later.
Rules R-8.1.1, R-8.5.4
The reserve, and what happens when it empties
The reserve is the USDG sitting in the PSM. swapOut requires the reserve to cover your amount. If it is empty, the floor is gone until someone swaps in — but you still have redemption during market hours, and borrowers still have repayWithUSDG.
Guarantee
The reserve is never deployed into a yield venue. Not into Spark, not into Morpho, not anywhere. It sits idle for the entire life of version 1. The extra yield it could have earned was judged not worth being the protocol's only path to losing user funds through a third party.
Rule R-8.5.5
The operational target, seeded by the founders through ordinary swapIn calls and not enforced by any contract, is a reserve of 5–10% of supply.
Rules R-8.5.1, R-8.5.2
Where the fees go
Both fees are minted in fyUSD and routed by the same splitter as interest: in phase 1, 90% to the Stability Pools of active branches — divided in proportion to each branch's uncovered debt — and 10% to liquidity incentives. Nothing goes to a treasury in phase 1.
Over a year those fees are worth roughly 0.4 points of Stability Pool yield.
Rules R-8.5.3, R-10.2
Getting into Earn in one transaction
PSM.swapInToSP(branch, usdgAmount) // USDG -> fyUSD -> Stability Pool
Router.depositUSDG(branch, usdg, receiver, ...) // USDG -> fyUSD -> sfyUSDBoth apply the 0.05% entry fee and the ordinary caps. See Earn.
Rules R-8.3.3, R-9.6.1
In Sunset
If the protocol ever enters its terminal mode, the PSM changes by itself and irreversibly: both fees drop to zero, the cap rises to 100%, and any entry freeze is lifted. Everyone converts at par, in both directions, at no cost.
Rule R-8.7.1
Risk
The PSM concentrates one counterparty risk in one number. Up to 30% of fyUSD supply can be backed by USDG, which is a claim on Paxos. There is no USDG oracle in version 1 and no mechanism that reacts to a USDG depeg other than the cap and a temporary entry freeze while the Closer key exists. After the key expires, nothing reacts at all.
Rules R-2.3.1, R-8.6.1
Last reviewed: 2026-09-07 · Spec v0.4
What you can receive
Every asset the protocol can hand you, in which role, and under what conditions — fyUSD, USDG, stock tokens, and surplus collateral.
Repay in USDG
Close your debt with the dollars you actually hold, in one transaction, without buying fyUSD on a market — and without the PSM cap getting in the way.