Trade syntheticswith FHE encrypt
The first DeFi protocol where your collateral, leverage, and position size are encrypted using Fully Homomorphic Encryption — while compliance rules are enforced on ciphertext. Nobody sees your trade.
Identity governs access.
Proof governs terms.
ZK Identity Gate
Your KYC is proven with a zero-knowledge proof. No documents, no wallet linkage — just a verified claim from a trusted oracle. The circuit constrains your credit score to a tier, and the proof is validated on-chain without revealing any personal data.
Tiered Leverage
Your accreditation level governs your leverage cap. Basic KYC unlocks 2x. Accredited Investor unlocks 5x. Premium unlocks 8x. Institutional unlocks 10x. The vault contract enforces it atomically — not an admin.
USDC Collateral
Deposit USDC, mint synthetic exposure to sAAPL, sTSLA, sNVDA, and sSPY. All positions are backed by real-time API-sourced price feeds. In production, position data is encrypted using Zama's FHE.
FHE Encrypted
Built on Zama's Fully Homomorphic Encryption protocol. Your collateral, leverage, and position size can be encrypted as ciphertexts on-chain — compliance rules are enforced without ever decrypting. Nobody sees your trade.
Three steps.
Zero documents on-chain.
1// Request signed credential from oracle2const credential = await fetch("/api/kyc/issue", {3 method: "POST",4 body: JSON.stringify({ address: wallet })5}).then((r) => r.json())67// { tier, creditScore, expiry, nonce, sigR8x, sigR8y, sigS }
The numbers
that matter.
Built on Zama.
Powered by the ecosystem.
Every component integrates natively with Zama's fhEVM and the Ethereum ecosystem.
Identity without
exposure.
Ztocks was designed from the ground up around ZK principles. Your identity gates your access — but nothing about your identity ever appears on-chain.
ZK Proof Privacy
Wallet activity is not linkable to real identity. The ZK proof reveals only your tier number — nothing else. No name, no passport, no address.
No Document Storage
Raw KYC documents never touch the protocol. The oracle verifies off-chain and issues a signed credential. You submit only a zero-knowledge proof to the contract.
Wallet-bound Credential
Oracle credentials are wallet-bound via signed fields and nullifier checks. Proof replay is blocked on-chain, and tier is bound to the submitting wallet.
Regulatory Forward
ZK identity gating satisfies the core FATF Travel Rule requirement: verify customer eligibility without storing their personal data on-chain.
Composable by
design.
Every component of Ztocks is modular and open. The zk verifier, vault, and oracle adapter are each independently deployable and auditable.
TypeScript native
Full type safety with auto-generated contract types.
Sepolia-ready
Runs on Sepolia with viem/wagmi + RainbowKit.
Circom circuits
Pre-built ZK circuits for tier verification.
Atomic enforcement
Tier cap enforced at the EVM level, no backend.
import { createPublicClient, http } from "viem"import { sepolia } from "viem/chains"import { CONTRACTS } from "@/lib/contracts"import { ZK_VERIFIER_ABI } from "@/lib/abis"const client = createPublicClient({chain: sepolia,transport: http(process.env.NEXT_PUBLIC_RPC_URL)})// Read verified tier + expiry from ZKVerifierconst [tier, expiry] = await client.readContract({address: CONTRACTS.ZKVerifier,abi: ZK_VERIFIER_ABI,functionName: "getTier",args: [wallet]})