Anchor Integration
StellarProof is designed to be simple to add, a small integration, not a rebuild. No compliance changes. No risk during migration. Users who already have a credential will skip straight through; everyone else will follow the anchor's current flow untouched, and it can runs alongside an anchor's existing KYC stack from day one.
What the integration will look like
import { StellarProof } from "@stellarproof/sdk";
const sp = new StellarProof({
rpcUrl: "<soroban RPC url>",
networkPassphrase: Networks.PUBLIC,
verifierContractId: "<deployed contract id>",
anchorId: 2,
verificationKey, // enables an instant, free local pre-check
});
const request = sp.requestProof({ minAgeYears: 18, allowedCountry: 76 });
// … the user's wallet returns { proof, publicSignals, issuerId } …
const result = await sp.verify(response, { signer, request });
if (result.ok) grantAccess(result.record);The SDK is designed around two-stage verification: a local snarkjs check will run in single digit milliseconds and cost nothing, rejecting malformed proofs before the anchor spends a transaction. The on chain call will be the authoritative step, because it will be the only thing able to detect a credential being reused to open a second account.
What an anchor gets
Every verification will write an on chain compliance record: which registered issuer, which policy, which proof hash, at what time. Append only, timestamped, publicly auditable, and containing no personal data at all. An anchor's compliance team will get permanent evidence that verification occurred without the anchor ever holding a single raw document.
StellarProof will supply the evidence and infrastructure, not the decision.