Prove you qualify — privately. Let the XRP Ledger enforce it — natively.
To reach gated things you must prove you qualify — but proving usually means handing over your identity.
No middleman holds your data. No server decides each payment.
Private eligibility, public enforcement.
The privacy layer. Holds a Merkle tree of valid credentials + a policy (e.g. "adult, in CA") and verifies the zero-knowledge proof.
The trusted issuer — a Certificate Authority. Holds an XRPL issuer key. Non-custodial: never touches user funds.
The enforcement layer. Native Credentials + Deposit Authorization, live on mainnet. The ledger blocks or allows.
A nullifier is burned on prove — the same credential can't be used twice.
| 🔒 Private — never on-chain | 🌐 Public — on-chain |
|---|---|
| Birthday, ID, raw KYC data | "A valid proof exists" |
| Which credential / leaf you hold | The XRPL credential (a badge) |
| The underlying eligibility data | The gated payment result |
The gateway sees your address + that a proof exists — not your data. XRPL sees the badge — not why it was granted.
Same payment — blocked one way, allowed the other. The ledger decided, not us.
The Midnight proof (the chain verifies it) and the XRPL enforcement (the ledger verifies the credential). Neither can be faked.
The gateway, to only issue for valid proofs. Risk is false-issuance, not theft — it never holds user funds.
Credentials on XRPL exist. Private proofs on Midnight exist. Wiring them together is the new part.
Midnight × XRPL — Private Credential Gateway
Built solo by Dpac Jones
Shared with the NightSign team · Atlantis · 2026