-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrender.yaml.template
More file actions
597 lines (587 loc) · 22.1 KB
/
Copy pathrender.yaml.template
File metadata and controls
597 lines (587 loc) · 22.1 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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
# Render deployment configuration for Commonality services
# See https://render.com/docs/blueprint-spec
#
# THIS FILE IS A TEMPLATE. Generate render.yaml by running:
# node scripts/generate-render-yaml.mjs [path/to/deployment.env]
# Default env file: deployments/base-sepolia.env
databases:
- name: commonality-indexer-db
plan: basic-256mb
postgresMajorVersion: 16
services:
# CauseStarter's browser-facing, read-only LLM helpers. This process never
# receives the coherence badge private key; chain writes belong to the worker.
- type: web
name: commonality-cause-assist
env: docker
rootDir: .
dockerContext: .
dockerfilePath: cause-assist/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: PORT
value: 3002
- key: XAI_API_KEY
sync: false # Secret
- key: OPENROUTER_API_KEY
sync: false # Optional fallback secret
- key: CAUSE_ASSIST_API_BASE_URL
value: https://api.x.ai/v1
- key: CAUSE_ASSIST_SUGGEST_MODEL
value: grok-4.5
- key: CAUSE_ASSIST_SAFETY_MODEL
value: grok-4.5
- key: CAUSE_ASSIST_IMPLICATION_MODEL
value: grok-4.5
- key: CAUSE_ASSIST_COHERENCE_MODEL
value: grok-4.5
- key: CAUSE_ASSIST_COHERENCE_ATTESTER_ADDRESS
value: "${CAUSE_ASSIST_COHERENCE_ATTESTER_ADDRESS}"
healthCheckPath: /health
autoDeploy: true
plan: starter
# Trusted roster coherence badge writer. This is the only deployed process
# that receives the operator private key; it has no browser-facing endpoint.
- type: worker
name: commonality-coherence-badge-worker
env: docker
rootDir: .
dockerContext: .
dockerfilePath: coherence-badge-worker/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: RPC_URL
sync: false # Secret: Base Sepolia RPC provider URL
- key: CHAIN_ID
value: "84532"
- key: MUTABLE_REF_UPDATER_CONTRACT_ADDRESS
value: "${MUTABLE_REF_UPDATER_CONTRACT_ADDRESS}"
- key: START_BLOCK
value: "${PUBLISHED_DATA_START_BLOCK}"
- key: ALIGNMENT_ATTESTATIONS_CONTRACT_ADDRESS
value: "${ALIGNMENT_ATTESTATIONS_CONTRACT_ADDRESS}"
- key: PUBLISHED_DATA_CONTRACT_ADDRESS
value: "${PUBLISHED_DATA_CONTRACT_ADDRESS}"
- key: CAUSE_ASSIST_COHERENCE_ATTESTER_PRIVATE_KEY
sync: false # Secret: worker only; never add to cause-assist
- key: XAI_API_KEY
sync: false # Secret
- key: CAUSE_ASSIST_COHERENCE_MODEL
value: grok-4.5
- key: CAUSE_ASSIST_IPFS_GATEWAY_URL
value: https://ipfs.io/ipfs
- key: EVENT_CACHE_URL
value: https://commonality-indexer.onrender.com
- key: STATE_FILE
value: /data/coherence-badge-worker.base-sepolia.json
- key: CONFIRMATIONS
value: "12"
- key: BLOCK_RANGE
value: "1000"
- key: POLL_INTERVAL_MS
value: "10000"
disk:
name: commonality-coherence-badge-worker-state
mountPath: /data
sizeGB: 1
autoDeploy: true
plan: starter
# CauseStarter's shipped one-hop trust root. The durable disk holds the scan
# cursor plus operator-edited pause and denylist controls.
- type: worker
name: commonality-alignment-trust-bootstrap
env: docker
rootDir: .
dockerContext: .
dockerfilePath: alignment-trust-bootstrap/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: RPC_URL
sync: false # Secret: Base Sepolia RPC provider URL
- key: CHAIN_ID
value: "84532"
- key: ALIGNMENT_ATTESTATIONS_CONTRACT_ADDRESS
value: "${ALIGNMENT_ATTESTATIONS_CONTRACT_ADDRESS}"
- key: TRUST_REGISTRY_ADDRESS
value: "${TRUST_REGISTRY_ADDRESS}"
- key: ALIGNMENT_TRUST_BOOTSTRAP_PRIVATE_KEY
sync: false # Secret: dedicated funded hot wallet
- key: START_BLOCK
value: "${START_BLOCK}"
- key: STATE_FILE
value: /data/alignment-trust-bootstrap.base-sepolia.json
- key: DENYLIST_FILE
value: /data/denylist.txt
- key: PAUSE_FILE
value: /data/PAUSED
- key: CONFIRMATIONS
value: "12"
- key: BLOCK_RANGE
value: "1000"
- key: POLL_INTERVAL_MS
value: "10000"
- key: BATCH_SIZE
value: "50"
- key: MAX_ADMISSIONS_PER_POLL
value: "100"
disk:
name: commonality-alignment-trust-bootstrap-state
mountPath: /data
sizeGB: 1
autoDeploy: true
plan: starter
# Indexer
- type: web
name: commonality-indexer
env: docker
rootDir: indexer
dockerContext: .
dockerfilePath: Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: PONDER_SCRIPT
value: start
# Ponder 0.15 builds through Vite even in start mode. Render's native file
# watcher limit can otherwise crash startup with EMFILE while watching /app.
- key: CHOKIDAR_USEPOLLING
value: "true"
- key: DATABASE_URL
fromDatabase:
name: commonality-indexer-db
property: connectionString
- key: DATABASE_SCHEMA
value: commonality_base_sepolia_v6
- key: PONDER_EXPERIMENTAL_DB
value: platform
- key: PONDER_CHAIN
sync: false # Set in Render dashboard: base-sepolia or mainnet
- key: PONDER_RPC_URL_84532
sync: false # Secret: RPC provider URL (contains API key)
- key: PONDER_RPC_URL_1
sync: false # Secret: RPC provider URL (contains API key)
- key: PONDER_ETH_GET_LOGS_BLOCK_RANGE
value: 1000
- key: PONDER_RPC_MAX_RESPONSE_BODY_SIZE
value: 0
- key: INDEXER_DEPLOYMENT_MANIFEST
sync: false # Optional JSON manifest for versioned contract deployments
- key: START_BLOCK
sync: false # from-env: START_BLOCK
- key: BELIEFS_CONTRACT_ADDRESS
sync: false # from-env: BELIEFS_CONTRACT_ADDRESS
- key: IMPLICATIONS_CONTRACT_ADDRESS
sync: false # from-env: IMPLICATIONS_CONTRACT_ADDRESS
- key: ACCOUNT_ASSERTIONS_ADDRESS
sync: false # from-env: ACCOUNT_ASSERTIONS_ADDRESS
- key: ASSURANCE_CONTRACT_FACTORY_ADDRESS
sync: false # from-env: ASSURANCE_CONTRACT_FACTORY_ADDRESS
- key: PROJECT_FACTORY_ADDRESS
sync: false # from-env: PROJECT_FACTORY_ADDRESS
- key: ERC1155_FACTORY_ADDRESS
sync: false # from-env: ERC1155_FACTORY_ADDRESS
- key: DELEGATABLE_NOTES_ADDRESS
sync: false # from-env: DELEGATABLE_NOTES_ADDRESS
- key: RECURRING_PLEDGES_ADDRESS
sync: false # from-env: RECURRING_PLEDGES_ADDRESS
- key: NOTE_INTENT_ADDRESS
sync: false # from-env: NOTE_INTENT_ADDRESS
- key: ALIGNMENT_ATTESTATIONS_ADDRESS
sync: false # from-env: ALIGNMENT_ATTESTATIONS_ADDRESS
- key: MUTABLE_REF_UPDATER_ADDRESS
sync: false # from-env: MUTABLE_REF_UPDATER_ADDRESS
- key: NUDGE_PUBLICATIONS_CONTRACT_ADDRESS
sync: false # from-env: NUDGE_PUBLICATIONS_CONTRACT_ADDRESS
- key: PUBLISHED_DATA_CONTRACT_ADDRESS
sync: false # from-env: PUBLISHED_DATA_CONTRACT_ADDRESS
- key: PUBLISHED_DATA_START_BLOCK
sync: false # from-env: PUBLISHED_DATA_START_BLOCK
- key: CONTENT_REGISTRY_ADDRESS
sync: false # from-env: CONTENT_REGISTRY_ADDRESS
- key: CHANNEL_REGISTRY_ADDRESS
sync: false # from-env: CHANNEL_REGISTRY_ADDRESS
- key: CHANNEL_ESCROW_ADDRESS
sync: false # from-env: CHANNEL_ESCROW_ADDRESS
- key: CREATOR_CONTRACT_FACTORY_ADDRESS
sync: false # from-env: CREATOR_CONTRACT_FACTORY_ADDRESS
healthCheckPath: /graphql
# Intentional Render workaround: this disk is not used for indexer app state.
# Render disables zero-downtime/rolling deploys for services with persistent
# disks. Ponder needs that stop-before-start behavior because `ponder start`
# takes an exclusive lock on DATABASE_SCHEMA. Do not remove this just because
# /data looks unused; replace it only with another singleton deploy strategy.
disk:
name: commonality-indexer-data
mountPath: /data
sizeGB: 1
autoDeploy: true
plan: standard
# Private, durable Kubo for the PublishedData mirror. It deliberately has no
# public web endpoint or browser CORS configuration.
- type: pserv
name: commonality-published-data-ipfs
env: docker
rootDir: .
dockerContext: .
dockerfilePath: published-data-ipfs-mirror/Dockerfile.kubo
envVars:
- key: PORT
value: "10000"
disk:
name: commonality-published-data-ipfs-repo
mountPath: /data/ipfs
sizeGB: 10
autoDeploy: true
plan: starter
# PublishedData calldata → IPFS durability mirror (Base Sepolia).
- type: worker
name: commonality-published-data-ipfs-mirror
env: docker
rootDir: .
dockerContext: .
dockerfilePath: published-data-ipfs-mirror/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: RPC_URL
sync: false # Secret: Base Sepolia RPC with full transaction history
- key: CHAIN_ID
value: "84532"
- key: PUBLISHED_DATA_CONTRACT_ADDRESS
value: "${PUBLISHED_DATA_CONTRACT_ADDRESS}"
- key: START_BLOCK
value: "${PUBLISHED_DATA_START_BLOCK}"
- key: IPFS_API_URL
value: http://commonality-published-data-ipfs:10000
- key: STATE_FILE
value: /data/published-data-ipfs-mirror.base-sepolia.json
- key: CONFIRMATIONS
value: "12"
- key: BLOCK_RANGE
value: "1000"
- key: POLL_INTERVAL_MS
value: "10000"
disk:
name: commonality-published-data-ipfs-mirror-state
mountPath: /data
sizeGB: 1
autoDeploy: true
plan: starter
# Bundled AI service host (Bundle A — Attesters)
- type: web
name: commonality-service-host-attesters
env: docker
rootDir: .
dockerContext: .
dockerfilePath: service-host/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: SERVICE_HOST_PORT
value: 3000
- key: ETHEREUM_RPC_URL
sync: false # Secret: RPC provider URL (contains API key)
- key: OPENROUTER_API_KEY
sync: false # Secret
- key: OPENROUTER_MODEL
value: anthropic/claude-3.5-haiku
- key: IPFS_API
value: https://ipfs.io/api/v0
- key: IPFS_GATEWAY
value: https://ipfs.io/ipfs
- key: IMPLICATION_ATTESTER_PRIVATE_KEY
sync: false # Secret
- key: IMPLICATION_ATTESTER_PAYMENT_ADDRESS
value: "${IMPLICATION_ATTESTER_PAYMENT_ADDRESS}"
- key: IMPLICATION_ATTESTER_TRUSTED_FINDER_KEY
sync: false # Set in Render dashboard (generated by scripts/generate-wallets.mjs)
- key: IMPLICATIONS_CONTRACT_ADDRESS
sync: false # from-env: IMPLICATIONS_CONTRACT_ADDRESS
- key: CONTENT_ATTESTER_PRIVATE_KEY
sync: false # Secret
- key: CONTENT_ATTESTER_PAYMENT_ADDRESS
value: "${CONTENT_ATTESTER_PAYMENT_ADDRESS}"
- key: CONTENT_ATTESTER_TRUSTED_FINDER_KEY
sync: false # Set in Render dashboard (generated by scripts/generate-wallets.mjs)
- key: ALIGNMENT_ATTESTATIONS_CONTRACT_ADDRESS
sync: false # from-env: ALIGNMENT_ATTESTATIONS_CONTRACT_ADDRESS
- key: ALIGNMENT_TOPIC_STATEMENT_CID
sync: false # Set in Render dashboard after pinning topic statement to IPFS
- key: CONTENT_ATTESTER_NAME
value: "${CONTENT_ATTESTER_NAME}"
- key: CONTENT_ATTESTER_PROMPT_TEMPLATE
value: "${CONTENT_ATTESTER_PROMPT_TEMPLATE}"
- key: BEAT_MEMORY_ENABLED
value: "true"
- key: BEAT_MEMORY_BEAT_ID
value: us-politics
- key: BEAT_MEMORY_PURPOSES
value: civility_context,general_beat_context,source_management
- key: BEAT_MEMORY_BEAT_DEFINITION_JSON
value: "${BEAT_MEMORY_BEAT_DEFINITION_JSON}"
- key: BEAT_MEMORY_INGESTION_STATE_FILE
value: /data/beat-memory/us-politics.ingestion.json
- key: BEAT_MEMORY_MEMORY_FILE
value: /data/beat-memory/us-politics.memory.json
- key: BEAT_MEMORY_METRICS_LOG_FILE
value: /data/beat-memory/us-politics.metrics.jsonl
- key: BEAT_MEMORY_WORKER_POLL_INTERVAL_MS
value: 300000
- key: BEAT_MEMORY_LLM_EXTRACTION_ENABLED
value: "true"
- key: BEAT_AGENT_ENABLED
value: "true"
- key: BEAT_AGENT_PRIVATE_KEY
sync: false # Secret
- key: BEAT_AGENT_PAYMENT_ADDRESS
value: "${BEAT_AGENT_PAYMENT_ADDRESS}"
- key: BEAT_AGENT_TRUSTED_FINDER_KEY
sync: false # Set in Render dashboard (generated by scripts/generate-wallets.mjs)
- key: BEAT_AGENT_BEAT_ID
value: us-politics
- key: BEAT_AGENT_NAME
value: us-politics-civility
- key: BEAT_AGENT_PROMPT_TEMPLATE
value: "${BEAT_AGENT_PROMPT_TEMPLATE}"
- key: BEAT_AGENT_INGESTION_STATE_FILE
value: /data/beat-memory/us-politics.ingestion.json
- key: BEAT_AGENT_MEMORY_FILE
value: /data/beat-memory/us-politics.memory.json
- key: BEAT_AGENT_EVALUATION_LOG_FILE
value: /data/beat-agent/us-politics.evaluations.jsonl
- key: BEAT_AGENT_METRICS_LOG_FILE
value: /data/beat-agent/us-politics.metrics.jsonl
- key: BEAT_AGENT_FINDER_ENABLED
value: "false"
- key: BEAT_AGENT_FINDER_STATE_FILE
value: /data/beat-agent/us-politics.finder.json
- key: BEAT_AGENT_FINDER_ATTESTER_URL
value: https://commonality-service-host-attesters.onrender.com/beat-agent/evaluate-content
- key: BEAT_AGENT_BEAT_KEYWORDS
value: politics,policy,democrat,republican,liberal,conservative,bipartisan,civility,persuasion,good faith,common ground
- key: BEAT_AGENT_PLATFORM_API_URL
value: https://commonality-platform-api.onrender.com
- key: BEAT_AGENT_MINIMUM_CONFIDENCE
value: medium
- key: BEAT_AGENT_ESTIMATED_INPUT_TOKENS
value: 5000
- key: BEAT_AGENT_ESTIMATED_OUTPUT_TOKENS
value: 700
- key: X_API_BEARER_TOKEN
sync: false # Secret
- key: SERVICE_MARGIN_PERCENT
value: 20
- key: ETH_USD_PRICE
value: 3000
- key: GAS_PRICE_MULTIPLIER
value: 1.2
- key: IMPLICATION_ATTESTER_ESTIMATED_INPUT_TOKENS
value: 1000
- key: IMPLICATION_ATTESTER_ESTIMATED_OUTPUT_TOKENS
value: 200
- key: CONTENT_ATTESTER_ESTIMATED_INPUT_TOKENS
value: 2500
- key: CONTENT_ATTESTER_ESTIMATED_OUTPUT_TOKENS
value: 400
- key: RATE_LIMIT_WINDOW_MS
value: 60000
- key: RATE_LIMIT_MAX_REQUESTS
value: 10
- key: IMPLICATION_FINDER_ENABLED
value: "false"
- key: CONTENT_FINDER_ENABLED
value: "false"
- key: IMPLICATION_GRAPH_NUDGER_ENABLED
value: "false"
- key: BRIDGE_CREATOR_ENABLED
value: "false"
- key: EXPLORER_CURATOR_ENABLED
value: "false"
healthCheckPath: /health
autoDeploy: true
plan: standard
disk:
name: commonality-attester-data
mountPath: /data
sizeGB: 1
# Platform API Service (content-funding channel resolution + content-attester queuing)
- type: web
name: commonality-platform-api
env: docker
rootDir: .
dockerContext: .
dockerfilePath: platform-api-service/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: PORT
value: 3000
- key: CORS_ALLOWED_ORIGINS
value: "${CORS_ALLOWED_ORIGINS}"
- key: COMMONALITY_TWITTER_HANDLE
value: "@commonality"
- key: CLAIM_PAGE_BASE_URL
value: "${CLAIM_PAGE_BASE_URL}"
- key: X_API_BEARER_TOKEN
sync: false # Secret
- key: YOUTUBE_API_KEY
sync: false # Secret
- key: VERIFIER_PRIVATE_KEY
sync: false # Secret
- key: ETHEREUM_RPC_URL
sync: false # Secret: RPC provider URL (contains API key)
- key: BASE_RPC_URL
sync: false # Secret: Base mainnet RPC provider URL for on-ramp USDC polling
- key: COINBASE_CDP_API_KEY_ID
sync: false # Secret: Coinbase Onramp session-token API key id
- key: COINBASE_CDP_API_KEY_SECRET
sync: false # Secret: Coinbase Onramp session-token private key
- key: CHANNEL_REGISTRY_ADDRESS
sync: false # from-env: CHANNEL_REGISTRY_ADDRESS
- key: CHANNEL_VERIFIER_ADDRESS
sync: false # from-env: CHANNEL_VERIFIER_ADDRESS
- key: CREATOR_GAS_TANK_ADDRESS
sync: false # from-env: CREATOR_GAS_TANK_ADDRESS
- key: CHAIN_ID
value: 84532
- key: SUBMIT_VERIFICATION_TX
value: "false"
- key: POLICY_BUNDLE_URL
sync: false # from-env: POLICY_BUNDLE_URL
- key: POLICY_CONTENT_GATEWAY_URL
value: "https://ipfs.io/ipfs"
healthCheckPath: /health
autoDeploy: true
plan: standard
# Bundled AI service host (Bundle B — Workers)
- type: web
name: commonality-service-host-workers
env: docker
rootDir: .
dockerContext: .
dockerfilePath: service-host/Dockerfile
envVars:
- key: NODE_ENV
value: production
- key: SERVICE_HOST_PORT
value: 3000
- key: ETHEREUM_RPC_URL
sync: false # Secret: RPC provider URL (contains API key)
- key: OPENROUTER_API_KEY
sync: false # Secret
- key: OPENROUTER_MODEL
value: anthropic/claude-3.5-haiku
- key: INDEXER_URL
value: https://commonality-indexer.onrender.com
- key: EVENT_CACHE_URL
value: https://commonality-indexer.onrender.com
- key: IPFS_API
value: https://ipfs.io/api/v0
- key: IPFS_GATEWAY
value: https://ipfs.io/ipfs
- key: IPFS_GATEWAY_URL
value: https://ipfs.io/ipfs
- key: PLATFORM_API_URL
value: https://commonality-platform-api.onrender.com
- key: CONTENT_FINDER_PLATFORM_API_URL
value: https://commonality-platform-api.onrender.com
- key: CONTENT_FINDER_SUBMISSIONS_API_URL
value: https://commonality-platform-api.onrender.com/content-submission
- key: CONTENT_FINDER_ATTESTER_URL
value: https://commonality-service-host-attesters.onrender.com/content-attester
- key: CONTENT_FINDER_ATTESTER_FINDER_KEY
sync: false # Set in Render dashboard (generated by scripts/generate-wallets.mjs)
- key: IMPLICATION_FINDER_ATTESTER_URL
value: https://commonality-service-host-attesters.onrender.com/implication-attester
- key: IMPLICATION_FINDER_ATTESTER_FINDER_KEY
sync: false # Set in Render dashboard (generated by scripts/generate-wallets.mjs)
- key: BELIEFS_CONTRACT_ADDRESS
sync: false # from-env: BELIEFS_CONTRACT_ADDRESS
- key: IMPLICATIONS_CONTRACT_ADDRESS
sync: false # from-env: IMPLICATIONS_CONTRACT_ADDRESS
- key: TRUST_REGISTRY_ADDRESS
sync: false # from-env: TRUST_REGISTRY_ADDRESS
- key: ACCOUNT_ASSERTIONS_ADDRESS
sync: false # from-env: ACCOUNT_ASSERTIONS_ADDRESS
- key: ASSURANCE_CONTRACT_FACTORY_ADDRESS
sync: false # from-env: ASSURANCE_CONTRACT_FACTORY_ADDRESS
- key: ERC1155_FACTORY_ADDRESS
sync: false # from-env: ERC1155_FACTORY_ADDRESS
- key: DELEGATABLE_NOTES_ADDRESS
sync: false # from-env: DELEGATABLE_NOTES_ADDRESS
- key: RECURRING_PLEDGES_ADDRESS
sync: false # from-env: RECURRING_PLEDGES_ADDRESS
- key: NOTE_INTENT_ADDRESS
sync: false # from-env: NOTE_INTENT_ADDRESS
- key: ALIGNMENT_ATTESTATIONS_ADDRESS
sync: false # from-env: ALIGNMENT_ATTESTATIONS_ADDRESS
- key: MUTABLE_REF_UPDATER_ADDRESS
sync: false # from-env: MUTABLE_REF_UPDATER_ADDRESS
- key: NUDGE_PUBLICATIONS_CONTRACT_ADDRESS
sync: false # from-env: NUDGE_PUBLICATIONS_CONTRACT_ADDRESS
- key: IMPLICATION_GRAPH_NUDGER_PRIVATE_KEY
sync: false # Secret
- key: BRIDGE_CREATOR_PRIVATE_KEY
sync: false # Secret
- key: EXPLORER_CURATOR_PRIVATE_KEY
sync: false # Secret
- key: BRIDGE_CREATOR_COMMONALITY_STATEMENTS
sync: false # Optional: comma-separated pre-configured commonality statement texts
- key: EXPLORER_CURATOR_STREAM
value: fundable-project-explorer
- key: EXPLORER_CURATOR_INTERVAL_MS
value: 21600000 # 6 hours
- key: EXPLORER_CURATOR_NAME
value: Fundable Project Explorer
- key: EXPLORER_CURATOR_DESCRIPTION
value: Curates a map of fundable project areas and personalizes suggestions
- key: EXPLORER_CURATOR_SOURCE_TYPE
value: explorer-curator
- key: EXPLORER_CURATOR_VERSION
value: 0.1.0
- key: BRIDGE_CREATOR_NAME
value: Bridge Creator
- key: BRIDGE_CREATOR_DESCRIPTION
value: Creates synthesized bridge statements from moderate positions
- key: BRIDGE_CREATOR_SOURCE_TYPE
value: bridge-creator
- key: BRIDGE_CREATOR_VERSION
value: 0.1.0
- key: IMPLICATION_GRAPH_NUDGER_NAME
value: Implication Graph Nudger
- key: IMPLICATION_GRAPH_NUDGER_DESCRIPTION
value: Suggests statements based on the implication graph
- key: IMPLICATION_GRAPH_NUDGER_SOURCE_TYPE
value: implication-graph
- key: IMPLICATION_GRAPH_NUDGER_VERSION
value: 0.1.0
- key: IMPLICATION_FINDER_POLL_INTERVAL_MS
value: 30000
- key: IMPLICATION_FINDER_TOP_N_STATEMENTS
value: 20
- key: IMPLICATION_FINDER_MIN_BELIEVER_THRESHOLD
value: 2
- key: CONTENT_FINDER_POLL_INTERVAL_MS
value: 30000
- key: RECURRING_PLEDGE_SCHEDULER_ENABLED
value: "true"
- key: RECURRING_PLEDGE_SCHEDULER_CHAIN
value: base-sepolia
- key: RECURRING_PLEDGE_SCHEDULER_RPC_URL
sync: false # Secret: RPC provider URL (contains API key)
- key: RECURRING_PLEDGE_SCHEDULER_PRIVATE_KEY
sync: false # Secret: scheduler wallet key
- key: RECURRING_PLEDGE_SCHEDULER_EVENT_CACHE_URL
value: https://commonality-indexer.onrender.com
- key: RECURRING_PLEDGE_SCHEDULER_POLL_INTERVAL_MS
value: 60000
- key: IMPLICATION_ATTESTER_ENABLED
value: "false"
- key: CONTENT_ATTESTER_ENABLED
value: "false"
healthCheckPath: /health
autoDeploy: true
plan: standard