Order status
One status vocabulary everywhere — the website, the Telegram bot, the API and webhooks:
AwaitingPayment · Paid · Activating · Fulfilling · Completed · Failed · Refunded · Expired · Cancelled
What an API order goes through
Paid ──► Fulfilling ──► Completed
│
└──────► Failed ──► Refunded| Status | Meaning | Final? |
|---|---|---|
Paid | charged, delegation queued | no |
Fulfilling | delegating. fulfil_unknown: true = the delegation's outcome is late and we are checking — do not re-order | no |
Completed | energy delegated: delegation_tx_id is set, and the energy stays until delegation_expires_at | yes |
Failed | the delegation failed — the instant before Refunded | no |
Refunded | the charge went back to your balance, in the same asset | yes |
AwaitingPayment, Activating, Expired, Cancelled | used by website orders; not produced by API orders today | — |
Test-mode orders go Paid → Fulfilling → Completed within the create request.
Following an order
- Webhooks (recommended): every status change is pushed to your callback URL as
order.<status in lower case>—order.paid,order.fulfilling,order.completed,order.failed,order.refunded. See Webhooks. - Polling:
GET /v1/orders/{order_no}orGET /v1/orders/lookup?external_id=…. A few seconds between polls is plenty; stop at a final status.
Refunds are credits to your account balance — never sends back to an address.