src/services/stellar.rs (get_account, get_path_payment_paths, submit_transaction, fetch_transaction) make single-shot reqwest calls with no retry policy — any transient network blip or Horizon 5xx immediately surfaces as a HorizonError to the end user.
Given Stellar Horizon nodes are known to rate-limit and occasionally return transient errors, add bounded retry-with-backoff (e.g., via tower::retry or a small manual loop) for idempotent GET calls at minimum.
src/services/stellar.rs(get_account,get_path_payment_paths,submit_transaction,fetch_transaction) make single-shotreqwestcalls with no retry policy — any transient network blip or Horizon 5xx immediately surfaces as aHorizonErrorto the end user.Given Stellar Horizon nodes are known to rate-limit and occasionally return transient errors, add bounded retry-with-backoff (e.g., via
tower::retryor a small manual loop) for idempotent GET calls at minimum.