Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
35 lines (29 loc) · 1.54 KB
/
Copy path.env.example
File metadata and controls
35 lines (29 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Copy to .env.local for local dev. In production these are set as Vercel
# project secrets — never committed.
# --- Starknet mainnet ---
STARKNET_RPC_URL=https://rpc.starknet.lava.build:443/rpc/v0_9
STARKNET_CHAIN_ID=0x534e5f4d41494e
STRK20_POOL_ADDRESS=0x040337b1af3c663e86e333bab5a4b28da8d4652a15a69beee2b677776ffe812a
# Prova's operating account (pays gas for its own on-chain actions:
# declaring/deploying ProvaPass, creating demo campaigns, AND relaying every
# /api/claim transaction — claim is gasless for the recipient specifically
# because this account sponsors it). Separate from any user's shielded
# wallet. Missing either of these makes /api/claim fail every single claim
# with a clean 503 "operator_not_configured" (see src/app/api/claim/route.ts)
# — it will not partially lock or consume a pass first.
STARKNET_ACCOUNT_ADDRESS=
STARKNET_PRIVATE_KEY=
# --- ProvaPass contract (filled in after deploy) ---
PROVA_PASS_CONTRACT_ADDRESS=
PROVA_PASS_CLASS_HASH=
# Attester keypair: the STARK keypair whose public key is baked into the
# ProvaPass contract at deploy time. The server signs predicate attestations
# with the private half; anyone can verify with the public half on-chain.
# This is the documented trust boundary until note-level ZK proofs replace it
# (see README "What is private / what is not").
PROVA_ATTESTER_PRIVATE_KEY=
PROVA_ATTESTER_PUBLIC_KEY=
# --- Neon Postgres (public metadata only: campaigns, passes, nullifiers) ---
DATABASE_URL=
# --- Admin trigger auth (protects one-shot mainnet-action API routes) ---
PROVA_ADMIN_TOKEN=