Origen de tasa y cotización FIFO indicativa
Las respuestas de payout pueden incluirrate_source para explicar de dónde
salió la tasa de mercado ejecutada:
El campo está disponible en la creación y el detalle cuando se carga la
atribución. Puede faltar en filas históricas o de listado. No cambia el débito,
la comisión ni el contrato del webhook.
Cotización de payout vigente en GET /v1/rates
La respuesta de tasas para la cuenta mantiene el nombre rate para la punta
de payout. Es la cotización de mercado ejecutable para el próximo payout: la
plataforma revisa el lote FIFO abierto más antiguo de la moneda del país.
Cuando existe inventario elegible, rate_source es lot; si no, usa spot y
rate_source es spot. Si falla la lectura del inventario, también cae a
spot; el débito del payout sigue siendo fail-closed.
payin_rate es la cotización del lado de depósitos. En USDT v1 puede estar
respaldada por lotes payin habilitados, fondeados por trades buy_crypto
liquidados; payin_rate_source informa lot o spot. Create/detail de payin
puede incluir rate_source cuando cargó una cotización. Los payins con tarjeta
siguen usando spot. El endpoint para administradores de organización expone la
misma distinción con payout_rate, payin_rate, rate_source y
payin_rate_source.
lot_quote opt-in para una
cotización indicativa por monto y conserva la respuesta del payout junto con
el webhook final como registro autoritativo de la ejecución.
Para previsualizar una cotización indicativa que considere inventario, agrega
currency y amount a GET /v1/rates:
lot_quote es de solo lectura e indicativo. La ejecución bloquea el inventario
dentro de la transacción del débito, por lo que un payout concurrente puede
cambiar el resultado. marked_rate es opcional. Los errores de validación son
valores dentro de la respuesta 200: invalid_amount,
currency_not_supported o quote_unavailable.
La cotización no garantiza el precio futuro. La respuesta del payout y el
evento final payout_status_changed son la fuente autoritativa. Para payins,
la cotización queda fijada antes del crédito asíncrono; el consumo FIFO registra
la atribución al acreditar. Un faltante cae a spot y genera una alerta operativa
sin cambiar el crédito cotizado.
Estados de la cotización
Llave de tasa EUR para SEPA
El único corredor de enrutamiento Europa (EU)/EUR/sepa comparte
una sola llave de tasa: sepa, con currency: "EUR". El catálogo de payouts
devuelve country: "EU" para esta fila, mientras el país real del beneficiario
sale del IBAN. El fee de payout y el spread FX resuelven sobre la fila de
pricing EU. rate_source sigue describiendo la cotización ejecutable
(lot o spot) y payin_rate sigue siendo spot del lado de depósitos.
Does this quote reserve inventory?
Does this quote reserve inventory?
No. It is read-only and indicative. The payout debit transaction locks and
consumes inventory atomically.
What should I store for reconciliation?
What should I store for reconciliation?
Store the payout response and its final
payout_status_changed event. Use
rate_source as the execution provenance; do not treat lot_quote as a
guarantee.