One token. Every chain. All the yield.
PolyLiquid bundles stETH + rETH + sAVAX into a single ERC-4626 vault token (PLY), auto-rebalances with Chainlink oracles, and glides across chains through Chainlink CCIP.
All your LSTs, one dashboard.
| Pain-point |
Details |
| Fragmented liquid-staking tokens |
Users juggle multiple LSTs, each with its own discount/premium and UI. |
| Risky cross-chain moves |
Traditional bridges remain the #1 hack vector and require clunky wrap → bridge → unwrap flows. |
| Manual yield management |
APRs shift minute-to-minute; harvesting and re-staking by hand wastes gas and leaves yield on the table. |
| Opaque collateral |
Holders rarely know if their LSTs are 100 % backed at any given block. |
| How PolyLiquid fixes it |
What we use |
| Single basket token (PLY) holding stETH, rETH, sAVAX |
ERC-4626 vault |
| Always-on auto-compounding toward the best APR |
Chainlink Data Streams + Automation |
| One-click, audited bridging |
Chainlink CCIP router |
| Live collateral checks |
Chainlink Proof-of-Reserves |
| Hedging & no-loss lottery for extra yield and fun |
Polymarket + Chainlink VRF |
Architecture: Vault ↔ Data Streams ↔ Automation ↔ CCIP ↔ Polymarket.
| 💡 |
Feature |
| Unified staking basket |
Deposit once; hold PLY instead of three separate LSTs. |
| Real-time yield chasing |
Re-weights every hour to whichever LST outperforms. |
| Secure cross-chain mobility |
Seamless Fuji ⇄ Sepolia ⇄ Base transfers with CCIP. |
| Proof-backed assurance |
Live “100 %-backed” badge on every network. |
| Interactive yield games |
Free lottery tickets funded by weekly vault yield. |
| Dashboard |
Deposit Flow |
CCIP Modal |
 |
 |
 |
Node >= 16 # 🟢 test on v18
npm > 8 # or yarn / pnpm
1 — Clone & Install
git clone https://github.com/your-org/polyliquid.git
cd polyliquid
npm install
2 — Configure .env
PRIVATE_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SEPOLIA_RPC_URL=https://1rpc.io/sepolia
FUJI_RPC_URL=https://api.avax-test.network/ext/bc/C/rpc
BASE_SEPOLIA_RPC_URL=https://sepolia.base.org
ETHERSCAN_API_KEY=
SNOWTRACE_API_KEY=
BASESCAN_API_KEY=
AUTOMATION_UPKEEP_ID=
VRF_SUBSCRIPTION_ID=
FUNCTIONS_SUB_ID=
3 — Compile • Test • Deploy
npm run compile
npm run test
npm run deploy:fuji # or :sepolia / :base-sepolia
⸻
🌐 Networks
Chain Chain ID Deployed PLY
Avalanche Fuji 43113 0x…
Ethereum Sepolia 11155111 0x…
Base Sepolia 84532 0x…
⸻
📁 Directory Layout
polyliquid/
├── contracts/ # Vault, Router, Lottery, Oracles
├── scripts/ # Deploy & helper scripts
├── test/ # Hardhat + chai tests
├── ignition/ # Hardhat Ignition modules
├── app/ # Next.js + wagmi dashboard
└── hardhat.config.ts
⸻
🛠 Common Scripts
npm run deploy:fuji # Deploy to Fuji
npm run verify:fuji # Verify on Snowtrace
npm run node # Local Hardhat node
npm run size # Contract byte-size checker
⸻
🤝 Contributing
Pull requests welcome—please add tests and run npm run lint before submitting.
📜 License
MIT © 2025 PolyLiquid contributors
## 🛡️ Security
- Never commit your `.env` file or private keys to version control
- Use test networks for development and testing
- Consider using hardware wallets for mainnet deployments