---
title: "List onramp orders"
method: GET
path: "/onramp/orders"
tags: ["Onramp"]
---

# List onramp orders

`GET /onramp/orders`

## Request

- Base URL: `https://v1.orchestrator.rhinestone.dev/deposit-processor`
- URL: `https://v1.orchestrator.rhinestone.dev/deposit-processor/onramp/orders`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/docs/onramp/orders/get.ts> (a function with typed inputs; its response is checked against the schema)

Newest first by when each order began: the project’s with an API key; with a bearer, the customer’s and those on its bound account (card and exchange orders carry no customer).

## Query parameters

- `account` string: Ethereum address (0x followed by 40 hex characters)
- `provider` 'noah' | 'swapped': Only this provider’s orders, applied before `limit`
- `cursor` string, uuid: `nextCursor` of the previous page
- `limit` integer

## Headers

- `x-api-key` string: Integrator API key: the project’s orders
- `authorization` string: Customer bearer from `POST /compliance/sessions`, or a project-scoped platform bearer where the route permits tenant access

## Response `200`

A page of orders

- OnrampOrderPage
  - `items` OnrampOrder[], required
    - `id` string, uuid, required
    - `provider` 'noah' | 'swapped', required
    - `kind` 'fiat' | 'exchange', required
    - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'refunded', required
    - `terminal` boolean, required: No stage will change again
    - `stages` object, required
      - `receipt` union, required
        - object
          - `status` 'not_started', required
        - object
          - `status` 'pending', required
        - object
          - `status` 'on_hold', required
          - `reason` 'kyc_required' | 'rfi_open' | 'review', required
        - object
          - `status` 'processing', required
        - object
          - `status` 'completed', required
        - object
          - `status` 'failed', required
          - `reason` 'cancelled' | 'declined' | 'expired' | 'provider_error', required
      - `conversion` union, required
        - object
          - `status` 'not_started', required
        - object
          - `status` 'processing', required
        - object
          - `status` 'on_hold', required
          - `reason` 'rfi_open' | 'review', required
        - object
          - `status` 'completed', required
        - object
          - `status` 'failed', required
          - `reason` 'sub_fee' | 'provider_error', required
      - `delivery` union, required
        - object
          - `status` 'not_started', required
        - object
          - `status` 'pending', required
        - object
          - `status` 'on_hold', required
          - `reason` 'rfi_open' | 'review', required
        - object: The provider reported the transfer; not yet seen on chain
          - `status` 'submitted', required
          - `txHash` string, required
        - object: The transfer landed on chain as a deposit
          - `status` 'completed', required
          - `txHash` string, required
          - `depositId` string, required: The deposit it landed as
        - object
          - `status` 'failed', required
          - `reason` 'sub_fee' | 'provider_error', required
      - `return` union, required
        - object
          - `status` 'none', required
        - object
          - `status` 'pending', required
        - object
          - `status` 'processing', required
        - object
          - `status` 'completed', required
          - `outcome` 'full_refund' | 'adjustment' | 'unresolved', required
        - object
          - `status` 'failed', required
    - `rail` union, required: `provider_selected` / `unknown` when the provider did not say
      - object
        - `kind` 'fiat', required
        - `method` string, required
      - object
        - `kind` 'exchange', required
        - `connection` string, required
    - `fiat` object, required: Each figure in a fixed currency; null when the provider did not state it
      - `charged` object, nullable, required: What the customer paid, in their own currency
        - `total` string, nullable, required: Including fees
        - `net` string, nullable, required: Before fees
        - `currency` string, required
      - `eur` object, nullable, required: Comparable across every order
        - `total` string, nullable, required: Including fees
        - `net` string, nullable, required: Before fees
      - `usd` object, nullable, required
        - `total` string, nullable, required: Including fees
        - `net` string, nullable, required: Before fees
    - `crypto` object, nullable, required
      - `asset` string, required
      - `network` string, required
      - `amount` string, required
    - `account` string, required: Ethereum address (0x followed by 40 hex characters)
    - `deliveryAddress` string, nullable, required: Ethereum address (0x followed by 40 hex characters)
    - `deliveryChain` string, nullable, required: CAIP-2 chain of the delivery, e.g. `eip155:8453`
    - `providerStatus` string, required: The provider’s own status; informational
    - `createdAt` string, date-time, required: When the provider says the order began
    - `updatedAt` string, date-time, required
  - `nextCursor` string, uuid, nullable, required

## Other responses

- `401`: Missing or invalid API key or bearer
- `403`: API key lacks deposits:read, the bearer no longer matches its customer, or this provider takes the other credential
- `500`: Internal failure serving the request
- `503`: Tenant billing verification is temporarily unavailable; retry after 5 seconds.

## Changes

- **2026-11-06** `aa1767d704fa`: 12 warning, 7 info
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `401`
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `403`
  - added the new `PROVIDER_FORBIDDEN` enum value to the `code` response property for the response status `500`
  - added the new `PROVIDER_REJECTED` enum value to the `code` response property for the response status `401`
  - …15 more
- **2026-10-07** `8b74181ef9e2`: 4 info
  - added the optional property `code` to the response with the `401` status
  - added the optional property `code` to the response with the `403` status
  - added the optional property `code` to the response with the `500` status
  - added the required property `items/items/deliveryChain` to the response with the `200` status
- **2026-10-02** `2a4550fcca0f`: 3 info
  - added the new optional `header` request parameter `authorization`
  - added the new optional `query` request parameter `provider`
  - the `header` request parameter `x-api-key` became optional
- **2026-09-30** `a6fd693c3d5f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/changes/onramp/orders/get.md)

---

[API](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api.md) - [All operations](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rhinestonewtf/apis/deposit-service-api/revisions/aa1767d704fa?raw)
