Skip to main content
Customer sends crypto; Liquidramp settles fiat to a bank account. Order type is inferred from quote legs (crypto from → fiat to).
Use POST /orders. All write requests require sk_* auth and HMAC signing.

Prerequisites

  • KYB-approved partner account
  • KYC completed on the end user, preferably via a KYC provider (required for offramp)
  • Verified bank account details for the recipient (use account lookup below)
  • Signing implemented per Authentication

End-to-end flow

1

Create a quote

Lock a rate for crypto amount → fiat currency.
2

Create the order

Submit quote ID with recipient bank details (institution_code, account_number, account_name).
3

Collect crypto deposit

Show payin instructions (deposit address, asset, network, amount) from the order response.
4

Wait for payment confirmation

Liquidramp auto-detects the deposit. Optionally submit the on-chain tx_hash via POST /orders/:reference/fulfill if confirmation is delayed.
5

Track fiat payout

Request ?include=payout on the order, or listen for order.fiat_sent / order.settled webhooks.

1. Create a quote

2. Create the order

recipient must include institution_code, account_number, and account_name. Validate the account before creating the order:
Account lookup can use a public key (pk_*, no HMAC) or a secret key (sk_*, HMAC required) from your backend. bank_code is the same as institution_code on the order. List institutions via GET /institutions. The response payin object is the crypto deposit the customer must send:
The customer sends exactly amount of asset on network to address before expires_at.

3. Confirm pay-in (optional)

Liquidramp auto-detects the on-chain deposit. Call fulfill only if confirmation is delayed:

4. Poll payout

When complete, payout includes fiat transfer details (account_number, institution_code, tx_reference, paid_at).