# ============================================================================= # REQUIRED — server will not start without these # ============================================================================= # Paymaster quote signer private key (32-byte hex, used to sign EIP-712 quotes) PAYMASTER_QUOTE_SIGNER_PRIVATE_KEY=0xreplace_with_quote_signer_private_key # Deployed paymaster contract address PAYMASTER_ADDRESS=0xreplace_with_deployed_paymaster_address # Production oracle mode uses Ethereum mainnet Chainlink + Coinbase + Kraken. # If unset, the API defaults to PublicNode's public Ethereum mainnet RPC. # ETHEREUM_MAINNET_RPC_URL=https://ethereum-rpc.example # Configure at least one chain token address. Only configured chains are served. USDC_MAINNET_ADDRESS=0xreplace_with_mainnet_usdc USDC_HOODI_ADDRESS=0xreplace_with_hoodi_usdc # ============================================================================= # Deployment # ============================================================================= DEPLOYER_PRIVATE_KEY=0xreplace_with_deployer_private_key ENTRYPOINT_ADDRESS=0x0000000071727De22E5E9d8BAf0edAc6f37da032 USDC_ADDRESS=0xreplace_with_target_network_usdc QUOTE_SIGNER_ADDRESS=0xreplace_with_quote_signer # ============================================================================= # Network # ============================================================================= TAIKO_MAINNET_RPC_URL=https://rpc.mainnet.taiko.xyz TAIKO_HOODI_RPC_URL=https://rpc.hoodi.taiko.xyz # ============================================================================= # Services # ============================================================================= API_PORT=3000 BUNDLER_PORT=3001 BUNDLER_RPC_URL=http://127.0.0.1:3001/rpc BUNDLER_HEALTH_URL=http://127.0.0.1:3001/health # Bundler submitter key (required for live eth_sendUserOperation acceptance) # If unset, the bundler starts in read-only mode and rejects eth_sendUserOperation. BUNDLER_SUBMITTER_PRIVATE_KEY=0xreplace_with_bundler_submitter_private_key # Optional bundler overrides # BUNDLER_CHAIN_ID=167000 # BUNDLER_CHAIN_RPC_URL=https://rpc.mainnet.taiko.xyz # BUNDLER_BENEFICIARY_ADDRESS=0xreplace_with_fee_recipient # BUNDLER_CALL_GAS_BUFFER_PERCENT=15 # BUNDLER_BUNDLE_POLL_INTERVAL_MS=5000 # BUNDLER_MAX_OPERATIONS_PER_BUNDLE=1 # BUNDLER_MAX_INFLIGHT_TRANSACTIONS=1 # BUNDLER_TX_TIMEOUT_MS=180000 # BUNDLER_MAX_FINALIZED_OPERATIONS=10000 REQUEST_TIMEOUT_MS=2500 LOG_LEVEL=info # ============================================================================= # Paymaster config (optional — sensible defaults applied) # ============================================================================= PAYMASTER_SURCHARGE_BPS=500 PAYMASTER_QUOTE_TTL_SECONDS=90 # NOTE: Guardrail env vars (PAYMASTER_MAX_VERIFICATION_GAS_LIMIT, PAYMASTER_MAX_POSTOP_OVERHEAD_GAS, # PAYMASTER_MAX_NATIVE_COST_WEI, PAYMASTER_MAX_SURCHARGE_BPS) were removed when Servo migrated to # Pimlico's SingletonPaymasterV7. The paymaster trusts the off-chain quote signer to bound these # values; there is no on-chain guardrail layer to configure. PAYMASTER_PRICE_CACHE_SECONDS=15 PAYMASTER_ORACLE_MAX_DEVIATION_BPS=75 PAYMASTER_ORACLE_HTTP_TIMEOUT_MS=2000 PAYMASTER_CHAINLINK_ETH_USD_MAX_AGE_SECONDS=7200 PAYMASTER_CHAINLINK_USDC_USD_MAX_AGE_SECONDS=86400 # Optional: override the default Ethereum mainnet Chainlink feed addresses. # PAYMASTER_CHAINLINK_ETH_USD_FEED=0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 # PAYMASTER_CHAINLINK_USDC_USD_FEED=0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6 # ============================================================================= # Rate limiting (optional) # ============================================================================= RATE_LIMIT_WINDOW_MS=60000 RATE_LIMIT_MAX_REQUESTS=60 # ============================================================================= # Persistence (optional) # ============================================================================= DB_PATH=./data/servo.db