-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
121 lines (96 loc) · 4.66 KB
/
Copy path.env.example
File metadata and controls
121 lines (96 loc) · 4.66 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
# Pear Pay — Environment Variables
Copy to `.env` for local development.
**Full setup guide:** [`docs/ENV_SETUP.md`](docs/ENV_SETUP.md) — how to obtain every value.
```bash
# ── App URL (claim links, pay links, OG unfurl) ─────────────
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_SITE_URL=http://localhost:3000
APP_URL=http://localhost:3000
VERCEL_URL=
# ── Dynamic (embedded wallets + Flow + agent) ───────────────
NEXT_PUBLIC_DYNAMIC_ENVIRONMENT_ID=
DYNAMIC_ENV_ID=
DYNAMIC_API_TOKEN=
DYNAMIC_FLOW_CHECKOUT_ID=
DYNAMIC_FLOW_WEBHOOK_SECRET=
DYNAMIC_WALLET_PASSWORD=
FLOW_STORE_PATH=
AGENT_WALLET_ADDRESS=
# ── Arc testnet (Circle) ────────────────────────────────────
# Circle API — https://console.circle.com → API & Client Keys → Create a key
CIRCLE_API_KEY=
# Arc Testnet network (defaults below are correct for testnet)
# Chain ID 5042002 — use NEXT_PUBLIC_ARC_CHAIN_ID (CHAIN_ID at file bottom is Ethereum mainnet only)
NEXT_PUBLIC_ARC_CHAIN_ID=5042002
ARC_RPC_URL=https://rpc.testnet.arc.network
NEXT_PUBLIC_ARC_RPC_URL=https://rpc.testnet.arc.network
NEXT_PUBLIC_ARC_EXPLORER_URL=https://testnet.arcscan.app
# Arc stablecoin contract addresses (testnet — do not change unless Circle updates them)
ARC_USDC_ADDRESS=0x3600000000000000000000000000000000000000
ARC_EURC_ADDRESS=0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a
NEXT_PUBLIC_ARC_USDC_ADDRESS=0x3600000000000000000000000000000000000000
NEXT_PUBLIC_ARC_EURC_ADDRESS=0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a
# Deployer wallet — generate with: cast wallet new (Foundry)
# Used by forge script to deploy PearPayEscrow.sol. NEVER commit real keys.
PRIVATE_KEY=
# Server funder wallet — same key as PRIVATE_KEY for hackathon demos, or a
# separate hot wallet funded with testnet USDC. Used for live Arc settlement / x402.
FUNDER_PRIVATE_KEY=
# After deploy, paste the PearPayEscrow address here.
# NOTE: redeploy (npm run deploy:escrow) after the dispute-logic upgrade — the
# old deployment lacks escrowWithArbiter/dispute/resolveDispute.
ESCROW_CONTRACT_ADDRESS=
ARC_ESCROW_CONTRACT_ADDRESS=
ESCROW_DATABASE_URL=
# ── Chain-abstracted bridge (Circle Gateway unified balance -> Arc) ─────────
# Uses X402_BUYER_PRIVATE_KEY or FUNDER_PRIVATE_KEY to sign. Source-chain RPCs
# are OPTIONAL (the SDK ships sane defaults); override per chain if needed, e.g.:
# BASESEPOLIA_RPC_URL=
# SEPOLIA_RPC_URL=
# ARBITRUMSEPOLIA_RPC_URL=
# ── WebAuthn / Face ID ──────────────────────────────────────
WEBAUTHN_RP_ID=localhost
WEBAUTHN_RP_NAME=PearPay
WEBAUTHN_ORIGIN=http://localhost:3000
WEBAUTHN_STORE_PATH=
# ── x402 (Circle agent stack) ───────────────────────────────
X402_GATEWAY_ADDRESS=
# ── Unlink privacy (private balances + transfers) ─────────────
UNLINK_API_KEY=
UNLINK_ENGINE_URL=
UNLINK_PROJECT_ID=
UNLINK_ENVIRONMENT=arc-testnet
UNLINK_ACCOUNT_MNEMONIC=
UNLINK_ACCOUNT_WALLET_ADDRESS=
UNLINK_ACCOUNT_PRIVATE_KEY=
# ── Twilio (SMS / WhatsApp claims) ────────────────────────────
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_MESSAGING_SERVICE_SID=
TWILIO_VERIFY_SERVICE_SID=
TWILIO_FROM_NUMBER=
TWILIO_WEBHOOK_URL=
# ── RPC (Ethereum mainnet — generic chain access) ───────
RPC_URL=
CHAIN_ID=1
```
## Arc testnet setup
See **[`docs/ENV_SETUP.md` § Arc / Circle](docs/ENV_SETUP.md#3-arc--circle-settlement--escrow)** for wallet generation, faucet, API key, and deploy steps.
Quick reference:
| Variable | Value |
|----------|-------|
| Arc chain ID | `5042002` → set `NEXT_PUBLIC_ARC_CHAIN_ID=5042002` |
| `ARC_RPC_URL` | `https://rpc.testnet.arc.network` |
| `ARC_USDC_ADDRESS` | `0x3600000000000000000000000000000000000000` |
| `ARC_EURC_ADDRESS` | `0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a` |
| Faucet | [faucet.circle.com](https://faucet.circle.com/) |
| Docs | [Deploy on Arc](https://docs.arc.network/integrate/deploy-on-arc) |
Note: the `CHAIN_ID=1` at the bottom of the env block is for **Ethereum mainnet**, not Arc. Arc always uses `5042002`.
## Webhook URLs (production)
| Service | URL |
|---------|-----|
| Dynamic Flow | `https://your-domain/api/webhooks/flow` |
| Twilio SMS | `https://your-domain/api/webhooks/twilio` |
For production, use `https://pearpay.app` for `APP_URL`,
`NEXT_PUBLIC_APP_URL`, `NEXT_PUBLIC_SITE_URL`, `WEBAUTHN_ORIGIN`, and
`TWILIO_WEBHOOK_URL` after the domain is attached to the deployment.