Skip to main content
GET
Polls the payer-facing state of an invoice. This powers the hosted invoice page, and it’s safe to call from the payer’s browser if you’re building a custom checkout UI. All data is redacted — no fees, no merchant internals.

Authorization

None — this endpoint is public. It only accepts the public invoice id (the last segment of invoiceUrl, e.g. exampleslug1); raw 24-hex payment ids are rejected so payments can’t be enumerated. Rate limit: 60/min.

Query parameters

string
required
The public invoice id — the last segment of the payment’s invoiceUrl (e.g. exampleslug1). Raw 24-hex payment ids are rejected with a 400.
If the crypto quote has expired, polling this endpoint refreshes it automatically (at most once per 15 s per payment). Check quoteExpiresAt on each response to know when the displayed quote goes stale.

Response

string
The deposit address the payer must send funds to.
number
The crypto amount payable.
number
Crypto amount received so far.
string
Invoice status (e.g. WAITING).
string
ISO timestamp when the invoice expires.
string
The pay currency ticker.
string
The invoice callback URL, if one was set at creation.
boolean
Whether the payment arrived after expiry.
number
Current on-chain confirmation count.
number
The fiat price of the invoice.
string
The fiat currency of the price (e.g. USD).
string
ISO timestamp when the current crypto quote expires. If the quote expired, polling this endpoint refreshes it automatically (at most once per 15 s per payment).

Errors

The response also carries fields not listed above: allowedCurrencies (the currency picker’s options, while status is AWAITING_CURRENCY), invoiceCancelUrl (the cancel/expiry redirect fallback), memo, and txIds.

See also

  • Select pay currency — lock the pay currency for an AWAITING_CURRENCY invoice before polling.
  • Cancel invoice (payer) — let the payer abandon an unpaid invoice from the same checkout UI.
  • Webhooks & IPN — push status changes to your backend instead of polling server-side.