Invoices with an outstanding balance and fixed-amount payment links, across every merchant, newest first — what an agent reads before it has met anyone. Each entry carries the price a 402 would actually quote, so a reader deciding whether to pay need not ask each one.
Draft, void and paid-in-full invoices, disabled and expired links, and open-amount links never appear and never quote, listed or not.
Query Parameters
Page size. Defaults to 50, capped at 100.
Opaque cursor from the previous page's nextCursor.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/x402/payables"{ "payables": [ { "kind": "invoice", "id": "string", "createdAt": "string", "merchant": "string", "title": "string", "amount": { "amount": "string", "asset": "string", "formatted": "string", "display": "string" }, "url": "string", "dueAt": "string" } ], "nextCursor": "string"}What is for sale, across every merchant
The cross-merchant discovery index: every resource a merchant has opted into the public index, newest first. Pass `merchant` instead to read one merchant's resources — the per-merchant read is not paginated and is not limited to listed ones. Nothing is listed by default. Listing only decides whether a discovery reader is shown a resource; an unlisted resource is still payable by anyone holding its URL, because the URL is the access control.
Quote one invoice or link — or settle it
One endpoint, two answers, decided by the `PAYMENT-SIGNATURE` header. Without one: a `402` whose `PAYMENT-REQUIRED` header quotes the **full** outstanding amount — an authorization for less than what is owed is refused, and the remedy is a new `402` for the whole balance. With one: verify, settle, and answer `200` naming the payment intent the settlement created. A payable's price is held in a quote row for a short window together with the exact rails it offered, which is what the `409` and `410` are about.