SunPLS is an experimental autonomous monetary asset protocol built for PulseChain.
The system combines:
- Over-collateralized vaults
- Direct redemption against collateral
- Dutch-auction liquidations
- Autonomous monetary policy
Together these mechanisms form a self-regulating monetary system designed to operate without governance or administrative control.
SunPLS was developed following the ProjectUSD specification guidelines, which define the architecture and invariants required for building resilient autonomous stable assets.
⚠️ Experimental Protocol
SunPLS is a research implementation of the ProjectUSD architecture and should not be considered production financial infrastructure.
- Overview
- Intellectual Lineage
- ProjectUSD Specification
- System Architecture
- Core Components
- Stability Mechanisms
- Redemption Mechanism
- Liquidation System
- Controller Epochs
- Example Vault Flow
- System Invariants
- Design Goals
- Deployment
- Experimental Status
- License
- Disclaimer
- Acknowledgements
SunPLS is designed as a closed-loop autonomous monetary system.
The protocol continuously observes market price and adjusts economic incentives through an automated controller.
Market Price (P)
↓
Controller Policy
↓
Interest Rate (r)
↓
Vault Incentives
↓
Supply Changes
↓
Market Price
↺
This feedback loop allows the system to dynamically adjust borrowing incentives and supply conditions in response to market deviation.
SunPLS sits at the intersection of two independent lines of thinking that arrived at the same conclusion 50 years apart.
In 1976, economist Friedrich Hayek published Denationalisation of Money, arguing that government monopoly on currency issuance was the root cause of monetary instability. His proposed solution: competing private currencies that earn trust through demonstrated stability — not legal mandate, not institutional backing, not governance decisions. Every central bank ignored him. He lacked the trustless infrastructure to make it real.
The ProjectUSD specification translated Hayek's vision into a concrete architectural framework for autonomous stable assets — defining the P/R/r feedback loop, the redemption mechanism, and the closed-loop stability guarantee that requires no external reference, no oracle dependency on USD, and no human discretion at any point in the system.
SunPLS is the first live implementation of that specification.
The architecture is not pegged to the dollar. It is not pegged to any external asset. It defines its own internal equilibrium price R and defends it through mathematics. The "bank" is immutable Solidity. The "monetary policy" is a proportional controller that executes identically whether it processes $100 or $100 million. No board meeting required.
"If stablecoins truly become infrastructure then the systems that matter most will be the ones that no one controls." — ProjectUSD specification author
SunPLS is that system.
SunPLS follows the ProjectUSD architecture specification.
ProjectUSD defines a framework for building fully autonomous stable assets that operate without discretionary governance.
The specification emphasizes:
- Deterministic monetary policy
- Immutable contracts
- Oracle resilience
- Closed-loop stability control
- Economic safety invariants
- System liveness under degraded conditions
SunPLS represents an experimental implementation of these design principles.
The SunPLS protocol is composed of four core components:
SunPLS Token
│
▼
Price Oracle
│
▼
Monetary Controller
│
▼
Vault System
Each component performs a dedicated role in maintaining system stability.
SunPLS is the stable asset minted by vaults when collateral is deposited.
Properties:
- ERC-20 token
- Minted when collateralized debt is created
- Burned during repayment, redemption, or liquidation
The token supply expands and contracts based on vault activity.
The vault contract implements collateralized debt positions (CDPs).
Users deposit PLS (wrapped as WPLS) and mint SunPLS against collateral.
- Minimum collateral ratio: 150%
- Liquidation threshold: 110%
- Redemption eligibility: ≤130%
- Minimum liquidation size: 20% of vault debt
- Withdrawal cooldown: 5 minutes
Vaults enforce strict on-chain solvency rules.
| CR Range | Status |
|---|---|
| Above 150% | Healthy. Immune to redemption. Can mint and withdraw. |
| 130%–150% | Distressed. Redemption eligible. Cannot mint more. |
| 110%–130% | Seriously distressed. Redemption eligible. Approaching liquidation. |
| Below 110% | Liquidatable. Dutch auction active. |
The controller implements an autonomous monetary policy engine.
It adjusts the system interest rate based on price deviation.
ε = |P − R|
Δr = K × ε
Where:
- P = oracle market price
- R = internal equilibrium value
- r = system interest rate
- Proportional feedback control
- Deadband to ignore small deviations
- Rate change limiter
- Redemption value damping
- Epoch-based updates
- Oracle degradation handling
This mechanism approximates automated central-bank-style policy adjustments.
The oracle provides the market price signal required by the controller.
To prevent system failure during oracle outages, the controller supports four degradation modes.
| Mode | Description |
|---|---|
| A | Fresh oracle update |
| B | Peek fallback price |
| C | Stored price buffer |
| D | Frozen epoch |
These mechanisms ensure the system remains live even during oracle disruption.
SunPLS stability relies on three independent layers.
Layer 1 — Collateralized Vaults
Layer 2 — Redemption Arbitrage
Layer 3 — Autonomous Controller
These mechanisms reinforce each other to maintain system equilibrium.
SunPLS holders can redeem tokens directly against vault collateral.
PLS_out = SunPLS × R
Where R is the internal equilibrium value maintained by the controller.
If SunPLS trades below R:
Buy SunPLS
Redeem for PLS
Profit
This creates arbitrage pressure that converges market price toward R. R itself is a derived system state, not a guaranteed bound — it moves as the controller responds to sustained deviation.
- Only vaults at or below 130% CR can be targeted
- Vaults above 130% CR are completely immune to redemption
- A 0.5% fee stays with the vault owner as compensation for involuntary exit
- A 5-minute liquidation gap after redemption gives vault owners time to respond
- Incentivizes vault owners to maintain CR well above 130%
Vaults below the liquidation threshold become eligible for liquidation.
SunPLS uses a Dutch-auction liquidation incentive.
bonus = 2% → 5%
duration = 3 hours
The liquidation reward increases over time until the vault is resolved.
This guarantees strong incentives for liquidators.
Monetary policy updates occur once per epoch.
triggerEpoch()
During each epoch:
- Oracle price is resolved
- Price deviation is calculated
- Interest rate is adjusted
- Redemption value may move
- Vault interest rates update
Epoch execution is permissionless.
Anyone can trigger an epoch.
User deposits collateral.
Deposit: 10,000 PLS
Collateral value is calculated.
collateralValue = collateral × 1e18 / price
User mints SunPLS.
Mint: 0.055 SunPLS
Vault collateral ratio:
CR = collateral × 1e18 × 100 / (debt × price)
If CR falls below 110%, liquidation becomes possible. If CR falls to or below 130%, redemption becomes possible.
The protocol enforces several invariants derived from the ProjectUSD specification.
I1 — Vault solvency: CR ≥ 150% to mint or withdraw
I2 — Liquidation: vaults below 110% CR can be liquidated
I3 — Redemption: only vaults at or below 130% CR can be redeemed against
I4 — Price floor: SunPLS can always be redeemed at R-value
I5 — Oracle resilience: lastOraclePrice fallback prevents oracle-bricking
I6 — Rate safety: interest rate bounded by Controller invariants
I7 — Immutability: no admin, no pause, no upgrade after deploy
I8 — Liveness: dead oracle never blocks deposit, repay, or withdraw
I9 — Debt initialization: lastDebtAccrual always set on first debt issuance
I10 — Auction anchor: Dutch auction elapsed measured from undercollateralized start
I11 — Bad debt tracking: residual uncovered debt recorded, never silent
I12 — Redeem-liquidation gap: vault cannot be liquidated within 5 minutes of redemption
These invariants ensure the system remains safe even under degraded conditions.
SunPLS was designed with the following goals:
- Fully autonomous monetary policy
- No governance control
- Deterministic economic rules
- Strong arbitrage stabilization
- Oracle failure resilience
- Permissionless operation
The protocol behaves as a self-contained economic machine.
All contracts are immutable. No admin keys. No upgrade paths. After vault linking both token and controller are permanently latched.
| Contract | Address |
|---|---|
| SunPLS Token v1.3 | 0x04b37fa64a8d73a37D636608e5F6F8E5ce1541Aa |
| SunPLSOracleV2 v1.2 | 0xc8B4d7d885D41826CB46376676638449332aeA87 |
| ProjectUSDController v4.3 | 0x0e736966F6d0dCd41acd575c3dDece3b3B6033A7 |
| SunPLSVault v1.4 | 0x6521899F840847de88E87A121447FfB7b5aF9aF0 |
| SunPLS/WPLS PLP Pair | 0xca46e01F4bF6938e8d8b8d22a570fFE96E9F0b19 |
Network: PulseChain (Chain ID 369)
⚠️ Prior deployments (v1.2, v1.3) exist on-chain. v1.2 contained an inverted oracle price formula and is non-functional. v1.3 has been superseded by v1.4 which lowers the redemption eligibility threshold from 150% to 130% and adds on-chain vault enumeration. The v1.4 addresses above are the canonical live system.
1. Deploy SunPLS Token — constructor mints 1000 SUNPLS to deployer
2. Seed PulseX WPLS/SunPLS pair
3. Deploy Oracle — reads live pair
4. Deploy Controller — _initialR = oracle.lastPrice()
5. Deploy Vault
6. token.setVault(vault) — permanent latch, one-time only
7. controller.setVault(vault) — permanent latch, one-time only
After step 7 the system is fully autonomous. No further deployer action is possible or required.
SunPLS is an experimental implementation of the ProjectUSD architecture.
The protocol is intended for:
- research
- experimentation
- economic modeling
- protocol design exploration
CC-BY-NC-SA-4.0
SunPLS is experimental software provided for research and educational purposes.
No guarantees are made regarding financial stability, economic behavior, or security.
Use at your own risk.
SunPLS was developed following the ProjectUSD autonomous stable asset specification, which provided the architectural framework, safety invariants, and P/R/r feedback model used to construct the protocol.
ProjectUSD specification: https://github.com/Aqua75/ProjectUSD
The intellectual lineage traces from Hayek's 1976 Denationalisation of Money through the ProjectUSD specification to this implementation. The spec author and ELITE TEAM6 arrived at compatible conclusions independently — the spec from first-principles reasoning about trustless monetary architecture, the implementation from practical CDP building experience on PulseChain. Notably, the spec author was aware of Hayek but did not realize until later how precisely the specification reproduced his conclusions. This is corroboration, not citation — three independent lines of reasoning converging on the same architecture across 50 years.