Configuration File
All environment variables are defined in.env file at the repository root:
Loading Environment
Before starting services, load your environment:Service Ports
Configure ports for each microservice:.env
If you change ports, ensure services can reach each other via the service URL variables (see below).
Service URLs
Internal service-to-service communication URLs:.env
For distributed deployments, change these to network-accessible URLs (e.g.,
http://wallet-engine.internal:3002).RPC Configuration
Configure Solana RPC endpoints and connection behavior:RPC URLs
.env
- Devnet
- Mainnet (Helius)
- Mainnet (QuickNode)
- Custom RPC
.env
Priority Fees
Control transaction priority fee behavior:.env
How it works: The transaction engine fetches recent priority fees, takes the specified percentile, applies the multiplier, and clamps to min/max bounds.
Delta Guard
Tolerance for expected vs. actual balance changes:.env
Delta guard helps detect unexpected balance changes that could indicate simulation drift or front-running.
Wallet & Signing
Encryption Secret
Required for all deployments:.env
Signer Backend
Choose your key storage backend:.env
- encrypted-file
- memory
- kms
- hsm
- mpc
Best for: Local development, fast prototyping
.env
- Keys stored in
services/wallet-engine/data/ - Encrypted using AES-256-GCM with
WALLET_KEY_ENCRYPTION_SECRET - Simple, no external dependencies
- ⚠️ Keys are only as secure as the filesystem and encryption secret
Choosing a Signer Backend
Development: Use
encrypted-file for simplicityStaging: Use kms or hsm to test production-like securityProduction: Use kms, hsm, or mpc based on your security and compliance requirementsAuto-Funding (Devnet Only)
.env
Data Storage
Data Directories
.env
Production tip: Use absolute paths outside the source tree for data directories, and ensure they’re included in your backup strategy.
Database Paths (Optional)
Override individual SQLite database paths:.env
Leave empty to use default paths within data directories. Set explicitly for custom database locations.
API Gateway & Authentication
API Keys
.env
key: The actual API key stringtenant: Tenant ID, or*for all tenantsscopes: Comma-separated scope list, orallfor all scopes
.env
Client Configuration
.env
Agent Configuration
Manifest Signing
.env
Pause Webhook
.env
Transaction Engine
Outbox Queue
Durable transaction queue configuration:.env
How it works: Failed transactions are automatically retried up to
TX_OUTBOX_MAX_ATTEMPTS times with exponential backoff.Protocol-Specific Configuration
Escrow Program
.env
.env with the program ID.
Kora (Gasless Transactions)
.env
Kora integration enables gasless transactions where the platform pays transaction fees on behalf of users.
Deploy Key
Private key for program deployment and devnet funding:.env
CLI Configuration
.env
Environment Examples
Minimal Local Development
Minimal Local Development
.env
Production-Ready Staging
Production-Ready Staging
.env
High-Security Production
High-Security Production
.env
Security Best Practices
Secrets Management
- Use a secrets manager (Vault, AWS Secrets Manager, etc.)
- Inject secrets at runtime, never commit to git
- Rotate
WALLET_KEY_ENCRYPTION_SECRETperiodically - Use different secrets per environment
Network Security
- Use TLS for all service-to-service communication
- Restrict network access to internal services
- Use firewall rules to limit port access
- Enable audit logging for all API calls
Key Storage
- Never use
encrypted-filebackend in production - Prefer KMS/HSM for production key custody
- Implement key rotation policies
- Backup wallet data with encryption
API Keys
- Generate cryptographically random API keys
- Use scoped keys with minimum required permissions
- Rotate API keys regularly
- Monitor for unauthorized access attempts
Validation
Verify your configuration:Next Steps
Quickstart
Start services and execute your first transaction
Security Guide
Learn about trust boundaries and security model
Agent Setup
Configure autonomous agents with capabilities
Deployment
Deploy to production with proper hardening