Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
101 lines (90 loc) · 6.39 KB
/
Copy path.env.example
File metadata and controls
101 lines (90 loc) · 6.39 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
# ─── Stellar / Soroban ────────────────────────────────────────────────────────
# Network to connect to: testnet | mainnet | futurenet
NEXT_PUBLIC_STELLAR_NETWORK=testnet
# Soroban RPC endpoint (Testnet)
NEXT_PUBLIC_STELLAR_RPC_URL=https://soroban-testnet.stellar.org
# Horizon REST API endpoint (Testnet)
NEXT_PUBLIC_STELLAR_HORIZON_URL=https://horizon-testnet.stellar.org
# Network passphrase — must match the network selected above exactly.
# Testnet: "Test SDF Network ; September 2015"
# Mainnet: "Public Global Stellar Network ; September 2015"
NEXT_PUBLIC_STELLAR_NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
# ─── Soroban Contract Addresses (v0.2 Testnet Deployment) ─────────────────────
#
# Format: 56-character Soroban C-strkey, e.g. CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# Always starts with 'C', base-32 encoded, exactly 56 chars.
#
# ⚠ When NEXT_PUBLIC_ENABLE_MOCK_DATA=false the app validates these at startup
# and throws a fatal error if any are missing or still set to the zero-address
# placeholder below.
#
# To deploy your own contracts to testnet see docs/DEPLOYMENT.md or the
# "Smart Contract Deployment" section in README.md.
#
# Current v0.2 testnet deployments (Stellar Testnet, deployed 2025-07):
# Invoice NFT contract — https://stellar.expert/explorer/testnet/contract/CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA
# Marketplace contract — https://stellar.expert/explorer/testnet/contract/CBWOAOZCOAJQH7HHZRE5BVNL2C4HRP4JCQZF3YQCQYDL5BZJRN4YGK4
# USDC token contract — https://stellar.expert/explorer/testnet/contract/CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC
#
# ── Development (mock mode — no real contracts needed) ────────────────────────
# These are the Soroban zero-address placeholders used when mock data is on.
# Replace with real addresses before setting NEXT_PUBLIC_ENABLE_MOCK_DATA=false.
NEXT_PUBLIC_INVOICE_CONTRACT_ID=CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA
NEXT_PUBLIC_MARKETPLACE_CONTRACT_ID=CBWOAOZCOAJQH7HHZRE5BVNL2C4HRP4JCQZF3YQCQYDL5BZJRN4YGK4A
NEXT_PUBLIC_TOKEN_CONTRACT_ID=CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC
# ─── IPFS / Pinata ────────────────────────────────────────────────────────────
NEXT_PUBLIC_IPFS_GATEWAY=https://gateway.pinata.cloud/ipfs
PINATA_API_KEY=your_pinata_api_key
PINATA_SECRET_API_KEY=your_pinata_secret_key
PINATA_JWT=your_pinata_jwt_token
# ─── App ──────────────────────────────────────────────────────────────────────
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_NAME=Kora
NEXT_PUBLIC_APP_DESCRIPTION="On-chain Invoice Financing Protocol"
# ─── Feature Flags ────────────────────────────────────────────────────────────
# See lib/featureFlags.ts for the full flag reference.
#
# NEXT_PUBLIC_ENABLE_MOCK_DATA=true → browse the UI without a live Soroban node.
# NEXT_PUBLIC_ENABLE_MOCK_DATA=false → real on-chain calls; requires valid contract IDs above.
NEXT_PUBLIC_ENABLE_MOCK_DATA=true
NEXT_PUBLIC_ENABLE_DEVTOOLS=true
NEXT_PUBLIC_ENABLE_COMPARISON=true
NEXT_PUBLIC_ENABLE_ONBOARDING_TOUR=false
# Batch cancel/repay toolbar in SME dashboard (Issue #382)
NEXT_PUBLIC_ENABLE_BATCH_ACTIONS=true
# Gate invoice minting behind KYB/KYC business verification (Issue #489)
# Set to "true" to require SME KYB verification before reaching step 3 of the mint wizard.
NEXT_PUBLIC_ENABLE_KYB_MINT_GATE=false
# Secondary market P2P trading route (Issue #664)
# When false, hides the navbar link and shows a maintenance empty state on /secondary.
NEXT_PUBLIC_ENABLE_SECONDARY_MARKET=true
# Category taxonomy preview in marketplace filters (Issue #779).
# Contributor tool (off by default): shows taxonomy keys, live invoice counts,
# i18n parity across en/es/ar/pt-BR, and copy-definition actions.
# See CONTRIBUTING.md § Category Taxonomy.
NEXT_PUBLIC_ENABLE_CATEGORY_TAXONOMY_PREVIEW=false
# Test component harness page at /test-components (Issue #725).
# Isolated fixture page for Playwright component tests and local QA of FileInput, RangeSlider, DatePicker, etc.
# On by default in development; off in production builds. Set to "true" to enable on non-dev deployments.
NEXT_PUBLIC_ENABLE_TEST_COMPONENTS=false
# ─── KYC & Compliance ─────────────────────────────────────────────────────────
# Configurable USDC threshold requiring KYC before funding above this limit (e.g. 10000 USDC)
NEXT_PUBLIC_KYC_FUND_THRESHOLD=10000
# Shared secret used to verify Synaps KYC webhook signatures (Issue #694).
# Server-only — never expose this to the client bundle.
# When unset, POST /api/webhooks/kyc still requires the x-synaps-signature
# header but cannot verify it, which is the mock/dev posture.
# SYNAPS_WEBHOOK_SECRET=your_synaps_webhook_secret
# ─── Event Streaming (optional) ───────────────────────────────────────────────
# Indexer SSE/webhook URL for near-realtime contract events.
# When unset, the client uses a ≤2s RPC stream loop and falls back to 5s polling.
# NEXT_PUBLIC_EVENTS_STREAM_URL=https://indexer.example.com/events/stream
# ─── Redis / Shared State (Optional / Multi-instance) ─────────────────────────
# Connection configuration for multi-instance distributed rate limiting and session state.
# See docs/architecture.md#redis-migration-for-rate-limiting-and-shared-state.
# When unset, single-instance in-memory stores are used as fallback.
# Supports standard TCP Redis/Valkey (e.g. redis:// or rediss:// for TLS) or HTTP/REST (Upstash).
# REDIS_URL=redis://default:password@127.0.0.1:6379
# REDIS_TOKEN=your_redis_token_for_rest_endpoints
# REDIS_KEY_PREFIX=kora:
# REDIS_TIMEOUT_MS=200