03InvestorsProving eligibility
Prove where you live.Reveal nothing else.
A hosted identity check, then a zero-knowledge proof of residence verified on Stellar.
To invest in a Reg S raise, an investor shows they live outside the United States, once, without putting their identity on a public ledger. They pass a hosted identity check; dvdnd turns the verified country into a private credential; their browser proves a fact about that credential with a zero-knowledge proof; and a Stellar contract verifies the proof.
Recorded on Stellar testnet
- 01Identity check at DiditID document, a live selfie and a face match, tied to the investor's Stellar address. It works with any Stellar wallet, without a second wallet or an EVM account.
- 02Credential issuedThe browser picks a random secret and sends only its Poseidon hash. dvdnd's server reads Didit's decision, takes the country of residence, screens the wallet against OFAC's sanctions list, and adds the leaf
Poseidon(country, expiry, Poseidon(secret))to the gate contract's Merkle tree. One credential per ID document. - 03Private proof in the browserA Groth16 proof that the leaf is in the tree, the country isn't the US or a sanctioned country, the credential hasn't expired, plus a nullifier so one credential registers only one wallet. The secret never leaves the device.
- 04Verified on StellarThe gate contract checks the proof with Stellar's BN254 host functions and marks the wallet eligible for 365 days. Didit's copy of the check is then deleted.
Recorded on Stellar testnet
On-chain
gate.verify_and_registerchecks the root is one of the last 30, the time input is within ten minutes of the ledger, the nullifier is unused and the address hash matches the caller, then runs one pairing check.- The tree uses Stellar's Poseidon host function and has depth 16. A verification costs about 30M CPU instructions.
- The proving key comes from a recorded ceremony: Perpetual Powers of Tau plus a phase 2 closed with a Stellar ledger hash as the beacon.
Legal
- Reg S needs a reasonable basis to believe each buyer is outside the US. The identity check gives that basis; the proof carries it on-chain.
- Any US document or US nationality counts as US residence.
- dvdnd keeps only the country. Didit's session is erased once the proof is registered.