Prove anything. Reveal nothing.
Hold a credential from a trusted issuer, generate an UltraHonk zero-knowledge proof locally, and verify your claim on Stellar — without the underlying data ever touching the chain.
Protocol
How StellarCred works
01
Issue
A trusted issuer signs a credential to your wallet. It lives on your device — never on a server.
02
Prove
Generate a zero-knowledge proof locally in your browser. Only the claim leaves; the data behind it never does.
03
Verify
Any Stellar protocol reads ProofRegistry on-chain. One proof, valid across every protocol, for 30 days.
Infrastructure
Verified once. Trusted everywhere.
Any protocol on Stellar can verify your credentials in one contract call. No API. No backend. No re-verification.
// Any Stellar protocol
import { StellarCred } from "@stellarcred/sdk";
const canDeposit = await StellarCred.hasClaim(wallet, "kyc");Flows
Two ways to get verified
Verify directly
Visit StellarCred before using any app. Your credentials work everywhere, instantly.
Verify through an app
Apps that integrate StellarCred show a “Verify” button. Complete verification and return automatically.
Developers
Built for developers
01
Require a claim
stellarcred.hasClaim(
wallet, 'kyc'
)02
Redirect if needed
StellarCred.buildVerifyUrl({
returnUrl,
claim: 'kyc'
})03
User returns verified
On-chain proof, read in one call. No backend needed.
Ready to try it?
Connect a Freighter wallet on testnet, get a credential, generate your first on-chain ZK proof in under a minute.