Skip to content

Latest commit

 

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paragon Protocol

The first stablecoin backed by tokenized equities, with liquidation-free leverage. Powered entirely by xStocks.

Paragon splits tokenized equities (xStocks) into two complementary financial primitives:

  1. paraUSD — a stablecoin pegged to $1, backed by a diversified basket of tokenized equities
  2. Leveraged tokens (paraSPY, paraQQQ, ...) — per-stock leveraged exposure with no liquidation, no funding rates, and no active position management

One vault. One stablecoin. Multiple leveraged tokens. All powered by xStocks as the reserve asset.


How It Works

All deposited xStocks go into a single shared multi-collateral vault. The vault maintains internal sub-pools — one per supported xStock — each tracking its own collateral, paraUSD debt, and leveraged token supply.

The core invariant:

Pool TVL = paraUSD Supply × $1 + Σ(paraToken Supply × paraToken Price)
  • When xStock prices rise → paraUSD stays at $1, extra value flows to leveraged tokens (amplified gains)
  • When xStock prices fall → leveraged tokens absorb the loss, protecting paraUSD's peg (no liquidation — holders can ride it out)

Leverage per sub-pool is dynamic (target 3x, range 2x–5x) and adjusts automatically based on price movements and user activity.


Minting & Redeeming

Action What Happens Effect on Leverage
Standard Mint Deposit xStock → receive paraUSD + leveraged token (dynamic 50/50 split targeting 3x) Pushes toward 3x
Leverage-Only Mint Deposit xStock → receive only leveraged token Decreases leverage (2x floor enforced)
Stable-Only Mint Deposit xStock → receive only paraUSD Increases leverage
paraToken Redeem Burn leveraged tokens → receive xStock at current value Changes leverage for remaining holders
paraUSD Redeem Burn paraUSD → receive $1 worth of xStock (peg enforcement via arbitrage) Increases leverage
Balanced Redeem Return both tokens in correct ratio → receive xStock Clean round-trip

Fee Structure

Paragon uses dynamic fees to keep each sub-pool's leverage within the 2x–5x target range. Actions pushing leverage in the wrong direction get expensive; actions pushing it the right way get cheap.

Fee Parameters

Parameter Value Description
Base fee 0.5% (50 bps) Starting fee in healthy conditions
Max fee 5% (500 bps) Upper bound after leverage penalties and CR multiplier
Max CR multiplier 3x Mode 1 can scale fees up to 3x as system collateral weakens
Mode 3 bounty 1%–10% Treasury-funded reward for beneficial actions in deep stress

Fee Behavior by Leverage State

Leverage too high (approaching 5x):
  Standard mint:        HIGH   (creates more paraUSD → harmful)
  Leverage-only mint:   LOW    (adds leveraged capital → helpful)
  paraUSD redeem:       LOW    (removes paraUSD → helpful)
  paraToken redeem:     HIGH   (removes leveraged capital → harmful)

Healthy range (2x–5x):
  All fees:             BASE RATE (0.5%)

Leverage too low (approaching 2x):
  Standard mint:        LOW    (creates paraUSD → helpful)
  Leverage-only mint:   HIGH/BLOCKED (would push leverage lower)
  paraUSD redeem:       HIGH   (removes paraUSD → harmful)
  paraToken redeem:     LOW    (removes leveraged capital → helpful)

Fee Revenue Split

Recipient Share Purpose
Stability pool stakers 70% Yield for staked paraUSD holders
Treasury 30% Crisis buffer for recapitalization

Stability Pool & Yield

paraUSD holders can stake in the stability pool to earn yield from protocol fees. Stakers receive sParaUSD (ERC-4626 receipt token) representing their pro-rata share.

Parameter Value
Staker yield share 70% of all protocol fees
Stake lock-up 4 days (resets per stake)
Exhausted threshold 100 paraUSD

Risk: During Stability Mode 2 (CR < 115%), staked paraUSD may be converted to leveraged tokens to restore the collateral ratio. This is a pre-agreed risk/reward tradeoff, not liquidation.


Risk Management — Stability Modes

The protocol uses a three-tier system based on the system-wide collateral ratio (CR):

