-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
121 lines (106 loc) · 6 KB
/
Copy path.env.example
File metadata and controls
121 lines (106 loc) · 6 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
# ---------------------------------------------------------------------------
# AgentPay — environment configuration
# Copy this file to .env.local and fill in real values. .env.local is
# git-ignored; never commit real secrets.
# ---------------------------------------------------------------------------
# --- Supabase --------------------------------------------------------------
# Project Settings → API in your Supabase dashboard.
# NEXT_PUBLIC_SUPABASE_URL is safe to expose to the browser.
# SUPABASE_SERVICE_ROLE_KEY is SERVER-ONLY — it bypasses Row Level Security.
# Never prefix it with NEXT_PUBLIC_ and never send it to the client.
# Current Supabase credentials (server-only for this app).
SUPABASE_URL=
SUPABASE_SECRET_KEY=
# Legacy aliases, supported by lib/supabase-client.ts if your project uses them.
NEXT_PUBLIC_SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
# --- Agent LLM provider -------------------------------------------------------
# Which "brain" the agent runtime (lib/agent.ts, lib/llm-client.ts) uses.
# "anthropic" is the default and the one this project ships with; "groq" and
# "openai" are supported for local testing/fallback when an Anthropic key
# isn't on hand — Groq exposes an OpenAI-compatible API, so both share the
# same code path. Only fill in the section for whichever provider you pick.
LLM_PROVIDER=anthropic
# Optional override of the model name; if unset, lib/llm-client.ts picks a
# sensible default per provider (claude-sonnet-5 / openai/gpt-oss-120b /
# gpt-4o-mini). Set this explicitly if you switch LLM_PROVIDER.
AGENT_MODEL=
# Anthropic — https://console.anthropic.com/settings/keys
# This is the SDK's own default env var name — do not rename it.
ANTHROPIC_API_KEY=
# Groq — https://console.groq.com/keys (only needed if LLM_PROVIDER=groq)
GROQ_API_KEY=
# OpenAI — https://platform.openai.com/api-keys (only needed if LLM_PROVIDER=openai)
OPENAI_API_KEY=
# --- WDK wallet --------------------------------------------------------------
# Generate a TEST-ONLY wallet with the WDK CLI — never use a seed that holds
# real funds. See wallet-config/README.md for the full walkthrough.
# npx wdk wallet create --name agentpay-test --words 24
# npx wdk wallet export --name agentpay-test
WDK_WALLET_SEED=
WALLET_ADDRESS=
# --- Network -----------------------------------------------------------------
# Testnet only. Default target is Ethereum Sepolia (wdk-cli network id: "sepolia").
# NOTE: sepolia.drpc.org's free tier rejects Sepolia RPC calls ("chain is not
# available on free plan") — verified against the live endpoint. publicnode's
# free public RPC works; swap providers if this one ever rate-limits you.
NETWORK=sepolia
RPC_URL=https://ethereum-sepolia-rpc.publicnode.com
# WDK CLI ships a built-in testnet USDT registration for Sepolia (verified
# with `npx wdk token info --network sepolia --token usdt --json`) — no need
# to deploy a mock. Override if you target a different network.
USDT_CONTRACT_ADDRESS=0xd077A400968890Eacc75cdc901F0356c943e4fDb
USDT_DECIMALS=6
# --- WDK indexer (optional — only needed for `wdk get history`) -------------
WDK_INDEXER_BASE_URL=
WDK_INDEXER_API_KEY=
# --- Human dashboard login (MetaMask + Sign-In With Ethereum) --------------
# Signs/verifies the dashboard's session cookie. Separate from WDK_WALLET_SEED
# — this only proves who is viewing the dashboard, it never touches funds.
# Generate with `openssl rand -hex 32`.
SESSION_SECRET=
# --- Settings: per-agent LLM API keys ---------------------------------------
# Encrypts the API key a user pastes into Settings (Anthropic/Groq/OpenAI) —
# see lib/crypto.ts. Server-only, never sent to the browser. Generate with
# `openssl rand -hex 32`. Without this set, Settings can't save a key and
# every agent falls back to the LLM_PROVIDER/*_API_KEY vars above.
ENCRYPTION_KEY=
# --- Internal API auth ------------------------------------------------------
# Required by every private agent/dashboard/financial/x402 route (lib/security.ts). Generate a long
# random value, e.g. `openssl rand -hex 32`. Callers must send it as the
# `X-AgentPay-Internal-Key` header. Never expose this to the browser — it is
# for server-to-server calls (the agent runtime calling its own API routes).
INTERNAL_API_KEY=
# --- x402 demo ---------------------------------------------------------------
# Recipient address the demo paid-data endpoint asks to be paid to, and the
# CAIP-2 network id advertised in its x402 payment requirement. Defaults match
# Sepolia if left unset.
X402_PAYMENT_RECIPIENT=
X402_NETWORK=eip155:11155111
# Set to "true" only for local testing against non-public hosts (e.g. a paid
# API running on localhost). Leave unset/false in any shared or deployed
# environment — it disables the x402 proxy's SSRF protection.
X402_ALLOW_PRIVATE_HOSTS=false
# --- Binance Spot Testnet demo -----------------------------------------------
# Create demo-only API credentials at https://testnet.binance.vision/.
# These credentials must belong to Spot Testnet and must never be reused on
# Binance Mainnet. The application rejects Mainnet URLs and non-testnet mode.
BINANCE_TESTNET_API_KEY=
BINANCE_TESTNET_API_SECRET=
BINANCE_TESTNET_BASE_URL=https://testnet.binance.vision
BINANCE_TRADING_MODE=testnet
BINANCE_MAX_TRADE_USDT=100
BINANCE_ALLOWED_SYMBOLS=BTCUSDT,ETHUSDT,BNBUSDT,SOLUSDT
RUN_BINANCE_TESTNET_INTEGRATION_TESTS=false
# How often the in-process stop-loss/take-profit watcher polls prices, in
# milliseconds (see lib/binance/position-watcher.ts). Lower = faster demo
# triggers, higher = fewer Binance Testnet API calls.
BINANCE_WATCH_POLL_MS=15000
# --- Demo ----------------------------------------------------------------
# When true, /api/x402-demo can mint a mock payment proof without a real WDK
# transfer. Keep this false for the real recorded demo and anywhere publicly
# reachable — combined with a leaked/missing INTERNAL_API_KEY it would let a
# caller unlock paid resources for free.
DEMO_MODE=false
# This EOA-based implementation does not use ERC-4337.
# BUNDLER_URL and PAYMASTER_URL are intentionally not required.