Context
Soroban contract transactions can be submitted through multiple RPC nodes. No intelligent selection mechanism exists beyond simple round-robin.
Current Limitation/Problem
If a node is slow or returns incorrect data, the entire transaction fails. Users have no visibility into node health.
Expected Outcome
Node reputation scoring: track response time, success rate, data freshness, and liveness per node. Score-based weighted selection with automatic dead node removal.
Acceptance Criteria
Technical Scope
- backend/shared/soroban/ - NodeReputationService
- backend/shared/soroban/ - NodeSelector (weighted random selection)
- backend/monitoring/ - node health and reputation metrics
- backend/config/ - node registry with endpoints and metadata
- backend/shared/cache/ - score persistence in Redis
Context
Soroban contract transactions can be submitted through multiple RPC nodes. No intelligent selection mechanism exists beyond simple round-robin.
Current Limitation/Problem
If a node is slow or returns incorrect data, the entire transaction fails. Users have no visibility into node health.
Expected Outcome
Node reputation scoring: track response time, success rate, data freshness, and liveness per node. Score-based weighted selection with automatic dead node removal.
Acceptance Criteria
Technical Scope