Shared Types
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.
| Field | Type | Label | Description |
|---|---|---|---|
| lp_id | uint64 | t-0’s identifier for the LP that settled; scopes bank_transfer_ref. | |
| local_currency | string | ISO 4217 currency code delivered (e.g. COP). | |
| bank_transfer_ref | string | LP-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.
| Field | Type | Label | Description |
|---|---|---|---|
| on_chain_tx_hash | string | Hash of the settlement transaction. | |
| chain | Blockchain | ||
| destination_address | string | Registered 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.
| Field | Type | Label | Description |
|---|---|---|---|
| chain | Blockchain | ||
| deposit_address | string | One-time deposit address reserved for this intent on chain. | |
| renderable_payload | string | Chain-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.
| Field | Type | Label | Description |
|---|---|---|---|
| chain | Blockchain | ||
| on_chain_tx_hash | string | Hash of the customer’s USDt transfer. | |
| sender_address | string | Customer’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.
| Name | Number | Description |
|---|---|---|
| BLOCKCHAIN_UNSPECIFIED | 0 | |
| BLOCKCHAIN_TRON | 10 | |
| BLOCKCHAIN_ETH | 20 | |
| BLOCKCHAIN_BSC | 30 |