MAINNET REFERENCE

Configuration

Circulate separates browser-safe values from protected server credentials. Standard Pump.fun launches need mainnet RPC and metadata services; the reward engine adds program, database, keeper, swap, and execution settings.

Standard launch variables

VariableVisibilityPurpose
SOLANA_RPC_URLServer secretVerifies mainnet identity and supports server-side transaction checks
NEXT_PUBLIC_SOLANA_RPC_URLBrowser safeSubmits the wallet-signed transaction and waits for confirmation
SOLANA_CLUSTERServerMust equal mainnet-beta
EXPECTED_GENESIS_HASHServerPins the RPC to Solana mainnet
PINATA_JWTServer secretUploads the token image and metadata JSON to IPFS
PUMP_API_BASEServerApproved Pump.fun transaction-builder origin
EXTERNAL_FETCH_TIMEOUT_MSServerBounds requests to external transaction and metadata services
Mainnet genesis hash

EXPECTED_GENESIS_HASH should be 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d. The backend compares this value with the connected RPC before building a launch.

Reward-engine variables

VariablePurpose
DATABASE_URLStores projects, rounds, leases, payouts, snapshots, and retry state
REWARDS_PROGRAM_IDReward Router address used for project and round instructions
MAINNET_REWARDS_PROGRAM_IDApproved mainnet program address used for exact equality checks
KEEPER_PUBLIC_KEYExpected restricted keeper identity stored in project configuration
KEEPER_SECRET_KEYServer-only gas-payer signing material for keeper transactions
JUPITER_API_BASEApproved route and swap-transaction endpoint
MAINNET_RELEASE_APPROVEDControls construction of value-changing reward transactions
LIVE_EXECUTION_ENABLEDControls live keeper transaction submission

Secret and scope rules

  • Never prefix a private RPC, Pinata JWT, database URL, keeper key, or authority credential with NEXT_PUBLIC_.
  • Use the same mainnet provider for server checks and a browser-safe endpoint for client submission.
  • Apply Netlify variables to the production context and any deploy-preview context used for transaction testing.
  • Redeploy after changing environment values so every function receives the new configuration.