Developer documentation

API workspace
https://api.rentron.xyz/v1
OpenAPI schema

Polling and retries

// DOC

Production API

Polling and safe retries

Retry safely, respect Retry-After, act the moment energy_usable turns true, and stop polling only when both final flags are true.

On this page

Rentron does not send webhooks or callbacks. GET /v1/energy/orders/{id} is the source of truth.

After creation, poll Location after 1, 2, 5 seconds, then every 10 seconds. Add small jitter when tracking many orders concurrently.

Send your own transaction as soon as energy_usable turns true — the Energy is on the address by then. Keep polling after that, and stop only when lifecycle_final === true and delivery_final === true.

Retry matrix

Result Action
Network error / GET timeout Retry with backoff.
Order POST timeout Replay the exact body and client_request_id.
429 Wait the seconds specified by Retry-After.
500 / 503 on GET Retry with backoff and jitter.
400, 413, 415 Fix the request; automatic retry cannot help.
401 Fix the credential, signature, timestamp, or IP allowlist.
409 idempotency conflict Stop and investigate reused client IDs.

Three signals: one to act on, two to stop on

energy_usable is the one you act on. It turns true in available, about a minute before delivered, and means the Energy is on the address and spendable. Waiting for delivered only spends rental time you have already paid for.

delivery_final and lifecycle_final are the ones you stop on. delivery_final finishes the delivery attempt and stays false while available, because the delivery is not yet independently proven. lifecycle_final finishes the rental duration: after a successful delivery an order remains active until rental_finished. Stopping on energy_usable, on one flag, or on one status ends the loop too early.

Rate limits

Limits are applied separately to public time, authenticated traffic, and order creation. Do not guess limit values; treat 429 and Retry-After as the contract.