# API VOX_PORT=8787 VOX_PUBLIC_BASE_URL=http://localhost:8787 VOX_WEB_DIST_DIR=apps/web/dist VOX_DOCS_DIR=docs VOX_INSTANCE_ID=vox.blog.local VOX_INSTANCE_SECRET_KEY= VOX_STATE_DIR=.vox-local VOX_CORS_ORIGIN=http://localhost:5173 VOX_MAX_POST_LENGTH=4000 VOX_PER_AGENT_PER_HOUR=120 # Production repository selection VOX_STORAGE=memory GOOGLE_CLOUD_PROJECT= VOX_FIRESTORE_DATABASE=(default) VOX_GCS_BUCKET= VOX_AVATAR_BUCKET= # Solana; leave empty for local evidence-only mode SOLANA_RPC_URL=https://api.devnet.solana.com VOX_ANCHOR_SECRET_KEY= VOX_ANCHOR_AUTHORITY_ID=vox:anchor:vox.blog VOX_ANCHOR_MODE=disabled VOX_INTERNAL_TOKEN= VOX_TASKS_LOCATION=us-central1 VOX_TASKS_QUEUE=vox-anchor VOX_ANCHOR_WORKER_URL= VOX_ANCHOR_WORKER_AUDIENCE= VOX_ANCHOR_WORKER_ID= VOX_ANCHOR_LEASE_SECONDS=300 VOX_WORKER_AUTH_MODE=none VOX_WORKER_TOKEN= VOX_TASKS_SERVICE_ACCOUNT= # Direct merchant payment is disabled by default; "mock" moves no funds. # Set VOX_PAYMENT_MODE=direct only after approving the cluster, mint, and merchant token account. VOX_PAYMENT_MODE=mock VOX_SOLANA_CLUSTER=devnet VOX_USDC_MINT= VOX_MERCHANT_USDC_TOKEN_ACCOUNT= # VOX Realize commission engine. Payout configurations are stored per creator; # they name the Populi API origin, rights agreement, USDC/network and server-managed # payout recipients. The settlement token is supplied through Secret Manager. VOX_POPULI_API_TOKEN= VOX_REALIZE_POPULI_WEBHOOK_SECRET= VOX_REALIZE_SETTLEMENT_URL= # Secret Manager supplies this value in production; do not commit it to .env files. VOX_REALIZE_SETTLEMENT_TOKEN= VOX_REALIZE_GENERATION_TIMEOUT_SECONDS=1800 # VOX Realize payment profiles. Devnet uses the custom escrow program. Mainnet # uses standard classic SPL USDC transfers to a treasury token account; it does # not require or deploy a custom Mainnet program. Mainnet settlement and refunds # stay backend-managed through the authenticated settlement adapter and are not # trustless escrow. Keep both profiles disabled until their integration checks # and separate production configuration are complete. VOX_REALIZE_DEVNET_ENABLED=false VOX_REALIZE_DEVNET_RPC_URL=https://api.devnet.solana.com VOX_REALIZE_DEVNET_PROGRAM_ID=GHLw1HY5BMXRUNzxeMVsv5r7usjQKWJA9SGVMGzNi3tb VOX_REALIZE_DEVNET_USDC_MINT=4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU VOX_REALIZE_DEVNET_ADMIN=4MSTtPJKELknreL2uaPJd9xpCZetypfoEjoMLY17btbL VOX_REALIZE_DEVNET_QUOTE_AUTHORITY=6yj1txeBEHJX5RULpRHExRCXe4x2p8ZeWYgc5y353im4 VOX_REALIZE_DEVNET_FULFILLMENT_AUTHORITY=8RiNuRwnJydiZq9tuAVBZWKw77UA7qovNMySJQS3AcE9 VOX_REALIZE_DEVNET_QUOTE_AUTHORITY_KEYPAIR_PATH= VOX_REALIZE_DEVNET_FULFILLMENT_AUTHORITY_KEYPAIR_PATH= VOX_REALIZE_DEVNET_FEE_PAYER_KEYPAIR_PATH= VOX_REALIZE_MAINNET_RPC_URL=https://api.mainnet-beta.solana.com VOX_REALIZE_MAINNET_USDC_MINT=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v VOX_REALIZE_MAINNET_ENABLED=false VOX_REALIZE_MAINNET_TREASURY_TOKEN_ACCOUNT=C5txndLZDr6GyFMgFjFEKyavPDJGAnkVB6EdnDUd1W26 VOX_REALIZE_MAINNET_TREASURY_OWNER=5Uvtth32oEiA9BG8XjzfTgwn9kry9iUQsYHnggxLpzgA VOX_REALIZE_MAINNET_MIN_PAYMENT_USDC_ATOMIC=2000000 VOX_REALIZE_MAINNET_MAX_PAYMENT_USDC_ATOMIC=10000000000 VOX_REALIZE_FIRST_PARTY_CREATOR_IDS=vox:agent:A4KzQOc_iHZyTQOmSqqrmSlpjrpSMwigXmwzcXFCDiM VOX_REALIZE_TREASURY_KEYPAIR_PATH= # Cross-chain NFT minting. Disabled by default. Every signer path below must be # a Secret Manager-mounted file or a gitignored local file; never commit key data. # Testnet validation uses solana:devnet, base:sepolia, and monad:testnet. VOX_NFT_ENABLED=false VOX_NFT_CHAINS=solana:devnet,base:sepolia,monad:testnet VOX_NFT_MAINNET_ENABLED=false VOX_CONFIRM_NFT_MAINNET=0 VOX_DEPLOYMENT_ENV=staging VOX_NFT_EVM_CONFIRMATIONS=1 VOX_NFT_SOLANA_DEVNET_RPC_URL=https://api.devnet.solana.com VOX_NFT_SOLANA_DEVNET_SIGNER_KEY_PATH= VOX_NFT_BASE_SEPOLIA_RPC_URL= VOX_NFT_BASE_SEPOLIA_CHAIN_ID= VOX_NFT_BASE_SEPOLIA_CONTRACT= VOX_NFT_BASE_SEPOLIA_SIGNER_KEY_PATH= VOX_NFT_MONAD_TESTNET_RPC_URL= VOX_NFT_MONAD_TESTNET_CHAIN_ID= VOX_NFT_MONAD_TESTNET_CONTRACT= VOX_NFT_MONAD_TESTNET_SIGNER_KEY_PATH= # Mainnet values are intentionally blank until the contracts, RPCs, and # dedicated signer identities are owner-approved and funded. VOX_NFT_SOLANA_MAINNET_BETA_RPC_URL= VOX_NFT_SOLANA_MAINNET_BETA_SIGNER_KEY_PATH= VOX_NFT_BASE_MAINNET_RPC_URL= VOX_NFT_BASE_MAINNET_CHAIN_ID= VOX_NFT_BASE_MAINNET_CONTRACT= VOX_NFT_BASE_MAINNET_SIGNER_KEY_PATH= VOX_NFT_MONAD_MAINNET_RPC_URL= VOX_NFT_MONAD_MAINNET_CHAIN_ID= VOX_NFT_MONAD_MAINNET_CONTRACT= VOX_NFT_MONAD_MAINNET_SIGNER_KEY_PATH= VOX_NFT_ARBITRUM_MAINNET_RPC_URL=https://arb1.arbitrum.io/rpc VOX_NFT_ARBITRUM_MAINNET_CHAIN_ID=42161 VOX_NFT_ARBITRUM_MAINNET_CONTRACT= VOX_NFT_ARBITRUM_MAINNET_SIGNER_KEY_PATH= VOX_NFT_ETHEREUM_MAINNET_RPC_URL= VOX_NFT_ETHEREUM_MAINNET_CHAIN_ID=1 VOX_NFT_ETHEREUM_MAINNET_CONTRACT= VOX_NFT_ETHEREUM_MAINNET_SIGNER_KEY_PATH= VOX_NFT_HYPEREVM_MAINNET_RPC_URL=https://rpc.hyperliquid.xyz/evm VOX_NFT_HYPEREVM_MAINNET_CHAIN_ID=999 VOX_NFT_HYPEREVM_MAINNET_CONTRACT= VOX_NFT_HYPEREVM_MAINNET_SIGNER_KEY_PATH= VOX_NFT_ROBINHOOD_MAINNET_RPC_URL=https://rpc.mainnet.chain.robinhood.com VOX_NFT_ROBINHOOD_MAINNET_CHAIN_ID=4663 VOX_NFT_ROBINHOOD_MAINNET_CONTRACT= VOX_NFT_ROBINHOOD_MAINNET_SIGNER_KEY_PATH= # Future Mainnet escrow fields are intentionally absent. They are not needed by # the SPL USDC payment phase and must not be used to enable a custom Mainnet program. # Web VITE_API_URL=http://localhost:8787 VITE_SOLANA_CLUSTER=devnet VITE_SOLANA_RPC_URL=https://api.devnet.solana.com # Set true only for a web build that should offer the same opt-in Devnet escrow checkout. VITE_REALIZE_DEVNET_ENABLED=false # Set true only in a production web build paired with the Mainnet Realize API and settlement service. VITE_REALIZE_MAINNET_ENABLED=false