Skip to main content
All secrets live in a secrets manager. Real values are never committed to source — .env files in the repo contain placeholders only.
Never put live keys (Stripe, PayPal, AWS, Atlas) in plaintext config. The team configures production values through AWS Secrets Manager and they’re loaded into the ECS task at boot.

Core application

VariableTypeDescriptionExample
APP_PORTnumberHTTP port the server listens on80
NODE_ENVstringRuntime environmentproduction
DATABASE_URLstringMongoDB connection string (Prisma)mongodb+srv://...
REDIS_URLstringRedis connection string (managed — ElastiCache or Upstash)redis://...
JWT_SECRETstringSecret for signing JWTs

Stripe

VariableTypeDescriptionExample
STRIPE_SECRET_KEYstringStripe secret keysk_live_...
STRIPE_WEBHOOK_SECRETstringStripe webhook signing secretwhsec_...

PayPal

VariableTypeDescriptionExample
PAYPAL_MODEstringsandbox or livelive
PAYPAL_CLIENT_IDstringPayPal OAuth2 client ID
PAYPAL_CLIENT_SECRETstringPayPal OAuth2 client secret (a.k.a. PAYPAL_SECRET)
PAYPAL_PARTNER_IDstringPayPal Partner ID for marketplace onboarding
PAYPAL_BN_CODEstringBuild Notation Code (attribution)
PAYPAL_WEBHOOK_IDstringID of the webhook listener configured in PayPal

Telr

VariableTypeDescriptionExample
TELR_STORE_IDstringTelr store ID issued by Telr
TELR_AUTH_KEYstringTelr auth key (rotate quarterly)
TELR_BASE_URLstringDefaults to https://secure.telr.com
TELR_ENABLEDbooleanMaster gate for Telr routingtrue
TELR_TEST_MODEbooleanSend ivp_test=1 on order createfalse

Bonum

VariableDefaultNotes
BONUM_API_BASE_URLhttps://testpsp.bonum.mn for sandbox
BONUM_MERCHANT_KEYIssued by MCredit
SETTLEMENT_CRON_SCHEDULE0 2 * * *Adjust for the operating timezone
MERCHANT_PREFIX_DIGITS6Confirm with the PSP before go-live

Coinbase Commerce

VariableTypeDescription
COINBASE_COMMERCE_API_KEYstringCoinbase Commerce API key
COINBASE_COMMERCE_WEBHOOK_SECRETstringCoinbase Commerce webhook shared secret

Fulfillment

VariableTypeDescription
EASY_POST_API_KEYstringPrivate API key from your EasyPost dashboard
PRINTFUL_API_KEYstringAPI key from Printful → Settings → API
PRINTFUL_STORE_IDstringStore ID from Printful’s stores section

Email

VariableTypeDescriptionExample
SENDGRID_API_KEYstringSendGrid API key for transactional email
EMAIL_FROMstringSender addressnoreply@droplinked.com

Affiliate network

VariableTypeDescription
AFFILIATE_KMS_KEY_ARNstringARN of the KMS ECC_SECG_P256K1 key used to sign USDC payout transactions
AFFILIATE_REDIRECT_BASE_URLstringPublic base URL for affiliate redirect links (e.g. https://go.droplinked.com)
AFFILIATE_COOKIE_SECRETstringHMAC secret for signing the dl_aff attribution cookie
AFFILIATE_COMMISSION_DEFAULT_PERCENTnumberDefault commission rate when not set per product
AFFILIATE_ATTRIBUTION_TTL_DAYSnumberDays before an attribution session expires
USDC_PAYOUT_WALLET_ADDRESSstringAvalanche C-Chain wallet address for USDC payouts (must be funded)
AVALANCHE_RPC_URLstringAvalanche C-Chain RPC endpoint
Rotate AFFILIATE_COOKIE_SECRET and JWT_SECRET every 90 days. KMS keys are rotated on a coordinated schedule with the security lead.