Requests And Response Types

FiatSettlementDetails

Fiat bank-rails settlement detail shape. Currently unused on the wire: fiat mode has no SettlementCompleted (13) — the Acquirer’s SettlementReceived (12) is terminal — and SettlementInitiated (11) carries these fields inline. Retained as the canonical fiat-settlement detail shape.

FieldTypeLabelDescription
lp_iduint64t-0’s identifier for the LP that settled; scopes bank_transfer_ref.
local_currencystringISO 4217 currency code delivered (e.g. COP).
bank_transfer_refstringLP-minted reference on the bank-rails transfer.

OnChainSettlementDetails

USDt-on-chain settlement payload, shared by the issuer’s SettlementSent and the acquirer’s SettlementCompleted usdt variant.

FieldTypeLabelDescription
on_chain_tx_hashstringHash of the settlement transaction.
chainBlockchain
destination_addressstringRegistered settlement wallet on chain — the Acquirer’s (USDt mode) or the LP’s (fiat mode).

QrOption

One selectable QR payment option for an intent — the renderable payload is chain-native and encoded by the POS without modification.

FieldTypeLabelDescription
chainBlockchain
deposit_addressstringOne-time deposit address reserved for this intent on chain.
renderable_payloadstringChain-native URI (e.g. ERC-681 on EVM) the POS encodes as a QR image as-is.

UsdtOnChainPayment

One on-chain USDt transfer made by the customer. The only payment-method variant in the MVP.

FieldTypeLabelDescription
chainBlockchain
on_chain_tx_hashstringHash of the customer’s USDt transfer.
sender_addressstringCustomer’s source wallet address, for receipt and audit.

Blockchain

On-chain network a USDt leg moves over. Local to the pay contract. Launch-live: TRON, ETH, BSC. Six more (Polygon, Arbitrum, Optimism, Base, Avalanche, Solana) are announced as upcoming and added here as they go live. Wire names are the full chain names (qr_api.md Conventions); these enum labels are the internal mapping.

NameNumberDescription
BLOCKCHAIN_UNSPECIFIED0
BLOCKCHAIN_TRON10
BLOCKCHAIN_ETH20
BLOCKCHAIN_BSC30