-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
98 lines (79 loc) · 5.06 KB
/
.env.example
File metadata and controls
98 lines (79 loc) · 5.06 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Site Configuration
# For production, set this to your deployed Vercel URL
NEXT_PUBLIC_SITE_URL=https://your-project.vercel.app
# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://dbwcikpfifutkspdnfo.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRid2Npa3BmaWZ1dGtzcGRuZm8iLCJyb2xlIjoiYW5vbiIsImlhdCI6MTcxMjYzODE4NSwiZXhwIjoyMDI4MjE0MTg1fQ.qszIk-tklDpkbRINze18H2Yr-NJXHMMNuVPTbkJLoSuA
DATABASE_URL=postgresql://postgres:password@db-host:5432/postgres
# OpenAI
OPENAI_API_KEY=your-openai-api-key
# ─── Fal.ai ───────────────────────────────────────────────────────────────────
# API key from https://fal.ai/dashboard/keys
# Used for generating AI artwork for NFT certificates of authenticity
FAL_KEY=your-fal-api-key
# ─── HeyGen (StoryMode video generation) ─────────────────────────────────────
# API key from https://app.heygen.com/settings/api-keys
# Used by /api/storymode/generate to produce cinematic product origin videos
HEYGEN_API_KEY=your-heygen-api-key
# Verification proxy target
# Set this to the active verification backend you control.
# Example: https://qron.space/api/verify
VERIFY_API_URL=
# Optional analytics forwarding URL
ANALYTICS_API_URL=
# Optional local QR fallback (requires public/jsQR.js)
NEXT_PUBLIC_ENABLE_QR_FALLBACK=false
# ─── Stripe ───────────────────────────────────────────────────────────────────
# Use sk_test_... for development, sk_live_... for production
STRIPE_SECRET_KEY=sk_live_or_test_key
# Signing secret from:
# Next.js webhook → Stripe Dashboard → Webhooks → authichain.com/api/stripe/webhook
# License issuer → Stripe Dashboard → Webhooks → authichain-license-issuer.workers.dev/api/license/stripe-webhook
# authichain-automation → https://authichain-automation.undone-k.workers.dev/webhooks/stripe
# For local dev: stripe listen --forward-to localhost:3000/api/stripe/webhook
STRIPE_WEBHOOK_SECRET=whsec_from_stripe_webhook_endpoint
# Live mode price IDs (Stripe Dashboard → Products → select plan → copy Price ID)
# When set, /pricing uses /api/checkout (attaches userId for D1 subscription tracking).
# When unset, pricing page falls back to hosted Stripe payment links.
NEXT_PUBLIC_STRIPE_PRICE_STARTER=price_live_starter_id_here
NEXT_PUBLIC_STRIPE_PRICE_PRO=price_live_pro_id_here
# Stripe Price IDs — create in Stripe Dashboard → Products
# Starter plan ($299/mo monthly, $239/mo annual)
NEXT_PUBLIC_STRIPE_PRICE_STARTER_MONTHLY=price_starter_monthly_id
NEXT_PUBLIC_STRIPE_PRICE_STARTER_ANNUAL=price_starter_annual_id
# Pro plan ($799/mo monthly, $639/mo annual)
NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLY=price_pro_monthly_id
NEXT_PUBLIC_STRIPE_PRICE_PRO_ANNUAL=price_pro_annual_id
# Used by planFromPriceId() for webhook subscription mapping
NEXT_PUBLIC_STRIPE_STARTER_PRICE_ID=price_starter_monthly_id
NEXT_PUBLIC_STRIPE_PRO_PRICE_ID=price_pro_monthly_id
# Airtable
AIRTABLE_API_KEY=pat_or_api_key
AIRTABLE_BASE_ID=appXXXXXXXXXXXXXX
# Make.com — welcome email webhook (scenario: New Customer Welcome Email)
# Set to: https://hook.us2.make.com/ng1v1ibhopizk5mj2hx4l9w1jzjvnwce
MAKE_WELCOME_WEBHOOK_URL=
# ─── Thirdweb ─────────────────────────────────────────────────────────────────
# Client ID from thirdweb dashboard (safe to expose — used in browser)
NEXT_PUBLIC_THIRDWEB_CLIENT_ID=
# Server-side secret key from thirdweb dashboard (never expose publicly)
THIRDWEB_SECRET_KEY=
# Minter private key used by the /api/nft/mint backend endpoint
# (alias of MINTER_PRIVATE_KEY — either one works)
THIRDWEB_MINTER_KEY=
# ─── NFT / On-chain Certificates ─────────────────────────────────────────────
# Deployed AuthiChainNFT contract address (output of npm run contract:deploy:*)
AUTHICHAIN_NFT_CONTRACT_ADDRESS=
CONTRACT_ADDRESS=0x4da4D2675e52374639C9c954f4f653887A9972BE
# Minter wallet private key — signs on-chain mint transactions from /api/nft/mint
# WARNING: Never commit a real key. Use Vercel/Cloudflare encrypted env vars in production.
MINTER_PRIVATE_KEY=
# RPC endpoint for contract calls (defaults to VeChain MainNet if unset)
# VeChain MainNet : https://mainnet.veblocks.net
# VeChain TestNet : https://testnet.veblocks.net
NFT_RPC_URL=https://mainnet.veblocks.net
# ─── NFT Deployment (Hardhat only — not needed at runtime) ───────────────────
# Private key of the deploying wallet (only required when running contract:deploy:*)
DEPLOYER_PRIVATE_KEY=
# Address to grant minting rights after deployment (typically the MINTER_PRIVATE_KEY address)
MINTER_ADDRESS=