Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
217 lines (194 loc) · 8.47 KB
/
Copy path.env.example
File metadata and controls
217 lines (194 loc) · 8.47 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
# =============================================================================
# Creative TV – Environment variables template
# Copy to .env.local and fill in values. On Vercel, set these in Project Settings.
# =============================================================================
# --- Core (required by config/index.ts) ---
NEXT_PUBLIC_ALCHEMY_API_KEY=
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
LIVEPEER_API_KEY=
# --- Livepeer (server routes prefer LIVEPEER_FULL_API_KEY; view metrics fall back to LIVEPEER_API_KEY if unset) ---
# View counts: Studio key must have Viewers/Data API access. On Vercel production, set LIVEPEER_FULL_API_URL
# to https://livepeer.studio (or leave unset). Smoke test: GET /api/livepeer/views/<playbackId>
LIVEPEER_FULL_API_KEY=
LIVEPEER_FULL_API_URL=https://livepeer.studio
LIVEPEER_API_URL=https://livepeer.studio
LIVEPEER_WEBHOOK_ID=
# --- Privy (signer migration) ---
NEXT_PUBLIC_PRIVY_APP_ID=
NEXT_PUBLIC_PRIVY_CLIENT_ID=
# Used for Alchemy→Privy migration OAuth redirects (defaults to VERCEL_URL or localhost)
NEXT_PUBLIC_URL=
# --- Alchemy ---
NEXT_PUBLIC_ALCHEMY_PAYMASTER_POLICY_ID=
NEXT_PUBLIC_ALCHEMY_RPC_URL=
NEXT_PUBLIC_BASE_RPC_URL=
# Lens Chain — Alchemy quickstart: https://www.alchemy.com/docs/reference/lens-api-quickstart
# Default (no NEXT_PUBLIC_LENS_ENV): Lens Sepolia testnet (37111, GRASS) via NEXT_PUBLIC_ALCHEMY_API_KEY
# → https://lens-sepolia.g.alchemy.com/v2/<key>
# Production: NEXT_PUBLIC_LENS_ENV=production → mainnet (232, GHO); same key if Lens mainnet is on your Alchemy app
# → https://lens-mainnet.g.alchemy.com/v2/<key> (else falls back to https://rpc.lens.xyz)
# Optional full URL override: NEXT_PUBLIC_LENS_RPC_URL=
NEXT_PUBLIC_LENS_ENV=
NEXT_PUBLIC_LENS_RPC_URL=
ALCHEMY_SWAP_PRIVATE_KEY=
NEXT_PUBLIC_ANYTOKEN_POLICY_ID=
# --- Goldsky (subgraphs) ---
GOLDSKY_PROJECT_ID=
GOLDSKY_API_KEY=
GOLDSKY_REALITY_ETH_PROJECT_ID=
# --- Reality.eth / Kleros (Base) ---
# Arbitrator proxy for new questions and evidence. Defaults to Kleros Oracle court if unset.
# Oracle: 0x05295972F75cFeE7fE66E6BDDC0435c9Fd083D18 | Precog: 0xd04f24364687dBD6db67D2101faE59e91a6e605B
# Any other Reality.eth-compatible proxy (product-specific deployments) — set the contract address here.
# NEXT_PUBLIC_REALITY_ETH_ARBITRATOR=
# --- Graph Studio (merged creative-platform subgraph — production primary) ---
# studio (default) | goldsky (rollback) | dual
SUBGRAPH_PROVIDER_MODE=studio
# Full query URL, e.g. https://gateway.thegraph.com/api/<query-key>/subgraphs/id/<deployment-id>
GRAPH_STUDIO_CREATIVE_PLATFORM_URL=
# Deploy key used by scripts/graph-studio/deploy-creative-platform.sh
GRAPH_STUDIO_DEPLOY_KEY=
# Optional: Studio subgraph slug if not exactly "creative-platform" (e.g. myteam/creative-platform)
# GRAPH_STUDIO_SUBGRAPH_SLUG=
# --- Supabase (optional for scripts) ---
SUPABASE_DB_PASSWORD=
DATABASE_URL=
# --- Story Protocol ---
NEXT_PUBLIC_STORY_NETWORK=testnet
# Alchemy supports Story mainnet RPC (story-mainnet.g.alchemy.com); set to use Alchemy for Story.
NEXT_PUBLIC_STORY_ALCHEMY_API_KEY=
# Alchemy Gas Manager policy for Story (mainnet 1514 / testnet 1315); when set, gas can be sponsored on Story.
NEXT_PUBLIC_STORY_POLICY_ID=
STORY_ALCHEMY_API_KEY=
STORY_RPC_URL=
STORY_PROTOCOL_PRIVATE_KEY=
FACTORY_OWNER_PRIVATE_KEY=
NEXT_STORYSCAN_API_KEY=
STORY_TEST_ACCOUNT=
FACTORY_ADDRESS=
DEPLOYER_PRIVATE_KEY=
FACTORY_OWNER=
DEFAULT_CONTRACT_URI=
DEFAULT_ROYALTY_RECIPIENT=
DEFAULT_ROYALTY_BPS=
DEFAULT_PLATFORM_FEE_RECIPIENT=
DEFAULT_PLATFORM_FEE_BPS=
TRUSTED_FORWARDERS=
# Story API base URL (rebrand resilience — Story Protocol → DATA Foundation)
STORY_API_BASE_URL=https://api.storyapis.com/api/v4
# Creative Platform app URLs (for cross-platform deep-links from video pages)
NEXT_PUBLIC_CREATIVE_PIXELS_URL=https://create.creativeplatform.xyz
NEXT_PUBLIC_MIXTAPE_URL=https://air.creativeplatform.xyz/app
# --- Coinbase CDP (onramp/offramp) ---
COINBASE_CDP_API_KEY_ID=
COINBASE_CDP_API_KEY_SECRET=
# --- Livepeer access control (signed playback) ---
ACCESS_CONTROL_PRIVATE_KEY=
NEXT_PUBLIC_ACCESS_CONTROL_PUBLIC_KEY=
# --- IPFS / storage ---
# Primary uploads use Lens Grove (@lens-chain/storage-client).
NEXT_PUBLIC_IPFS_GATEWAY=https://api.grove.storage/ipfs
NEXT_PUBLIC_FILECOIN_FIRST_API_KEY=
NEXT_PUBLIC_ENABLE_FILECOIN_ARCHIVAL=
# Storacha/web3.storage backup removed from IPFSService (deprecated); keys unused.
# --- App URL (for server-side redirects / webhooks; Vercel sets VERCEL_URL) ---
NEXT_PUBLIC_APP_URL=
# --- Orb (@orbclub/modules) — parallel sovereign auth + media ---
# Package defaults (browser-direct): orbapi.xyz init/poll + api.lens.xyz/graphql.
# App defaults (this repo): same-origin /api/auth/orb/qr/* proxies to avoid CORS.
# Suggested env names (Orb docs) use NEXT_PUBLIC_ for client-side createOrbLogin().
# Legacy NEXT_PUBLIC_ORB_* names are still supported.
NEXT_PUBLIC_LENS_GRAPHQL_URL=
NEXT_PUBLIC_QR_INIT_URL=
NEXT_PUBLIC_QR_POLL_URL=
NEXT_PUBLIC_ORB_QR_INIT_URL=
NEXT_PUBLIC_ORB_QR_POLL_URL=
NEXT_PUBLIC_MEDIA_GATEWAY=
NEXT_PUBLIC_ORB_MEDIA_GATEWAY=
NEXT_PUBLIC_LENS_GATEWAY=
NEXT_PUBLIC_ORB_LENS_GATEWAY=
NEXT_PUBLIC_ARWEAVE_GATEWAY=
NEXT_PUBLIC_ORB_ARWEAVE_GATEWAY=
NEXT_PUBLIC_GROVE_API_URL=
# --- Songchain (Lens feeds + group on /songchain) ---
# Use NEXT_PUBLIC_* for client bundles; server-only aliases also work at runtime on /songchain.
NEXT_PUBLIC_SONGCHAIN_FEED_ID=
NEXT_PUBLIC_SONGCHAIN_EXCLUSIVE_FEED_ID=
NEXT_PUBLIC_SONGCHAIN_GROUP_ID=
# SONGCHAIN_FEED_ID=
# SONGCHAIN_EXCLUSIVE_FEED_ID=
# SONGCHAIN_GROUP_ID=
# Halliday Payments SDK — https://docs.halliday.xyz/pages/payments-sdk-docs
NEXT_PUBLIC_HALLIDAY_API_KEY=
# HALLIDAY_API_KEY=
# Optional: fiat inputs for onramp (default usd). Comma-separated, lowercase symbols.
# NEXT_PUBLIC_HALLIDAY_INPUT_ASSET=usd,eur
# Optional: full output asset id (chain:address), e.g. lens:0x000000000000000000000000000000000000800a
# NEXT_PUBLIC_HALLIDAY_OUTPUT_ASSET=
# Optional chain slug if Halliday uses a different id (defaults: lens / lens-testnet)
# NEXT_PUBLIC_HALLIDAY_CHAIN_SLUG=
# NEXT_PUBLIC_HALLIDAY_SANDBOX=true
# Optional token override when building output asset
# NEXT_PUBLIC_HALLIDAY_DESTINATION_TOKEN=
# --- Chones (Lens feeds + group on /chones) ---
NEXT_PUBLIC_CHONES_APP_ID=
NEXT_PUBLIC_CHONES_FEED_ID=
NEXT_PUBLIC_CHONES_EXCLUSIVE_FEED_ID=
NEXT_PUBLIC_CHONES_GROUP_ID=
NEXT_PUBLIC_CHONES_GRAPH_ID=
# --- HACKATHON BETA event (/chones/hack-beta) ---
NEXT_PUBLIC_HACK_BETA_APP_ID=
NEXT_PUBLIC_HACK_BETA_FEED_ID=
NEXT_PUBLIC_HACK_BETA_EXCLUSIVE_FEED_ID=
NEXT_PUBLIC_HACK_BETA_GROUP_ID=
NEXT_PUBLIC_HACK_BETA_GRAPH_ID=
# Mixtape playlist URL is set by admins in-app (hack_beta_settings), not via env.
# --- Optional / feature flags ---
NEXT_PUBLIC_STACK_API_KEY=
NEXT_PUBLIC_LENS_ENV=
NEXT_PUBLIC_REOWN_PROJECT_ID=
NEXT_PUBLIC_SNAPSHOT_API_KEY=
NEXT_PUBLIC_CERAMIC_NODE_URL=
NEXT_PUBLIC_ORBIS_NODE_URL=
NEXT_PUBLIC_ORBIS_ENVIRONMENT_ID=
NEXT_PUBLIC_ORBIS_ASSET_METADATA_MODEL_ID=
NEXT_PUBLIC_ORBIS_CRTV_CONTEXT_ID=
NEXT_PUBLIC_ORBIS_CRTV_VIDEOS_CONTEXT_ID=
NEXT_PUBLIC_ORBIS_METOKEN_MODEL_ID=
NEXT_PUBLIC_ORBIS_METOKEN_CONTEXT_ID=
NEXT_PUBLIC_GATEWAY_URL=
PINATA_JWT=
STREAM_KEY=
# --- Cron / internal API ---
CRON_SECRET=
# --- Creative TV Platform API (partner apps, admin bypass, x402 agents) ---
# Generate keys locally: pnpm tsx scripts/generate-platform-api-key.ts --tier partner --id mixtape
PLATFORM_API_ACCESS_ENABLED=
CREATIVE_PLATFORM_ADMIN_API_KEYS=
CREATIVE_PLATFORM_PARTNER_API_KEYS=
# USDC recipient on Base for x402 agent payments
X402_API_RECIPIENT=
# Prices in USDC base units (6 decimals). 10000 = $0.01
X402_PLAYBACK_RESOLVE_PRICE=10000
X402_PUBLISHED_LIST_PRICE=25000
X402_PLAYBACK_INFO_PRICE=50000
X402_VIEWS_METRICS_PRICE=50000
X402_DEFAULT_PRICE=10000
# --- Scripts / Paragraph ---
PARAGRAPH_API_KEY=
# --- XMTP chat ---
# XMTP network: 'production' (default) | 'dev' | 'local'
# Must match XMTP_ENV used by scripts/xmtp-moderation-worker.ts
NEXT_PUBLIC_XMTP_ENV=production
# Bot inbox ID emitted by xmtp-moderation-worker on first boot
NEXT_PUBLIC_MODERATION_BOT_INBOX_ID=
# --- EAS Upload Attestation (Base mainnet) ---
# Run: npx tsx scripts/eas/register-upload-schema.ts
# It outputs NEXT_PUBLIC_EAS_UPLOAD_SCHEMA_UID and EAS_CONTRACT_ADDRESS_BASE.
NEXT_PUBLIC_EAS_UPLOAD_SCHEMA_UID=
NEXT_PUBLIC_EAS_CONTRACT_ADDRESS=0x4200000000000000000000000000000000000021
NEXT_PUBLIC_EAS_SCHEMA_REGISTRY_ADDRESS=0x4200000000000000000000000000000000000020
# Alchemy Gas Manager policy ID that sponsors attestation gas (ERC-4337 UserOp).
NEXT_PUBLIC_ATTESTATION_SPONSORED_POLICY_ID=