Advanced Wallets

Reference: Advanced Wallets Configuration Settings

Core Settings

Variable Description Default Required
APP_MODE Application mode - advanced-wallet-manager or master-express
BIND Address to bind to localhost
TIMEOUT Request timeout (ms) 305000
NODE_ENV Node environment development
LOG_LEVEL Log level info

Advanced Wallet Manager (AWM) Settings

Variable Description Default Required
ADVANCED_WALLET_MANAGER_PORT Port to listen on 3080
KEY_PROVIDER_URL URL to your advanced wallets key provider API implementation -

Note

The KEY_PROVIDER_URL points to your implementation of the key provider API interface. You must implement this interface to connect your KMS/HSM. See Prerequisites for the specification and examples.

Master BitGo Express (MBE) Settings

Variable Description Default Required
MASTER_EXPRESS_PORT Port to listen on 3081
BITGO_ENV BitGo environment (prod, test, staging, dev, local) test
ADVANCED_WALLET_MANAGER_URL Advanced Wallet Manager URL -
BITGO_CUSTOM_ROOT_URI Custom BitGo API root URI (overrides BITGO_ENV) -
BITGO_DISABLE_ENV_CHECK Disable environment check true
BITGO_AUTH_VERSION BitGo authentication version 2
BITGO_CUSTOM_BITCOIN_NETWORK Custom Bitcoin network -

Additional Settings

Variable Description Default Applies To
RECOVERY_MODE Enable recovery mode for wallet recovery operations false Both
HTTP_LOGFILE Path to HTTP access log file logs/http-access.log Both
KEEP_ALIVE_TIMEOUT Keep-alive timeout in milliseconds - Both
HEADERS_TIMEOUT Headers timeout in milliseconds - Both
IPC IPC socket path (alternative to TCP port binding) - Both

TLS/mTLS Configuration

Basic TLS Settings

Variable Description Default
TLS_MODE TLS mode (mtls or disabled) mtls
CLIENT_CERT_ALLOW_SELF_SIGNED Allow self-signed client certificates false

Server Certificates (for Incoming Connections)

Variable Description Format
SERVER_TLS_KEY_PATH Server private key file path File path
SERVER_TLS_CERT_PATH Server certificate file path File path
SERVER_TLS_KEY Server private key (alternative) PEM string
SERVER_TLS_CERT Server certificate (alternative) PEM string

Client Authentication

Variable Description Format
MTLS_ALLOWED_CLIENT_FINGERPRINTS Allowed client certificate fingerprints Comma-separated list

Outbound mTLS Certificates

For Master Express → Advanced Wallet Manager

Variable Description Format
AWM_CLIENT_TLS_KEY_PATH Client private key file path File path
AWM_CLIENT_TLS_KEY Client private key (alternative) PEM string
AWM_CLIENT_TLS_CERT_PATH Client certificate file path File path
AWM_CLIENT_TLS_CERT Client certificate (alternative) PEM string
AWM_SERVER_CA_CERT_PATH AWM server CA certificate file path File path (required)
AWM_SERVER_CERT_ALLOW_SELF_SIGNED Allow self-signed AWM server certificates Boolean (default: false)

For Advanced Wallet Manager → key provider

Variable Description Format
KEY_PROVIDER_CLIENT_TLS_KEY_PATH Client private key file path File path
KEY_PROVIDER_CLIENT_TLS_KEY Client private key (alternative) PEM string
KEY_PROVIDER_CLIENT_TLS_CERT_PATH Client certificate file path File path
KEY_PROVIDER_CLIENT_TLS_CERT Client certificate (alternative) PEM string
KEY_PROVIDER_SERVER_CA_CERT_PATH Key provider server CA certificate file path File path (required)
KEY_PROVIDER_SERVER_CERT_ALLOW_SELF_SIGNED Allow self-signed key provider server certificates Boolean (default: false)

Note

For security reasons, when TLS_MODE=mtls, outbound client certificates are required and you can't reuse server certificates. When TLS_MODE=disabled, these certificates aren't required.