Slice

  • Client

    Slice Protocol

  • Technologies

    Next.js 15 (App Router), React 19, Wagmi v2 / Viem

  • Links
Slice project screenshot

Overview

A decentralized dispute resolution protocol on Base and Scroll, utilizing a cryptographic commit-reveal voting engine for trustless arbitration.

Technologies

  • Next.js 15 (App Router)
  • React 19
  • Wagmi v2 / Viem
  • Privy (Auth & Embedded Wallets)
  • TanStack Query
  • IPFS / Pinata
  • Base / Scroll

Key Features

  • Thick Client architecture handling complex crypto logic
  • Commit-Reveal voting scheme to prevent on-chain vote copying
  • Decentralized evidence storage using IPFS and CIDs
  • Multi-chain compatibility (Base and Scroll)
  • USDC staking and automated juror matchmaking
  • Comprehensive debugging tools for network state

Challenges & Solutions

Cryptographic Voting Fairness

To prevent jurors from copying votes, I implemented a client-side Commit-Reveal scheme. The app locally generates a random salt, hashes it with the vote, and submits the commitment, ensuring secrecy until the reveal phase.

Critical State Persistence

Since the "salt" is required to reveal a vote and claim rewards, losing it would be catastrophic. I built a robust persistence layer using local storage to ensure data survives page reloads and session changes.

Hybrid Data Availability

Designed a flow where dispute evidence is uploaded to IPFS via Pinata for transparency, while the smart contract only stores the lightweight Content Identifier (CID) to optimize gas costs.

My Role

Lead Web3 Engineer responsible for the frontend architecture, cryptographic state management, and the integration of Wagmi/Viem for seamless smart contract interactions.

Results

Successfully deployed a censorship-resistant court system that enables users to resolve conflicts without centralized intermediaries, featuring a modern, high-performance UI powered by Next.js 15 and React 19.