-
-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy path.env.example
More file actions
144 lines (108 loc) · 8.98 KB
/
.env.example
File metadata and controls
144 lines (108 loc) · 8.98 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
# XActions Configuration
# Copy this file to .env and fill in your values
# ═══════════════════════════════════════════════════════════════════════════════
# Server Configuration
# ═══════════════════════════════════════════════════════════════════════════════
NODE_ENV=development
PORT=3001
API_URL=http://localhost:3001
API_BASE_URL=http://localhost:3001
FRONTEND_URL=http://localhost:3000
# ═══════════════════════════════════════════════════════════════════════════════
# x402 Payment Configuration (AI Agent Monetization)
# ═══════════════════════════════════════════════════════════════════════════════
# ⚠️ REQUIRED for production - your wallet address to receive USDC payments
# This MUST be set to a valid Ethereum address (0x...) for x402 to work
# Server will fail to start in production if this is not configured
X402_PAY_TO_ADDRESS=0x4027FdaC1a5216e264A00a5928b8366aE59cE888
# Network: which blockchain to use for payments
# eip155:8453 = Base mainnet (REAL money - use for production)
# eip155:84532 = Base Sepolia testnet (TEST money - use for development)
# Defaults: testnet in development, mainnet in production
X402_NETWORK=eip155:84532
# Facilitator URL for payment verification and settlement
# Default works for most cases, only change if using custom facilitator
X402_FACILITATOR_URL=https://x402.org/facilitator
# Debug logging for x402 payments (optional)
X402_DEBUG=false
# Skip payment verification in development (NEVER use in production!)
# Uncomment ONLY for local testing without a wallet
# X402_SKIP_VERIFICATION=true
# ═══════════════════════════════════════════════════════════════════════════════
# Payment Webhook Notifications (Optional - for revenue tracking)
# ═══════════════════════════════════════════════════════════════════════════════
# Custom webhook URL - receives JSON POST for all payment events
# This is the recommended option - just point to your own endpoint
# Payload: { event, timestamp, data: { amount, operation, payer, network, txHash } }
X402_WEBHOOK_URL=https://your-server.com/webhooks/payments
# Webhook signature secret (optional but recommended for production)
# Signs payloads with HMAC-SHA256 for security
# Verify: X-Webhook-Signature header = HMAC-SHA256(timestamp.payload, secret)
# Generate with: openssl rand -hex 32
X402_WEBHOOK_SECRET=
# Optional: Discord/Slack webhooks (leave empty if not using)
# DISCORD_WEBHOOK_URL=
# SLACK_WEBHOOK_URL=
# ═══════════════════════════════════════════════════════════════════════════════
# Stripe Billing (Subscription Payments)
# ═══════════════════════════════════════════════════════════════════════════════
# Get your keys from https://dashboard.stripe.com/apikeys
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
# Webhook signing secret — from Stripe Dashboard > Webhooks > Signing secret
# Endpoint URL: https://your-domain.com/webhooks/stripe
STRIPE_WEBHOOK_SECRET=whsec_...
# Price IDs — create these in Stripe Dashboard > Products
# Each should be a recurring monthly price
STRIPE_PRO_PRICE_ID=price_...
STRIPE_BUSINESS_PRICE_ID=price_...
STRIPE_ENTERPRISE_PRICE_ID=price_...
# ═══════════════════════════════════════════════════════════════════════════════
# MCP Server Configuration (for AI agents like Claude)
# ═══════════════════════════════════════════════════════════════════════════════
# MCP mode: local (free, uses Puppeteer) or remote (paid, uses x402 API)
XACTIONS_MODE=local
# API URL for remote mode
XACTIONS_API_URL=https://api.xactions.app
# Private key for x402 payments (remote mode only)
# ⚠️ NEVER commit this value! Use a separate wallet for payments.
# X402_PRIVATE_KEY=0xYourPrivateKey
# X/Twitter session cookie for authentication
XACTIONS_SESSION_COOKIE=
# ═══════════════════════════════════════════════════════════════════════════════
# Database (PostgreSQL)
# ═══════════════════════════════════════════════════════════════════════════════
DATABASE_URL="postgresql://user:password@localhost:5432/xactions?schema=public"
# ═══════════════════════════════════════════════════════════════════════════════
# Authentication & Security
# ═══════════════════════════════════════════════════════════════════════════════
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
SESSION_SECRET=your-session-secret-key
# Admin API key for accessing admin endpoints (payment stats, webhook management)
# Generate a secure random string: openssl rand -hex 32
ADMIN_API_KEY=
# CORS allowed origins (comma-separated)
CORS_ORIGINS=http://localhost:3000,http://localhost:3001,https://xactions.app
# ═══════════════════════════════════════════════════════════════════════════════
# Twitter/X OAuth 2.0
# ═══════════════════════════════════════════════════════════════════════════════
TWITTER_CLIENT_ID=your_twitter_client_id
TWITTER_CLIENT_SECRET=your_twitter_client_secret
TWITTER_BEARER_TOKEN=your_twitter_bearer_token
# ═══════════════════════════════════════════════════════════════════════════════
# Redis (for job queue)
# ═══════════════════════════════════════════════════════════════════════════════
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# ═══════════════════════════════════════════════════════════════════════════════
# Puppeteer Configuration (for local mode)
# ═══════════════════════════════════════════════════════════════════════════════
PUPPETEER_HEADLESS=true
PUPPETEER_NO_SANDBOX=true
# PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
# ═══════════════════════════════════════════════════════════════════════════════
# Logging & Monitoring
# ═══════════════════════════════════════════════════════════════════════════════
LOG_LEVEL=info
# SENTRY_DSN=https://xxx@sentry.io/xxx