From be8982f1604646ece44873399feab49522c06b48 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Sat, 7 Mar 2026 11:28:22 -0800 Subject: [PATCH] chore: switch payment defaults from staging to production - Transak: default env PRODUCTION, fail if API key missing instead of falling back to STAGING_KEY - Coinbase: default environment production instead of sandbox - Openfort: default chain ID 8453 (Base mainnet) instead of 84532 (Sepolia) Co-Authored-By: Claude Opus 4.6 --- modules/rflows/mod.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/rflows/mod.ts b/modules/rflows/mod.ts index 8b89c4f..b4a68da 100644 --- a/modules/rflows/mod.ts +++ b/modules/rflows/mod.ts @@ -199,8 +199,9 @@ routes.post("/api/flows/user-onramp", async (c) => { widgetUrl = session.onrampUrl; } else { // 2b. Transak: build widget URL server-side - const transakApiKey = process.env.TRANSAK_API_KEY || 'STAGING_KEY'; - const transakEnv = process.env.TRANSAK_ENV || 'STAGING'; + const transakApiKey = process.env.TRANSAK_API_KEY; + if (!transakApiKey) return c.json({ error: "Transak not configured" }, 503); + const transakEnv = process.env.TRANSAK_ENV || 'PRODUCTION'; const baseUrl = transakEnv === 'PRODUCTION' ? 'https://global.transak.com' : 'https://global-stg.transak.com'; @@ -274,16 +275,16 @@ routes.get("/api/onramp/config", (c) => { provider: process.env.ONRAMP_PROVIDER || (process.env.COINBASE_CDP_PROJECT_ID ? "coinbase" : "transak"), available, // Transak fields (only needed if provider=transak) - apiKey: process.env.TRANSAK_API_KEY || "STAGING_KEY", - environment: process.env.TRANSAK_ENV || "STAGING", + apiKey: process.env.TRANSAK_API_KEY || "", + environment: process.env.TRANSAK_ENV || "PRODUCTION", }); }); // Legacy endpoint — keep for backwards compat routes.get("/api/transak/config", (c) => { return c.json({ - apiKey: process.env.TRANSAK_API_KEY || "STAGING_KEY", - environment: process.env.TRANSAK_ENV || "STAGING", + apiKey: process.env.TRANSAK_API_KEY || "", + environment: process.env.TRANSAK_ENV || "PRODUCTION", }); }); @@ -495,7 +496,7 @@ export const flowsModule: RSpaceModule = { apiKeyId: process.env.COINBASE_CDP_KEY_ID, apiKeySecret: process.env.COINBASE_CDP_KEY_SECRET, projectId: process.env.COINBASE_CDP_PROJECT_ID, - environment: (process.env.COINBASE_ENVIRONMENT as 'sandbox' | 'production') || 'sandbox', + environment: (process.env.COINBASE_ENVIRONMENT as 'sandbox' | 'production') || 'production', }); console.log('[rflows] Coinbase Onramp provider initialized'); } @@ -504,7 +505,7 @@ export const flowsModule: RSpaceModule = { _openfort = new OpenfortProvider({ apiKey: process.env.OPENFORT_API_KEY, publishableKey: process.env.OPENFORT_PUBLISHABLE_KEY, - chainId: parseInt(process.env.BASE_CHAIN_ID || '84532', 10), + chainId: parseInt(process.env.BASE_CHAIN_ID || '8453', 10), }); console.log('[rflows] Openfort provider initialized'); }