Provider Fields
Providers are defined in theproviders list under each chain configuration.
Unique identifier for the provider within the chain. Used in metrics, logs, and provider-specific routing.
Display name shown in the dashboard and logs. Defaults to
id if omitted.HTTP RPC endpoint URL. Supports environment variable substitution.*At least one of
url or ws_url is required.WebSocket RPC endpoint URL. Required for subscriptions and real-time block tracking.
Routing priority. Lower values = higher priority. Used by the Common patterns:
:priority strategy and as a tiebreaker in other strategies.1-5: Your own nodes and premium providers10-20: Free public providers100+: Last-resort fallbacks
Whether this provider serves historical/archival data. Non-archival providers are excluded for requests older than
selection.archival_threshold.Override chain-level
websocket.subscribe_new_heads for this provider.Provider capabilities and limits. See Capabilities for details.
Basic Provider Example
Environment Variable Substitution
Provider URLs support${ENV_VAR} substitution for API keys and secrets. Unresolved variables crash at startup to prevent silent misconfiguration.
Basic Substitution
Multiple Variables
.env File Support
Lasso loads.env files from the project root if present:
.env values.
BYOK (Bring Your Own Keys)
Use your own provider API keys alongside public providers for better rate limits and reliability.Example: Tiered Provider Setup
Benefits of BYOK
Higher rate limits
Higher rate limits
Paid provider plans typically offer 10-100x higher rate limits than free public endpoints.
Better reliability
Better reliability
Your own nodes and paid providers have dedicated capacity and SLAs.
Cost control
Cost control
Use free public providers for low-priority traffic and paid providers for critical requests.
Data sovereignty
Data sovereignty
Route sensitive requests to your own infrastructure while using public providers for general queries.
Provider Override
Bypass routing strategies and send requests directly to a specific provider:- Testing specific provider behavior
- Debugging provider issues
- Sending requests to providers with unique features
Common Provider Patterns
Archival + Pruned Combination
WebSocket Fallback
Multi-Region Setup
Provider Configuration from default.yml
Here’s a real example from the includeddefault.yml profile:
Best Practices
Use descriptive provider IDs
Use descriptive provider IDs
Provider IDs appear in metrics and logs. Use names like
ethereum_llamarpc or base_alchemy that include both chain and provider.Set WebSocket URLs when available
Set WebSocket URLs when available
WebSocket support enables real-time block tracking and reduces polling overhead.
Configure capabilities accurately
Configure capabilities accurately
Incorrect capability configuration can cause request failures. Test providers and document their actual limits.
Layer providers by priority
Layer providers by priority
Use priority tiers to control routing order: own nodes (1-5), paid providers (10-20), free providers (30-50), fallbacks (100+).
Document provider quirks
Document provider quirks
Use YAML comments to note rate limits, known issues, or special behavior.
Next Steps
Capabilities
Configure provider capabilities and error handling
Environment Variables
Learn about runtime configuration options