You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Performance characteristics, benchmarks, and optimization tips for PumpKit bot components.
Telegram Bot Performance
Event Processing
Metric
Value
Notes
Transaction processing
~50 TX/sec
Per bot instance
Claim detection latency
< 2s (WebSocket)
Real-time via logsSubscribe
Claim detection latency
< 10s (polling)
HTTP fallback mode
Message sending rate
30 msg/sec
Telegram rate limit per bot token
Bot command response
< 500ms
Includes RPC fetch + format
Telegram Rate Limits
Scope
Limit
Mitigation
Per bot (global)
30 msg/sec
Queue messages, batch notifications
Per chat (group)
20 msg/min
Aggregate events into single messages
Inline queries
200/sec
Not applicable for PumpKit bots
File uploads
10 MB max
PNL cards are ~50KB (well under limit)
Exceeding Telegram limits triggers 429 errors with retry_after headers. All PumpKit bots respect these automatically via grammy's built-in flood control.
Solana RPC Performance
Connection Modes
Mode
Latency
Reliability
Cost
WebSocket (logsSubscribe)
< 2s
Medium (disconnects)
Free tier: limited
HTTP Polling (getSignaturesForAddress)
5-60s
High
1 call/interval
Dual (WS primary + HTTP fallback)
< 2s typical
High
Recommended
RPC Call Benchmarks
Operation
Calls
Typical Latency
Notes
getSignaturesForAddress
1
50-200ms
Primary polling method
getParsedTransaction
1
100-500ms
Decode claim details
getAccountInfo
1
50-200ms
Read bonding curve state
logsSubscribe (WebSocket)
Stream
Real-time
May disconnect under load
RPC Rate Limits by Provider
Provider
Free Tier
Paid Tier
Notes
Solana Public
40 req/s
N/A
Unreliable for production
Helius
10 req/s
100+ req/s
Recommended
QuickNode
25 req/s
500+ req/s
Good WebSocket support
Triton
10 req/s
200+ req/s
Dedicated endpoints
RPC Optimization Tips
// ✅ Batch multiple account reads into one callconstaccounts=awaitconnection.getMultipleAccountsInfo([key1,key2,key3]);// ❌ Don't make sequential calls for independent dataconsta=awaitconnection.getAccountInfo(key1);constb=awaitconnection.getAccountInfo(key2);// wasted round-trip
PumpKit patterns:
rpc-fallback.ts rotates through multiple RPC endpoints on 429/5xx errors
Failed endpoints get 60s cooldown before retry
WebSocket auto-reconnects with exponential backoff