Back to projects

Zumpfun

Privacy-first token creation platform on ztarknet

$1,500
Total awarded
Kamal
Builder
Solidity TypeScript Noir

Awards

The problem it solves

ZumpFun: Privacy-Preserving Meme Coin Launchpad

ZumpFun solves critical privacy and fairness issues in meme coin launches:

Privacy Problems Solved:

  • Visible Trading Activity: On traditional platforms like Pump.fun, everyone can see who’s buying, how much, and when—leading to front-running and whale manipulation. ZumpFun uses Noir ZK proofs with Pedersen commitments to hide contribution amounts completely.
  • Identity Exposure: Creators and early contributors are publicly linked to tokens, exposing them to doxxing and targeted attacks. ZumpFun enables anonymous contributions while proving eligibility via zero-knowledge Merkle proofs.
  • Whale Tracking: Large holders are easily identified and manipulated. ZumpFun’s nullifier system prevents tracking of individual trading patterns.

Use Cases:

  1. Launch tokens anonymously without revealing creator identity
  2. Contribute to launches privately - amount hidden via ZK commitments
  3. Fair price discovery via sigmoid bonding curve (same mechanics as Pump.fun)
  4. Automatic DEX graduation at 800M tokens → Ekubo AMM
  5. Selective disclosure - reveal only what you choose (e.g., prove you contributed $1000+ without showing exact amount)

Tech Stack: Cairo smart contracts + Noir circuits + Garaga on-chain verification on Ztarknet

Challenges we ran into

  1. Noir’s New map API Breaking 45+ Tests

The biggest hurdle was Noir’s transition from the old HashMap API to the new functional BTreeMap with map() method. Every circuit test failed because map no longer took a closure the same way.

Solution: Rewrote all 45+ instances to use the new pattern: // Old (broken) let result = items.map(|x| transform(x));

// New (working) let result = items.iter().map(transform).collect();

  1. Garaga Integration Complexity

Garaga’s on-chain verifier requires Ultra KZG Honk proofs with specific formatting. The Barretenberg prover output didn’t match Garaga’s expected input format initially.

Solution: Used garaga gen —system ultra_kzg_honk to generate Cairo verifier code directly from our Noir circuits, ensuring compatibility.

  1. Ztarknet Devnet Connectivity

The Ztarknet devnet at ztarknet-madara.d.karnot.xyz had intermittent connection issues and required specific Madara-compatible transaction formats.

Solution: Created deployment scripts with retry logic and proper fee estimation for the Madara stack.

  1. Cairo 2.14 Migration

Had to migrate from older Cairo syntax to Cairo 2.14’s stricter type system, particularly around ByteArray and storage handling.

Solution: Updated all contracts to use proper felt252 conversions and the new #[storage] macro syntax.

Gallery