Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SinguVault App

Application repo for the SinguVault reward and redemption flow.

Player-facing dApp for AchievementNFT redemption, staking and EULM claim on Sui · Site https://eveuluv.me/ · Demo https://youtu.be/DWrJCcNGC0c

Join the Discord community at https://discord.gg/5bGUfNngHw to report technical issues or share suggestions.

What Is In This Repo

  • dapp/: Vite + React frontend for redeeming approved achievement NFTs, minting stake passes, previewing reward balances, and withdrawing principal.
  • dapp/api/redeem-ticket.ts: Vercel serverless endpoint that validates owned NFTs and issues signed redeem tickets.
  • dapp/src/lib/: RPC, reward profile, wallet integration, and SinguVault client helpers.
  • dapp/.env.example: frontend and Vercel environment variable template.

System Architecture

Hybrid design: on-chain custody for AchievementNFT redemption, StakePass issuance and locked positions; off-chain ticket signer for replay-safe redemption.

graph TB
    subgraph "Upstream"
        Hunt[singuhunt-contracts]
    end
    subgraph "Player"
        Wallet[Sui Wallet]
        NFT[AchievementNFT]
    end
    subgraph "Vercel"
        SPA[Vite + React SPA]
        API[/redeem-ticket API/]
    end
    subgraph "Sui Testnet — singuvault package"
        Vault[singuvault Move Package]
        VaultState[(VaultState shared object)]
        EVE[(EVE Treasury)]
        EULM[(EULM Treasury)]
        Pass[StakePass]
        Position[StakePosition<USDC>]
    end

    Hunt -->|mint| NFT
    NFT --> Wallet
    Wallet --> SPA
    SPA -->|verify ownership + request ticket| API
    API -->|signed redeem ticket| SPA
    SPA -->|redeem_nft_for_eve| Vault
    Vault --> EVE
    SPA -->|redeem_nft_for_stake_pass| Vault
    Vault --> Pass
    Pass -->|activate_stake_pass with SUI+USDC| Position
    Position -->|claim_stake_position after unlock| EULM
    Vault --> VaultState
Loading

Local Development

cd dapp
npm install
npm run dev

Build

cd dapp
npm run build

Environment

  • Copy dapp/.env.example to a local .env when needed.
  • REDEEM_TICKET_PRIVATE_KEY must stay in local or deployment secrets only.
  • Default config values in dapp/src/lib/config.ts are placeholders and should be replaced with deployment-specific values.

Notes

  • The frontend supports four flows: redeem for a reward token, redeem for a stake pass, claim reward balances, and withdraw stablecoin principal.
  • Approved NFT types should be configured through environment variables before deployment.

License

Copyright (c) Eve U Luv Me. All rights reserved. This repository is proprietary and unlicensed for public reuse.

About

SinguVault — frontend application

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages