Skip to main content
POST
Create Remittance Off-Ramp Order

Body

application/json
customer_id
string<uuid>
required
vendor_id
string<uuid>
required

Liquidity provider (API field name vendor_id): user id of the account that published the listing. Not the fiat beneficiary and not the source of the customer’s custody balance.

offer_id
string<uuid>
required

Liquidity listing (API field name offer_id): the active published terms row (pair, limits, asset) this order attaches to for validation and lifecycle. For custodial remittance flows (order_subtype = custodial_remittance_offramp), this can be null/empty.

sender_name
string
required

Display/compliance name for the crypto sender

sender_country
string
required

Preferred active ISO 3166-1 alpha-3 sender country code from the countries catalog. Example GBR. Legacy alpha-2 input is accepted and normalized to alpha-3

sender_phone
string
required

Sender MSISDN. Must differ from beneficiary_phone for mobile money

sender_wallet_address
string
required

Customer wallet used for network detection and escrow flow. Must belong to customer_id

beneficiary_phone
string
required

mobile money destination for KES payout

beneficiary_country
string
required

Preferred active ISO 3166-1 alpha-3 beneficiary country code from the countries catalog. Legacy alpha-2 input is accepted and normalized to alpha-3

Example:

"KEN"

beneficiary_fiat_amount
string
required

Net fiat amount the beneficiary should receive (e.g. KES as decimal string)

fiat_currency
string
required
Example:

"KES"

payment_method
string
required
Example:

"mpesa"

expires_at
string<date-time>
required
pricing_profile_id
string<uuid>
required
fx_rate_quote_id
string<uuid>
required
beneficiary_name
string

Optional beneficiary display name

payout_method
enum<string>
default:mpesa
Available options:
mpesa,
bank
fee_bearer
enum<string>

Defaults from liquidity listing then receiver

Available options:
sender,
receiver
payout_phone
string

Optional. Defaults to beneficiary_phone for mobile money

beneficiary_bank_name
string
beneficiary_bank_code
string
beneficiary_account_name
string
beneficiary_account_number
string

Response

Remittance off-ramp order created

id
string<uuid>
customer_id
string<uuid>
vendor_id
string<uuid>

Liquidity provider (publisher). API name vendor_id.

offer_id
string<uuid> | null

Liquidity listing id. API name offer_id. Nullable for custodial remittance orders.

asset
string | null
crypto_amount
string
usdt_amount
string | null

Backward-compatible alias for crypto_amount

fiat_amount
string
fiat_currency
string
wallet_address
string
status
enum<string>
Available options:
pending,
processing,
confirming,
completed,
cancelled,
failed
payment_method
string

e.g., mpesa

payment_txn_id
object

Database-style nullable string wrapper

blockchain_txn_hash
object

Database-style nullable string wrapper

expires_at
string<date-time>
completed_at
object

Database-style nullable time wrapper

created_at
string<date-time>
updated_at
string<date-time>
deleted_at
object

Database-style nullable time wrapper

merchant_request_id
object

Database-style nullable string wrapper

checkout_request_id
object

Database-style nullable string wrapper

mpesa_receipt_number
object

Database-style nullable string wrapper

payment_phone_number
object

Database-style nullable string wrapper

order_type
enum<string>
Available options:
ON_RAMP_BUY,
ON_RAMP_SELL,
OFF_RAMP_BUY,
OFF_RAMP_SELL
order_subtype
enum<string>

Distinguishes marketplace, remittance, custodial remittance, and company fiat-on-demand off-ramp flows. Legacy rows are backfilled as standard_onramp/standard_offramp. treasury_offramp has no offer_id. Vendor is the platform treasury.

Available options:
standard_onramp,
standard_offramp,
remittance_offramp,
custodial_remittance_offramp,
treasury_offramp
sender_name
object

Database-style nullable string wrapper

sender_country
object

Database-style nullable string wrapper

sender_phone
object

Database-style nullable string wrapper

beneficiary_bank_name
object

Database-style nullable string wrapper

beneficiary_bank_code
object

Database-style nullable string wrapper

beneficiary_bank_branch
object

Database-style nullable string wrapper

beneficiary_bank_address
object

Database-style nullable string wrapper

beneficiary_account_name
object

Database-style nullable string wrapper

beneficiary_account_number
object

Database-style nullable string wrapper

beneficiary_swift_code
object

Database-style nullable string wrapper

escrow_wallet_address
object

Database-style nullable string wrapper

escrow_network
object

Database-style nullable string wrapper

escrow_reference
object

Database-style nullable string wrapper

deposit_tx_hash
object

Database-style nullable string wrapper

deposit_confirmations
integer
deposit_detected_at
object

Database-style nullable time wrapper