Based on your Vercel environment variables, verify the following:
- Must be:
false(nottrue, not"false", justfalse) - Why: If this is
true, the app will be in demo mode and won't work properly
- Must be:
production - Why: Ensures production optimizations are enabled
- Must be:
https://arcpaybeta.vercel.app(your actual Vercel URL) - Why: Used for generating payment links and API calls
- Must be:
https://arcpaybeta.vercel.app(should match BASE_URL) - Why: Client needs to know where to make API calls
Ensure these pairs match:
ARC_CHAIN_ID=VITE_ARC_CHAIN_IDARC_RPC_URL=VITE_ARC_RPC_URLARC_EXPLORER_URL=VITE_ARC_EXPLORER_URLMERCHANT_BADGE_ADDRESS=VITE_MERCHANT_BADGE_ADDRESSINVOICE_PAYMENT_PROOF_ADDRESS=VITE_INVOICE_PAYMENT_PROOF_ADDRESS
- Should be:
falseor omitted entirely - Why: Production should use proper SSL certificates
✅ DATABASE_URL ✅ SESSION_SECRET ✅ ARC_CHAIN_ID ✅ ARC_RPC_URL ✅ ARC_EXPLORER_URL ✅ MERCHANT_BADGE_ADDRESS ✅ INVOICE_PAYMENT_PROOF_ADDRESS ✅ ADMIN_WALLET ✅ BASE_URL ✅ VITE_API_URL ✅ VITE_WALLETCONNECT_PROJECT_ID ✅ VITE_ARC_CHAIN_ID ✅ VITE_ARC_RPC_URL ✅ VITE_ARC_EXPLORER_URL ✅ VITE_MERCHANT_BADGE_ADDRESS ✅ VITE_INVOICE_PAYMENT_PROOF_ADDRESS ✅ VITE_USDC_TOKEN_ADDRESS ✅ DEMO_MODE ✅ NODE_ENV
- You have both
ARC_RPC_URLandARC_TESTNET_RPC_URL - Action: Make sure
ARC_RPC_URLis set correctly (the code usesARC_RPC_URL, notARC_TESTNET_RPC_URL) - You can remove
ARC_TESTNET_RPC_URLif it's redundant
- This seems to be for Vercel Blob storage
- Action: Make sure this is set if you're using file uploads
- Only needed if you're doing automated contract interactions
- Action: Verify if you actually need this
- Optional, only if using ARC API services
- Action: Verify if you're using this
-
Check DEMO_MODE value:
- Click on
DEMO_MODEin Vercel - Verify it shows
false(not"false"ortrue)
- Click on
-
Check BASE_URL:
- Should be exactly:
https://arcpaybeta.vercel.app - No trailing slash
- Should be exactly:
-
Check VITE_API_URL:
- Should match BASE_URL exactly:
https://arcpaybeta.vercel.app
- Should match BASE_URL exactly:
-
Verify matching values:
ARC_CHAIN_IDshould equalVITE_ARC_CHAIN_IDARC_RPC_URLshould equalVITE_ARC_RPC_URLARC_EXPLORER_URLshould equalVITE_ARC_EXPLORER_URL
-
After making changes:
- Redeploy your application in Vercel
- Environment variables only apply on new deployments
- DEMO_MODE is
true→ App won't work properly - BASE_URL doesn't match actual URL → Payment links won't work
- VITE_API_URL doesn't match BASE_URL → API calls will fail
- Mismatched server/client variables → Inconsistent behavior
- Missing VITE_WALLETCONNECT_PROJECT_ID → Wallet connection won't work
- ✅ Verify
DEMO_MODE=false - ✅ Verify
NODE_ENV=production - ✅ Verify
BASE_URL=https://arcpaybeta.vercel.app - ✅ Verify
VITE_API_URL=https://arcpaybeta.vercel.app - ✅ Verify all matching pairs are identical
- ✅ Remove or verify
ARC_TESTNET_RPC_URL(redundant?) - ✅ Set
ALLOW_SELF_SIGNED_CERTS=falseor remove it - ✅ Redeploy after making any changes