Skip to content
User guide

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 -> sfyUSD

Both 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