Command Palette

Search for a command to run...

Meridian Finance

Meridian Finance

02.2026 – 06.2026

StellarSorobanGroth16ZK ProofsPoseidonNext.jsTailwind CSSNode.jsMongoDB
Privacy-preserving on-chain trade bond protocol built on Stellar. - Confidential bond lifecycle (draft → pending → live → settled) using Poseidon-based Merkle commitments. - Groth16 ZK credential signing with on-chain verification replacing OTP flows. - Selective disclosure via Merkle proofs for verifiable claims without exposing full trade data.

What I learned

Poseidon hash trees, Groth16 ZK proofs, Soroban smart contracts on Stellar, selective disclosure via Merkle proofs

The Vision

The Bond Lifecycle

Meridian Finance uses a 4-stage bond lifecycle:

Draft → Pending → Live → Settled

Each transition is governed by Poseidon-based Merkle commitments stored on-chain, with the full bond data encrypted off-chain.

Zero Knowledge: Groth16 Credential Signing

We replaced traditional OTP flows with Groth16 ZK credential signing:

  • Credentials are signed off-chain
  • Verification happens on-chain via Soroban
  • Non-repudiation is guaranteed without revealing identity

Selective Disclosure via Merkle Proofs

The Stack

  • Stellar / Soroban — smart contracts
  • Groth16 — ZK proof system
  • Poseidon hash — ZK-friendly Merkle commitments
  • Next.js — frontend dApp
  • Node.js + MongoDB — backend and off-chain storage
  • Wallet Adapter — wallet auth

What I'd Do Differently