Skip to main content

Quickstart

Get a local aZKey environment running in minutes and try the OAuth-to-Aztec flow.

Prerequisites

  • Node.js 20+, pnpm installed
  • Google OAuth client (web app) with an authorized redirect URI
  • Optional: Aztec RPC endpoint (Sandbox or Devnet) if you want real contract deployment

Clone & install

git clone https://github.com/812Bucks/aZKey-Solana.git
cd aZKey
pnpm install

Environment

Create .env files for the interface (SvelteKit):

VITE_GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
VITE_GOOGLE_CLIENT_SECRET=your-client-secret
VITE_AZTEC_RPC_URL=http://localhost:8080 # or your Sandbox/Devnet RPC
VITE_REDIRECT_URI=http://localhost:5173/oauth/callback

For SDK-based apps, use:

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
AZTEC_RPC_URL=http://localhost:8080

Run the demo UI

cd apps/interface
pnpm dev
# open http://localhost:5173

Flow to test

  1. Click Sign in with Google.
  2. Approve OAuth; the UI exchanges the code for a JWT.
  3. The client generates a ZK proof, deploys (or recovers) the account contract, and sets a session owner key.
  4. The UI displays the contract address and the session owner key you can use for transactions.

Common commands

pnpm build        # build all packages
pnpm lint # lint
pnpm test # run tests
cd packages/sdk && pnpm build # build SDK only
cd packages/contracts/noir/jwt_account && nargo build # build circuit