LpCallbackService

LP-implemented endpoint t-0 calls to request the LP’s durable decision on a standing quote execution for one authorized sale. Fiat mode only.

Method NameRequest TypeResponse TypeDescription
ExecuteQuoteExecuteQuoteRequestExecuteQuoteResponseRequests a durable Accepted or Rejected result; only Accepted creates the LP’s firm per-sale obligation.

LpService

t-0 endpoints the LP calls to push and withdraw standing quotes and to report its self-initiated fiat settlements. Fiat mode only.

Method NameRequest TypeResponse TypeDescription
PublishQuotePublishQuoteRequestPublishQuoteResponsePushes immutable standing quotes into t-0’s Order Book, at most one per currency per call; each is multi-consumable while it stands.
WithdrawQuoteWithdrawQuoteRequestWithdrawQuoteResponseRemoves one standing quote before expiry; intents already accepted against it are unaffected.
FiatSettlementSentFiatSettlementSentRequestFiatSettlementSentResponseReports a fiat bank-rails settlement the LP made on its own initiative against accepted quote executions. An execution still awaiting its durable result returns FAILED_PRECONDITION; retry the same request.

Requests And Response Types

ExecuteQuoteRequest

FieldTypeLabelDescription
execution_iduint64t-0’s id for this execution command; idempotency key and, after Accepted, the LP’s obligation handle.
quote_iduint64t-0’s id for the standing quote this execution is under.
quote_refstringLP’s own identifier for that quote — a non-authoritative correlation echo. Lets the LP attribute the execution even when it arrives before the LP has recorded t-0’s quote_id (publish-vs-execute race).
acquirer_iduint64t-0’s stable id for the Acquirer whose local-fiat obligation is being executed.
local_amountDecimalFiat amount owed to the Acquirer for this sale, in the standing quote’s currency.
amount_usdtDecimalUSDt the LP receives at settlement for this sale.
executed_atgoogle.protobuf.TimestampMoment t-0 created this durable execution command at authorization.

ExecuteQuoteResponse

The LP’s durable decision on one ExecuteQuote command.

FieldTypeLabelDescription
acceptedExecuteQuoteResponse.AcceptedThe LP accepts the execution.
rejectedExecuteQuoteResponse.RejectedThe LP declines the execution.

ExecuteQuoteResponse.Accepted

Acceptance creates the LP’s firm per-sale obligation.

This message has no fields defined.

ExecuteQuoteResponse.Rejected

Rejection leaves the payment intent authorized for manual handling.

FieldTypeLabelDescription
reasonExecuteQuoteResponse.Rejected.ReasonStable business classification for declining the command.
detailsstringHuman-readable business details for declining the command.

FiatSettlementSentRequest

FieldTypeLabelDescription
bank_transfer_refstringReference on the bank-rails transfer; idempotency key, unique per LP.
settled_execution_idsuint64repeatedAccepted executions this settlement clears, treated as a set (duplicates collapse, order is not significant).
local_currencystringISO 4217 currency delivered; matches the covered executions’ currency.
settlement_amountDecimalLocal-fiat amount delivered; must equal the sum of the covered executions’ local amounts.
settled_atgoogle.protobuf.TimestampMoment the LP released the bank-rails transfer.

FiatSettlementSentResponse

FieldTypeLabelDescription
acceptedFiatSettlementSentResponse.Accepted
rejectedFiatSettlementSentResponse.Rejected

FiatSettlementSentResponse.Accepted

This message has no fields defined.

FiatSettlementSentResponse.Rejected

FieldTypeLabelDescription
reasonFiatSettlementSentResponse.Rejected.Reason

PublishQuoteRequest

FieldTypeLabelDescription
quotesPublishQuoteRequest.QuoterepeatedStanding quotes to publish in one call, at most one per currency, each under its own quoteRef. The batch is atomic: one invalid quote declines the whole call and consumes no quoteRef.

PublishQuoteRequest.Quote

FieldTypeLabelDescription
quote_refstringLP’s identifier for this quote; idempotency key, unique per LP.
local_currencystringISO 4217 currency the quote prices (e.g. COP).
fx_rateDecimalPublished rate, in units of local_currency per 1 USDt.
expires_atgoogle.protobuf.TimestampMoment the quote stops standing, on t-0’s clock. Validity bounds are a business decline (VALIDITY_INVALID), not request validation.

PublishQuoteResponse

FieldTypeLabelDescription
successPublishQuoteResponse.Success
failurePublishQuoteResponse.Failure

PublishQuoteResponse.Failure

FieldTypeLabelDescription
reasonPublishQuoteResponse.Failure.Reason

PublishQuoteResponse.Success

FieldTypeLabelDescription
quotesPublishQuoteResponse.Success.PublishedQuoterepeatedOne entry per published quote, in request order.

PublishQuoteResponse.Success.PublishedQuote

FieldTypeLabelDescription
quote_refstringEcho of the quote’s quoteRef.
quote_iduint64t-0’s id for the standing quote, used everywhere downstream.

WithdrawQuoteRequest

FieldTypeLabelDescription
quote_iduint64The standing quote to withdraw; must have been minted for this LP.

WithdrawQuoteResponse

FieldTypeLabelDescription
successWithdrawQuoteResponse.Success
failureWithdrawQuoteResponse.Failure

WithdrawQuoteResponse.Failure

FieldTypeLabelDescription
reasonWithdrawQuoteResponse.Failure.Reason

WithdrawQuoteResponse.Success

This message has no fields defined.

ExecuteQuoteResponse.Rejected.Reason

NameNumberDescription
REASON_UNSPECIFIED0
REASON_OTHER10The LP declines for a business reason not otherwise classified; t-0 persists details and routes the authorized payment to manual handling.

FiatSettlementSentResponse.Rejected.Reason

NameNumberDescription
REASON_UNSPECIFIED0
REASON_EXECUTION_UNKNOWN10A listed execution was never created for this LP or has a durable Rejected result; do not settle it.
REASON_EXECUTION_ALREADY_COVERED20A listed execution is already covered by an accepted settlement.
REASON_CURRENCY_MISMATCH30local_currency does not match the covered executions’ currency.
REASON_AMOUNT_MISMATCH40settlement_amount does not equal the covered executions’ sum.
REASON_ACQUIRER_MIXED60The covered executions span more than one Acquirer (one transfer credits one account).
REASON_BANK_TRANSFER_REF_CONFLICT70bank_transfer_ref is already settled with different content; a genuinely different money movement is reported under a different reference.

PublishQuoteResponse.Failure.Reason

NameNumberDescription
REASON_UNSPECIFIED0
REASON_VALIDITY_INVALID30A quote’s expires_at is in the past, too short to be usable, or beyond the max window; the whole batch is declined.

WithdrawQuoteResponse.Failure.Reason

NameNumberDescription
REASON_UNSPECIFIED0
REASON_QUOTE_UNKNOWN10quote_id is unknown or belongs to another LP.