This section covers all network and connection-related configuration options for arb-assist.
RPC Configuration
Type: string
Required: Yes
Description: Solana RPC endpoint for fetching blockchain data
rpc_url = "https://api.mainnet-beta.solana.com"
Choosing an RPC Provider
Public RPCs (Not recommended for production):
rpc_url = "https://api.mainnet-beta.solana.com"
rpc_url = "https://solana-api.projectserum.com"
Recommended RPCs:
# Helius (cheaper option, fine for starting out)
rpc_url = "https://mainnet.helius-rpc.com/?api-key=YOUR_KEY"
# NFT-gated shared nodes (better performance)
rpc_url = "http://deez.top:80"
rpc_url = "http://shark.top:80"
rpc_url = "http://platinum.top:80"
rpc_url = "http://corvus.top:80"
rpc_url = "http://thor.top:80"
rpc_url = "http://vision.top:80"
Type: string
Required: No
Default: Same as rpc_url
Description: RPC endpoint for the generated bot configuration
Use this when you want arb-assist and your bot to use different RPCs.
sending_rpc_urls
Type: array
Required: Yes (for SMB mode)
Description: RPC endpoints for sending transactions
Best practices:
Use 3-5 different RPC providers
Include both premium and free endpoints
Test latency to each endpoint
GRPC Configuration
Type: string
Required: Yes
Description: GRPC endpoint for streaming transaction data
Type: string
Required: Depends on provider
Description: Authentication token for GRPC endpoint
For Yellowstone:
For ThorStreamer:
Type: string
Required: Yes
Values: "yellowstone" | "thor"
Description: Type of GRPC engine to use
Yellowstone GRPC
Characteristics:
Better for high-frequency trading
Configuration example:
Characteristics:
Easier firewall traversal
Good for VPS environments
Configuration example:
Type: string
Required: No
Description: Helius API key for priority fee estimation
Benefits of using Helius:
Real-time priority fee data
Network congestion metrics
More accurate fee estimation
Reduced failed transactions
Without Helius key:
Falls back to parsed transaction data
Less accurate fee estimates
May overpay or underpay fees
Type: string
Required: No
Description: UUID for Jito bundle identification
Used for:
Tracking bundle performance
Network Settings
Type: integer
Required: No
Default: 0 (disabled)
Description: Port for serving configuration files over HTTP
File server endpoints:
http://server:8080/smb-config.toml
http://server:8080/notarb-config.toml
http://server:8080/markets.json
http://server:8080/lookup-tables.json
Security considerations:
Use firewall to restrict access
Consider reverse proxy with authentication
Connection Pools
Additional connection settings in the [notarb] section:
These allow using different RPCs for different purposes:
token_accounts_checker: Slower, less critical checks
blockhash_updater: Fast, low-latency requirement
account_size_loader: Bulk data operations
Connection Troubleshooting
Connection Refused
Solutions:
Verify URL format (https:// vs http://)
Test with curl: curl YOUR_RPC_URL
Rate Limiting
Solutions:
Use premium RPC with higher limits
Implement request batching
Authentication Failed
Solutions:
Verify grpc_token is correct
Confirm grpc_engine matches provider
Stream Interrupted
Solutions:
Use closer geographic endpoint
Latency Reduction
Geographic Proximity
Use endpoints close to your VPS
Test ping times to each endpoint
Consider multi-region setup
Connection Pooling
Maintain persistent GRPC streams
Implement reconnection logic
Bandwidth Management
Monitor bandwidth usage:
GRPC streams: 50-200 Mbps typical
RPC requests: 10-50 Mbps typical
Total recommended: 1 Gbps connection
Reduce bandwidth:
Filter unnecessary GRPC data
Use compression where supported
Security
Rotate API keys regularly
Implement IP whitelisting
Monitor for suspicious activity
Last updated