Search projects, hackathons, sponsors and tech

    ← All projects

    KYM-Finance

    KYM-Finance wraps KDA and splits it into tradable principal and yield tokens to maximize returns.

    Demo

    About

    KYM-Finance lets users convert native KDA into an ERC-20 wrapper (wKDA) and then split that wrapped asset into two tradeable pieces: Principal Token (PT): represents the original principal (redeemable at expiry/maturity period). Yield Token (YT): represents the future interest / yield stream. Users can mint PT+YT from wKDA, trade PT and YT independently on a simple mock AMM, claim accumulated yield, or recombine PT+YT to redeem wKDA. Markets are created per wrapped-asset + expiry date (maturity time period) so different expiry buckets can exist in parallel.

    How it's made

    Frontend - Next.js (app router) starter for fast UI development. - Wagmi + Viem for wallet integration and contract calls. - Tailwind + DaisyUI for quick, clean components (Deposit, Split, Swap, Redeem). Smart contracts (Solidity) - WrappedKDA.sol: wrap native KDA into an ERC-20 (wKDA) so the protocol can work with a standard token interface. - KadenaPrincipalToken.sol (PT): ERC-20 that represents principal; only the paired YT contract can mint/burn to keep 1:1 accounting. Has an expiry timestamp. - KadenaYieldToken.sol (YT): ERC-20 that represents yield shares, tracks last-claim times and accrues yield with a simple time-based formula for the MVP; supports mintPY, redeemPY, and claimYield. Uses ReentrancyGuard and SafeERC20 patterns. - YieldSplitterFactory.sol: deploys and registers PT/YT pairs per (SY, expiry) so markets are discoverable and isolated. - SimpleAMM.sol: minimal constant-product AMM (0.3% fee) to swap PT ↔ YT and add liquidity. Reads KDA/USD from a DIA oracle for price reference. Tooling & deployment - Hardhat + ethers (TypeScript) for compile & deploy scripts. - OpenZeppelin libs for ERC-20, Ownable, SafeERC20. - Example deploy flow: deploy WrappedKDA, deploy YieldSplitterFactory, create a market (expiry), then deploy AMM pointing to the new PT/YT pair. Network config and private key stored in env for testnet deploys. MVP shortcuts & notable choices - Mock yield: YT uses an on-chain accrual formula and simulated yield reserves so features can be demoed without integrating a lending protocol. Swap in a real yield source later. - Mock AMM: constant-product AMM is easy to reason about and fast to implement for trading YT/PT during the hackathon. Dev flow (user perspective) 1. Deposit native KDA → receive wKDA. 2. Approve wKDA and call mintPY → receive PT + YT. 3. Trade PT / YT on the AMM or hold YT to accrue/claim yield. 4. Redeem PT+YT (or at expiry) to get back wKDA, then unwrap to native KDA.