POST /v1/quote/prepare Prepare one chosen provider under a stable preparationId. The result is a normal, signable QuoteResponse; a retry with the same id returns the same stored quote.

Request

Request body

The QuoteRequest fields plus:

Response

data: QuoteResponse, as POST /quote.

Behavior

  • Replay: a stored preparation under this id is returned as-is, with its original expiresAt — a retry never extends it. The inputs, the organization and the provider must match the stored one, or it is EIN0001 (reference preparationId). A stored preparation that has expired (or whose configuration moved on) is EIN0005: create a new id.
  • Only the named provider is asked. No winner is EIN0008 with an empty reference.
  • The prepared transaction template is stored with the quote, so a prepared quote can be submitted through any hub replica sharing the event store.

Errors

The gateway’s own refusals — a refused credential, a route not open to it, a rate limit, the hub unreachable or too slow — can come back from every route, with an EPX code and a real HTTP status (Errors — gateway codes); EIN0049 (internal, scrubbed) can come back from any route.

Example

Response

Illustrative values; formats follow the Response table. Identical shape to POST /quote; the ids differ because prepare derives the round id from your organization and preparationId. signablePayload.quoteId is the provider’s own quote id, not the hub’s quoteId above it. The year-2100 deadlines are the test fixture’s, which a live hub would not serve (POST /quote — example).
No executionTx or swapInput (the escrow lane discloses neither); no auction (firm quote).

See also