Skip to content

zkNOCTIS/NOCTIS

Repository files navigation

NOCTIS

A zero-knowledge privacy protocol for the NOCTIS token on Base. Deposit NOCTIS into a shielded pool and withdraw to any address - breaking the on-chain link between sender and receiver.

How It Works

  1. Deposit: Deposit NOCTIS tokens → receive a private "note" containing your secret keys
  2. Withdraw: Generate a ZK proof proving you own a valid note → withdraw to any address
  3. Privacy: The ZK proof reveals nothing about which deposit you're spending. Deposits and withdrawals are completely unlinkable.

Tech Stack

  • Smart Contracts: Solidity + Foundry
  • ZK Proofs: Groth16 via circom/snarkjs
  • Hash Function: Poseidon on BN254 (alt_bn128)
  • Merkle Tree: 20 levels
  • Chain: Base

Architecture

User deposits NOCTIS
        ↓
   ┌─────────────┐
   │ BalanceVault │ ← Stores commitment in Merkle tree
   └─────────────┘
        ↓
User receives Note (spendingKey, randomness)
        ↓
User generates ZK proof in browser
        ↓
   ┌─────────────┐     ┌──────────────┐
   │ BalanceVault │ ──→ │   Verifier   │ ← Validates proof
   └─────────────┘     └──────────────┘
        ↓
NOCTIS sent to recipient (no link to deposit)

Contracts

Contract Address
NOCTIS Token 0xdb9446b980e6765B0f90f355eB761936BB466b07
Privacy Vault (NOCTIS) 0x4648A39170863c6E1E3892187f63B8889Fc30d61
Privacy Vault (ETH) 0x05D1cc939b2F8528eF5b7d9C09A653a9119d28f5
Verifier 0x48f8aBbf907A378d39ADc3B54773dB57abba9e17
Treasury 0x413e62A6FDFe4DaAf71b10d1B23D0a57BFb21330

All contracts deployed on Base

Security

  • Notes are bearer assets - anyone with the note can withdraw
  • Back up your notes - lost notes = lost funds
  • Secrets stay client-side - spending keys never touch the blockchain

Why NOCTIS?

NOCTIS is the only token on Base with native ZK privacy. To use the privacy vault, you must hold NOCTIS - creating natural demand from anyone seeking private transactions.

Future utility:

  • Pay fees in NOCTIS for multi-token privacy (ETH, USDC)
  • Staking rewards for liquidity providers
  • Governance over protocol parameters

Roadmap

Phase Status Description
1 Complete ZK privacy vault with Groth16 proofs and Poseidon hashing, enabling fully private NOCTIS transfers on Base
2 Complete Native ETH privacy vault with 0.5% deposit fee
3 Planned Multi-token privacy pools supporting USDC, USDT, and more
4 Planned Cross-chain privacy bridge enabling private transfers across multiple networks

Links

License

BUSL-1.1 - see LICENSE for details.


NOCTIS - Privacy for the people

About

ZK privacy protocol implemented with Groth16 proofs and Poseidon hashing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors