forked from ezedike-evan/stellar-intel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
121 lines (94 loc) · 5.65 KB
/
Copy path.env.example
File metadata and controls
121 lines (94 loc) · 5.65 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
# Stellar Network Configuration
# One of: mainnet | testnet | futurenet
NEXT_PUBLIC_STELLAR_NETWORK=mainnet_or_testnet
# Horizon API URL
# Mainnet: https://horizon.stellar.org
# Testnet: https://horizon-testnet.stellar.org
NEXT_PUBLIC_HORIZON_URL=https://horizon.stellar.org_or_testnet_url
# USDC Issuer Account Address on Stellar Network
# This is the trusted issuer for USDC tokens
NEXT_PUBLIC_USDC_ISSUER=stellar_public_key_here
# Application Name (required — boot fails if unset)
NEXT_PUBLIC_APP_NAME="App_Name_Here"
# Stellar Expert API base for transaction links (optional)
# Default: https://api.stellar.expert/explorer/public
NEXT_PUBLIC_STELLAR_EXPERT_URL=https://api.stellar.expert/explorer/public
# Feature flag — signed-intent off-ramp path is OFF unless set to "true"
NEXT_PUBLIC_INTENT_FLOW=false
# Admin secret key — required to access /admin/disputes and related API routes
ADMIN_SECRET_KEY=your_secret_admin_key_here
# ─── Webhooks (#822) ──────────────────────────────────────────────────────────
# Webhook subscriptions are managed via POST /api/webhooks/subscriptions (admin key required).
# Per-subscription HMAC secrets are generated at creation time and stored in the webhook store.
# No additional environment variables are required for basic operation.
# ─── Server-side (optional) ───────────────────────────────────────────────────
# Router selection strategy: "first-match" (default) or "scored" (multi-factor solver).
# Keep on first-match until the scored strategy is validated in staging.
ROUTING_STRATEGY=first-match
# Max acceptable fee as a fraction of the amount, e.g. 0.05 for 5% (router budget)
FEE_BUDGET_PCT=0.05
# Destination accounts for the signed-intent off-ramp path, as JSON mapping an
# anchor id from constants/anchors.ts to a Stellar account.
#
# REQUIRED for /api/intent/offramp to route anything. Unset means every corridor
# returns NO_ROUTE, which is deliberate: this replaced two hardcoded addresses
# that did not exist on mainnet, so the endpoint handed out payments that could
# only fail (#941).
#
# Verify every address against Horizon before adding it. A typo here is a
# payment to a stranger. Note that most SEP-24 anchors issue a destination
# through their interactive flow rather than publishing a static one, so there
# may be no correct value for a given anchor.
#
# ANCHOR_PAYMENT_ACCOUNTS='{"cowrie":"GABC...","moneygram":"GDEF..."}'
# Shared secret required by cron-triggered routes (publisher tick / reconcile / refresh)
CRON_SECRET=your_cron_secret_here
# Reputation store backend: "sqlite" (default) or "postgres"
# Setting DATABASE_URL implies the postgres backend.
REPUTATION_BACKEND=sqlite
DATABASE_URL=postgres://user:pass@host:5432/dbname
# Pino log level: trace | debug | info | warn | error (default: info)
LOG_LEVEL=info
# Metrics rolling-window length in milliseconds (default: 3600000 = 1h)
METRICS_RESET_WINDOW_MS=3600000
# ─── Soroban oracle ops scripts ───────────────────────────────────────────────
# Soroban reputation oracle contract address — required by scripts/init-oracle-registry.ts
# and by the publisher (CLI and /api/publisher/tick).
ORACLE_CONTRACT_ID=your_contract_id_here
# Which network the publisher signs against. REQUIRED by the publisher CLI, and
# deliberately has no default: it signs real transactions, and an unset value
# used to mean mainnet (#912). One of: mainnet | testnet
STELLAR_NETWORK=testnet
# Secret key of an account registered as a publisher on the oracle contract.
# Required by both the publisher CLI and /api/publisher/tick — without it the
# tick throws. Keep this out of shell history and out of the repo.
PUBLISHER_SECRET=S...
# Optional endpoint overrides. Both default from STELLAR_NETWORK; set them only
# for a custom RPC or a local quickstart. Note the network passphrase always
# follows STELLAR_NETWORK and cannot be overridden on its own — overriding the
# passphrase alone is how a testnet key ends up signing on mainnet.
# SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
# HORIZON_URL=https://horizon-testnet.stellar.org
# Rows per publisher batch (default: see DEFAULT_BATCH_SIZE in packages/publisher).
# BATCH_SIZE=25
# Bypasses the 90-day probe-coverage gate on a mainnet publish (#786). Testnet
# is never gated, so this does nothing there. Compared against the exact string
# "true" — PUBLISH_GATE_OVERRIDE=false leaves the gate ON, as it reads.
# Every override logs at error level; there is no quiet way to use it.
# PUBLISH_GATE_OVERRIDE=true
# Deployer key for scripts/deploy-oracle-mainnet.ts. Only needed for a mainnet
# deploy; leave unset otherwise.
# MAINNET_DEPLOYER_KEY=S...
# Server-side rate fetch timeouts (milliseconds) and retries per tier.
# Leave unset to use the built-in defaults (8s timeout, 1 retry on network errors only).
# RATES_TOML_TIMEOUT_MS=8000
# RATES_SEP38_TIMEOUT_MS=8000
# RATES_SEP24_INFO_TIMEOUT_MS=8000
# RATES_TOML_RETRY_ATTEMPTS=1
# RATES_SEP38_RETRY_ATTEMPTS=1
# RATES_SEP24_INFO_RETRY_ATTEMPTS=1
# ─── Analytics (optional) ────────────────────────────────────────────────────
# Plausible Analytics domain. Leave unset in dev to prevent tracking; set it
# to the deployed domain in production only. When unset, no script is injected
# and lib/analytics.ts no-ops.
# NEXT_PUBLIC_PLAUSIBLE_DOMAIN=stellar-intel.vercel.app