System CR = Total Pool TVL / Total paraUSD Supply × 100%
Mode CR Range Response
Normal ≥ 125% Base fees, normal operation
Mode 1 — Fee Controls 115%–125% Fees scale up to 3x via continuous CR multiplier
Mode 2 — Stability Pool Drawdown 105%–115% Staked paraUSD converted to leveraged tokens (burns paraUSD supply + adds leveraged capital)
Mode 3 — Treasury Recapitalization < 105% Treasury bounties for beneficial actions; direct market buys as last resort

Why Tokenized Equities Are Safer Collateral

The worst single-day NASDAQ 100 drop in modern history was ~12%. With a 125% CR threshold, Paragon has a significantly larger safety margin than crypto-native protocols like Hylo (SOL collateral, 150% threshold, worst-case 1-day drop of ~33%).

Metric Hylo (SOL) Paragon (SPY/QQQ)
1-day 99.9% VaR -32.95% -8.59%
Mathematical min CR 149.2% 109.4%
Actual CR threshold 150% 125%
Safety buffer ~0.8pp ~15.6pp

Oracle & Pricing

  • CoinGecko tracks xStock secondary market prices 24/7 (covers weekends/off-hours when traditional markets are closed)
  • A keeper bot pushes prices on-chain every 60 seconds
  • 72-hour staleness threshold — all mint/redeem operations halt if the keeper stops updating
  • Oracle interface is abstracted (IPriceOracle) — upgradeable to Pyth/Chainlink on mainnet with a one-line adapter swap

Deployed Contracts (Ink Sepolia)

All contracts are deployed on Ink Sepolia (Chain ID: 763373).

Explorer: https://explorer-sepolia.inkonchain.com

Collateral (MockXStock — shares-based rebasing)

Contract Address Explorer
SPYx 0x87182C7DB0733c82A748D8160a9F69C8b00dB603 View
QQQx 0x393970983E53B22a6CD6Ba44862f6df3356F5336 View

Oracles (CoinGecko-powered)

Contract Address Explorer
SPY Oracle 0xAef2ebC293d35f8987bC7D888A6D631eFe92a923 View
QQQ Oracle 0x38A05A2D3dD05F4234F2ed43Ba60F3FaeC31b3D4 View

Core Protocol

Contract Address Explorer
Vault 0x2d8B75B6843f342809F12F1d9bc5Cb55faFe6259 View
paraUSD 0x2E49C550bb58161627a19EE8F652dDB67244dfaC View
Stability Pool 0x95e43D87aAdDDb819217FfD8D0910CE977C03E65 View
sParaUSD 0x13Ae5252F3fA4Da8dF1654645E14BcF9b0F0B221 View

Leveraged Tokens

Contract Address Explorer
paraSPY 0x1b9d0D4D5432AA77864840e0D134e34289d8E712 View
paraQQQ 0xC40e6273b445064A9895655a73608bfa8752386f View

Architecture

Smart Contracts

Contract Role
Vault.sol Holds all xStocks. Sub-pool accounting, minting, redeeming, leverage enforcement
ParaUSD.sol Shared ERC-20 stablecoin, only vault can mint/burn
LeveragedAssetToken.sol Base for per-stock leveraged tokens (paraSPY, paraQQQ)
FeeCalculator.sol Dynamic fee engine — asymmetric quadratic curves around 3x optimal
StabilityPool.sol paraUSD staking, fee distribution, Mode 2 conversions
StabilityPoolShare.sol sParaUSD receipt token (ERC-4626)
CoinGeckoOracleAdapter.sol On-chain oracle fed by keeper bot
MockXStock.sol Testnet tokens replicating Backed Finance's shares-based rebasing

Frontend

  • Framework: Next.js (App Router) + TailwindCSS + shadcn/ui
  • Wallet: Privy auth + Wagmi + Viem
  • Pages: Markets overview, individual market detail with simulator, portfolio P&L tracker, stability pool staking (earn), system dashboard, docs

Key Routes

Route Description
/ Homepage — TVL, protocol overview
/markets All markets — TVL, price, leverage, CR per asset
/market/[id] Individual market — chart, mint/redeem actions, leverage simulator
/portfolio User positions and P&L
/earn Stability pool — stake paraUSD, view APY and fees earned
/dashboard System-wide monitoring
/docs Protocol documentation and contract reference

Setup

# Frontend
cd client
cp .env.example .env.local   # fill in Privy key, Supabase, etc.
bun install && bun run dev

# Contracts
cd contracts
forge install
cp .env.example .env          # fill in PRIVATE_KEY
make build
make test
make deploy-ink-sepolia

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages