The field guide · rule 10 of 16
Expect other services to fail
Retry what is safe, pause what keeps failing, keep a second source, and never blindly resend money.
What it means
Outside services fail. Retry the safe things, and wait a little longer each time. If a service keeps failing, stop calling it for a while. Keep a second source ready. Most important of all: never automatically retry something that may already have worked, such as sending money.
What goes wrong without it
A payment provider is slow to answer. The system decides the payment failed and sends it again. Both payments go through.
How I build it
- My chain-intelligence service uses several blockchain connections in order of preference. One that keeps failing is skipped for a few minutes, then checked again.
- In my reward systems, a coin transfer is sent once only. If there is no answer, the result is marked "unknown", and a person checks the blockchain before anything else happens. A wrong "unknown" costs a check; a wrong "failed" costs a double payment.
- My research service fetches its sources at the same time, so it is only as slow as the slowest one.
Ask your team
- When a payment times out, does the system know whether it went through?
- Does anything stop calling a service that keeps failing?
- Is there a second source for anything critical?
How a review checks this
The payments check follows what happens after a timeout, step by step, and marks any retry that could pay twice.
Request a reviewThe offer: Payments and ledger integrity checkCheck your system in one minute