Command Palette

Search for a command to run...

Blog
Next

Building Meridian Finance: Privacy-Preserving Trade Bonds on Stellar

How I designed and built a confidential bond protocol on Stellar using ZK proofs, Poseidon commitments, and Soroban smart contracts.

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