Liquity V2 Comparison
Last updated: May 4, 2026
ParyonUSD’s design is based on Liquity V2, an Ethereum stablecoin protocol with user-set interest rates, a stability pool, and redemption-based peg defense. Most of the moving parts will look familiar to anyone who has used Liquity V2: loans backed by collateral, interest paid by borrowers, stakers in a pool absorbing liquidations, and redemptions enforcing a price floor. The core mechanics are the same.
The differences come from two places: (1) ParyonUSD runs on Bitcoin Cash, not Ethereum, and (2) we made specific design choices to simplify the system where Liquity V2 had to add complexity to handle multi-collateral support and on-chain governance.
Scope and governance
Liquity V2 supports three collateral types (ETH, wstETH, rETH) routed across separate branches, and uses an LQTY-style governance token to vote on protocol-incentivized liquidity (PIL). ParyonUSD is single-collateral (BCH only), has no governance token, and no voting layer. The protocol has no parameters that holders or stakers can vote to change.
Liquity V2’s contracts are fully immutable. ParyonUSD’s contracts are also immutable, except for the price oracle. Every other contract (borrowing, loans, stability pool, redemptions) cannot be changed after deployment.
The oracle source is different. Liquity V2 uses Chainlink price feeds, a multi-operator decentralized oracle network. Bitcoin Cash has no Chainlink deployment, so ParyonUSD reads BCH/USD prices from the General Protocols oracle, a signed feed published by a single operator. The price oracle contract is intentionally the one upgradable component, so the source can be migrated when a more decentralized BCH oracle becomes available.
Redemption mechanism
This is the largest mechanical difference between the two protocols.
In Liquity V2, redemptions are instant: in a single transaction the redeemer burns BOLD and receives ETH from the lowest-rate troves. The protocol picks the targets atomically and the trade settles in one block.
ParyonUSD redemptions are a two-step on-chain process spread across a ~2-hour window:
- Initiation: the redeemer locks the oracle price and targets the loan with the current lowest interest rate.
- Finalization: after a 12-block confirmation window (~2 hours), the redemption settles. During this window any redeemer can swap the target to a lower-rate loan if one appears, ensuring the eventually-redeemed loan is always the lowest-rate one at finalization time.
See the redeeming guide for more on how the window works in practice.
Redemption fee structure
Liquity V2 uses a dynamic redemption fee that increases with redemption volume and decays back down over time. The intent is to make sustained redemption pressure expensive, slowing peg arbitrage when used aggressively.
ParyonUSD uses a fixed 0.5% redemption fee. Its main purpose is to neutralise oracle arbitrage rather than to throttle volume: the BCH/USD oracle publishes a new price every ~10 minutes or sooner if the price moves by 0.5% in between, so the fee bounds the maximum drift a redeemer can capture between locking the oracle price and finalization.
The same simplification applies on the borrowing side. Liquity V2 charges:
- An upfront borrowing fee at loan creation that scales with the system’s average interest rate.
- A premature adjustment fee if a borrower changes their interest rate within 7 days of the previous change.
ParyonUSD charges a flat 0.25% upfront protocol fee at loan creation (plus a 0.25% front-end fee), regardless of the system’s average rate. There is no premature adjustment fee: borrowers can change their rate at any time without penalty. The trade-off is that ParyonUSD relies entirely on the redemption queue (lowest-rate loans get redeemed first) to discipline rate-setting, with no fee-based deterrent against rapid rate changes.
Stability pool and yield
In Liquity V2, stability-pool depositors earn yield continuously and can withdraw at any time. There is no lockup, no epoch system, and the full interest stream paid into the stability pool flows to its depositors.
ParyonUSD differs in two ways:
Protocol fee on staker yield: of the interest collected from borrowers, 70% is paid to stakers and 30% is taken as a protocol fee that funds development. The split is enforced on-chain by the Collector contract.
Epochs and lock periods: the stability pool runs on a fixed schedule of ~10-day epochs, each subdivided into ~1-day periods. Liquity V2 has no equivalent concept. In ParyonUSD, new stakes are locked until the next epoch boundary (so up to 10 days, depending on when in the epoch the stake was created), interest is gathered into the pool once per period, and BCH payouts are made claimable once per epoch rather than streaming. Batching distribution into discrete periods and epochs is what keeps per-staker bookkeeping tractable on Bitcoin Cash, where contracts cannot cheaply update many UTXOs at once.
For how lockups, periods, and epochs affect a staker in practice, see the staking guide.
Liquidations
Both protocols liquidate undercollateralized loans against the stability pool first. Liquity V2 applies a 5% liquidation penalty and returns any remaining collateral to the borrower. ParyonUSD liquidates a loan once its collateral ratio drops below 110%, and the entire collateral is forfeit to the stability pool; the borrower keeps the borrowed PUSD but receives nothing back. The pool’s gain is the collateral value above the cancelled debt: at most ~10% of the debt (the buffer above the 110% threshold), and less if BCH has fallen further by the time the transaction confirms.
Liquity V2 also has two fallback liquidation paths for when the stability pool is empty: just-in-time (JIT) liquidation by an external liquidator, and redistribution of the bad debt across other borrowers. ParyonUSD has neither. If the stability pool cannot absorb a liquidation, it does not happen until the pool is replenished. In practice this means the pool needs to be deep enough relative to outstanding debt; the 110% collateral ratio gives a tighter buffer than V2’s defaults but assumes pool depth.
Loan representation and metadata
Both protocols use NFTs to represent loan ownership. Liquity V2’s TroveNFT is an ERC-721 with a tokenURI function that returns metadata generated on the fly from trove state, so wallets see live loan data as soon as the NFT exists.
CashTokens has no tokenURI equivalent. NFT metadata on Bitcoin Cash is published through the BCMR standard, which expects each token category to be registered before wallets first see it. Reconciling this with creating a fresh loan-key NFT inside the borrowing transaction is what the Loan Key Factory subsystem exists for: three contracts that pre-mint loan keys with unique token IDs so their metadata can be registered ahead of time. There is no equivalent in Liquity V2.