RPC Providers
RPC (Remote Procedure Call) providers are the gateway between NMT and the blockchain. Every time the platform reads on-chain data or submits a transaction, it goes through an RPC provider.
Providers
dRPC — HTTPS (Data Fetching)
Purpose: High-throughput HTTPS endpoints for reading blockchain data across all supported chains.
Used by: Backend workers (pool indexing, position detection, price reads)
Chains covered: Ethereum, Base, Arbitrum, Optimism
Criticality: CRITICAL — if dRPC goes down, the backend cannot index new data.
Alchemy — WebSocket (Real-Time Events)
Purpose: WebSocket connections for subscribing to real-time blockchain events (logs, new blocks).
Used by: Backend workers (event detection for position opens/closes)
Chains covered: Ethereum, Base, Arbitrum, Optimism
Criticality: CRITICAL — if Alchemy WSS goes down, the backend can't detect new positions in real-time (though periodic polling via dRPC provides a fallback).
Infura — HTTPS (Contract Deployment)
Purpose: RPC endpoints used specifically for smart contract deployments via Hardhat.
Used by: Hardhat deployment scripts
Criticality: LOW — only needed during contract deployments, not runtime.
Helius — HTTPS (Solana)
Purpose: Solana-specific RPC and API endpoint.
Used by: Frontend (Solana wallet interactions)
Criticality: LOW — Solana support is partially integrated.
Configuration
RPC endpoints are configured via environment variables:
| Variable | Format |
|---|---|
RPC_ENDPOINTS |
JSON map of chain ID to HTTPS URL |
WS_ENDPOINTS |
JSON map of chain ID to WebSocket URL |
Example:
{
"1": "https://lb.drpc.org/ogrpc?network=ethereum&...",
"8453": "https://lb.drpc.org/ogrpc?network=base&...",
"42161": "https://lb.drpc.org/ogrpc?network=arbitrum&...",
"10": "https://lb.drpc.org/ogrpc?network=optimism&..."
}