> ## Documentation Index
> Fetch the complete documentation index at: https://docs.liquidramp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Non-custodial onramp, offramp, and swap for API partners.

Liquidramp is a **non-custodial liquidity aggregator**. Your application talks to a single API; Liquidramp routes each order to liquidity providers who hold inventory and settle against banking rails and blockchain networks.

Liquidramp does not take custody of customer funds. Providers settle on their own infrastructure while the platform coordinates quoting, routing, and settlement.

This documentation is for **API consumers** who embed onramp, offramp, and swap, and for **liquidity providers** who run a provision node. If you supply inventory, start with [Provision node setup](/liquidity-providers/node-setup).

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/getting-started/create-account">
    Create an account, get keys, and start integrating.
  </Card>

  <Card title="Authentication" icon="key" href="/getting-started/authentication">
    API keys, HMAC signing, and request headers.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Interactive reference powered by OpenAPI.
  </Card>
</CardGroup>

<CardGroup cols={3}>
  <Card title="Onramp" icon="arrow-down" href="/quickstarts/onramp">
    Fiat to crypto — quote, order, pay-in, settlement.
  </Card>

  <Card title="Offramp" icon="arrow-up" href="/quickstarts/offramp">
    Crypto to fiat — deposit, payout to bank.
  </Card>

  <Card title="Swap" icon="arrows-rotate" href="/quickstarts/swap">
    Crypto-to-crypto on the same network.
  </Card>
</CardGroup>

## What you can build

| Flow        | Direction                      | Order type |
| ----------- | ------------------------------ | ---------- |
| **Onramp**  | Fiat → crypto                  | `onramp`   |
| **Offramp** | Crypto → fiat                  | `offramp`  |
| **Swap**    | Crypto → crypto (same network) | `swap`     |

Each flow follows the same pattern: preview a rate, create an order, collect payment, then track settlement via the API or [webhooks](/quickstarts/webhooks).

## How a trade works

1. Preview a rate (`GET /v1/exchange-rate`) or reserve a **quote** (`POST /v1/orders/quote`).
2. Create an **order** (`POST /v1/orders`) with `from` and `to` legs (or a `quote_id`).
3. The response includes **pay-in** instructions for your customer.
4. After the customer pays, Liquidramp auto-detects and confirms the payment. `POST /v1/orders/:reference/fulfill` is optional — use it when confirmation is delayed.
5. Order `status` advances until `completed`, `failed`, `cancelled`, or `refunded`. [Webhooks](/quickstarts/webhooks) notify you along the way.

See [Order lifecycle](/concepts/order-lifecycle) for partner-visible statuses.

## Getting access

1. Create an account in the [partner portal](https://dashboard.liquidramp.com).
2. Complete KYB. Quote and order writes require an approved account.
3. Generate API keys (`pk_*`, `sk_*`, `enc_*`) in the portal.
4. For **onramp** and **offramp**, complete KYC on your end users — preferably through a KYC provider. This is not required for **swap**.
5. Call the Partner API with those keys. See [Authentication](/getting-started/authentication).

Reference and rate-preview endpoints work with a public key (`pk_*`) or a secret key (`sk_*`). Creating quotes and orders requires a secret key used from your **backend**, HMAC signing with `enc_*`, and an approved KYB status.

## Credentials

| Key prefix | Where to use it                                                       | Signing       |
| ---------- | --------------------------------------------------------------------- | ------------- |
| `pk_*`     | Read requests (reference data, rate preview)                          | None          |
| `sk_*`     | Backend only — reads **and** writes (quotes, orders, fulfilment)      | HMAC required |
| `enc_*`    | HMAC signing secret — never sent as Bearer, never in client-side code | —             |

## Partner API surface

| Area       | Endpoints                                                                            |
| ---------- | ------------------------------------------------------------------------------------ |
| Rates      | `GET /v1/exchange-rate`, `GET /v1/market-rates/:pair`                                |
| Quotes     | `POST /v1/orders/quote`                                                              |
| Orders     | `POST /v1/orders`, `GET /v1/orders/:reference`, `PATCH /v1/orders/:reference/cancel` |
| Fulfilment | `POST /v1/orders/:reference/fulfill` (optional; payment is auto-detected)            |
| Reference  | institutions, networks, crypto/fiat currencies, account lookup                       |
| Webhooks   | Outbound order lifecycle events — configure the URL in the portal                    |

Quickstarts: [Onramp](/quickstarts/onramp) · [Offramp](/quickstarts/offramp) · [Swap](/quickstarts/swap)

Test environments return test networks; production returns mainnet. See [Sandbox vs production](/getting-started/sandbox-vs-production).

## Integration path

<Steps>
  <Step title="Create account">
    Sign up and complete KYB in the [partner portal](https://dashboard.liquidramp.com). [Create account](/getting-started/create-account)
  </Step>

  <Step title="Get API keys">
    Generate `pk_*`, `sk_*`, and `enc_*` keys in the portal. [Authentication](/getting-started/authentication)
  </Step>

  <Step title="Implement signing">
    HMAC-sign `sk_*` requests with `enc_*` from your backend. [Authentication](/getting-started/authentication)
  </Step>

  <Step title="Ship">
    Use quickstarts and the [going-live checklist](/getting-started/checklist).
  </Step>
</Steps>
