Repository navigation
Expand file tree
/
Copy pathexample.env
More file actions
97 lines (85 loc) · 4.76 KB
/
Copy pathexample.env
File metadata and controls
97 lines (85 loc) · 4.76 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
# ─────────────────────────────────────────────────────────────────────────────
# Intuition Core — environment
#
# cp example.env .env
#
# The MINIMAL tier (datastores + indexer + workers + api) needs ZERO paid
# third-party accounts. Everything below the "optional" line is opt-in and
# degrades gracefully when unset.
# ─────────────────────────────────────────────────────────────────────────────
NODE_ENV=development
# ── Datastores ───────────────────────────────────────────────────────────────
# These defaults match docker-compose.datastores.yml — they work out of the box.
# PostgreSQL knowledge graph (atoms, triples, accounts, predicates)
DATABASE_KG_URL=postgresql://intuition:intuition@localhost:5432/intuition_kg
# TimescaleDB time-series (event store, markets, positions, leaderboards)
DATABASE_TIMESCALE_URL=postgresql://intuition:intuition@localhost:5433/intuition_timescale
# Redis (indexer leader election)
REDIS_URL=redis://localhost:6379
# ── Query API ────────────────────────────────────────────────────────────────
API_PORT=3000
# Comma-separated allowed CORS origins (empty = allow all in dev).
# If you set an allowlist, include the explorer app: http://localhost:3100
API_ALLOWED_ORIGINS=
# Set to 1 ONLY behind a reverse proxy that overwrites x-forwarded-for;
# otherwise anonymous rate-limit buckets use the socket address.
API_TRUST_PROXY=
# Endpoint gating: open | public-read | gated.
# public-read (default): reads open, writes need an API key
# gated: everything needs a key · open: no keys (local dev, unattributed writes)
# Mint keys: bun --filter @0xintuition/api run keys:create -- --name me --account 0xYourWallet
API_AUTH=public-read
# Requests/minute per caller (API key, or IP for anonymous reads). 0 = unlimited.
# Per-key overrides: keys:create -- --rate-limit <rpm>
API_RATE_LIMIT_RPM=120
# ── Chain / indexer ──────────────────────────────────────────────────────────
# Point the indexer at the Intuition chain (or any EVM MultiVault deployment).
# No defaults are baked into code — set these to index.
# Start with: docker compose --profile indexing up
INTUITION_RPC_URL=
CHAIN_ID=
MULTIVAULT_CONTRACT_ADDRESS=
MULTIVAULT_START_BLOCK=
# Optional: stop at this block instead of syncing to head. Set a small window
# (e.g. START_BLOCK + 500) for a cheap end-to-end test run.
MULTIVAULT_END_BLOCK=
#
# Fully self-contained local chain instead (docs/local-devnet.md):
# docker compose --profile devnet up -d anvil devnet-deploy
# then use:
# INTUITION_RPC_URL=http://anvil:8545
# CHAIN_ID=31337
# MULTIVAULT_CONTRACT_ADDRESS=0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f
# MULTIVAULT_START_BLOCK=0
# MULTIVAULT_END_BLOCK=
# ─────────────────────────────────────────────────────────────────────────────
# OPTIONAL — none of the below are required for the minimal tier.
# ─────────────────────────────────────────────────────────────────────────────
# Worker processing preset: full | music | podcasts | music-and-podcasts.
# Scoped modes gate enrichment only; parse and classification remain broad.
WORKERS_PROCESSING_SCOPE=full
# Embeddings / semantic search (+ Search tier). Off by default.
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GOOGLE_GENERATIVE_AI_API_KEY=
# Enrichment provider plugins. Each is optional — the matching plugin skips
# gracefully when its key is absent, and the keyless providers (OpenGraph,
# Wikipedia, Wikidata, npm, arXiv, …) always run.
# How to get each key: docs/enrichment-providers.md
GITHUB_TOKEN=
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
SPOTIFY_MARKET=
ETHERSCAN_API_KEY=
TMDB_API_KEY=
COINGECKO_API_KEY=
YOUTUBE_API_KEY=
GOOGLE_PLACES_API_KEY=
X_BEARER_TOKEN=
BRANDFETCH_API_KEY=
PODCAST_INDEX_API_KEY=
PODCAST_INDEX_API_SECRET=
CANOPY_API_KEY=
# Shared enrichment cache across worker replicas (default: in-memory)
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=