VeilGateOpen app →

Private payments on Stellar

Pay without
leaving a trace.

Groth16 verified on Soroban Freighter wallet</> Open source

Unlinkable by design

Prove, don’t reveal

Blend into the crowd

Recipient-locked

How it works

Three steps. You sign once — the payout is submitted by a relayer, so your account never appears on it.

1

Deposit

Pick a denomination and lock it into the shielded pool with one Freighter signature. A secret note is created on your device.

2

Prove — in your browser

Your browser proves your note is in the pool (Groth16, ~seconds). The secret never leaves the tab.

3

A relayer pays them

The contract verifies the proof on-chain and pays the publisher — submitted by a relayer, not by you. Pay now, or shield and pay later.

What the chain sees vs. what stays hidden

Public on-chain

  • deposit tx → pool (from you)
  • payout tx → publisher (from a relayer)
  • denomination 0.1 XLM (same as everyone)
  • nullifier 0x20fc… (blocks double-spend)
  • proof ✓ valid

Hidden by math

  • who paid whom ████
  • your wallet on the payout ████
  • which deposit funded it ████
  • note secret ████ (never leaves your device)

Honest by design: the denomination is public — VeilGate hides who paid whom, not how much.

Disappear into the crowd.

Real payments on Stellar testnet, verified by zero-knowledge proofs on Soroban.

Connect Freighter to start

No account. No email. Your wallet is your identity.

Running on Stellar Testnet · Proofs are real · Contracts are not audited · Do not use real funds