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

# List Orders

> Retrieve a paginated list of offramp orders for your project to track and reconcile payouts.



## OpenAPI

````yaml api-reference/_open-api/OfframpAPIs.json GET /2022-06-09/orders
openapi: 3.0.1
info:
  description: |
    Offramp APIs for cashing out stablecoins to fiat.
  version: 1.0.0
  title: Offramp
  contact:
    name: Crossmint Offramp APIs
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
  - url: https://www.crossmint.com/api
    description: Production environment (mainnets)
security: []
tags:
  - name: Offramp
    description: APIs to cash out stablecoins to fiat (offramp)
  - name: Payment Methods
    description: Manage bank account payout methods for offramp.
paths:
  /2022-06-09/orders:
    get:
      tags:
        - Offramp
      summary: List Orders
      description: >
        Returns a paginated list of offramp orders for your project, newest
        first by default. Use `nextCursor` or `previousCursor` from the response
        to page through results.


        Optional filters accept comma-separated values (maximum 20 terms per
        filter). Keep the same filter params when following cursors.


        **API scope required**: `orders.read`
      operationId: list-offramp-orders
      parameters:
        - name: cursor
          in: query
          required: false
          description: >-
            Opaque cursor from a previous response's `nextCursor` or
            `previousCursor`. Omit on the first request.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Maximum number of orders to return. Minimum 1, maximum 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 30
          example: 30
        - name: sort
          in: query
          required: false
          description: Sort direction applied to `createdAt`.
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: paymentStatus
          in: query
          required: false
          description: >-
            Comma-separated list of payment statuses. Orders matching any value
            are returned. Maximum 20 terms per parameter. Keep filter params
            stable when paginating with cursors.
          schema:
            type: array
            items:
              type: string
              enum:
                - quote-phase
                - in-progress
                - succeeded
                - declined
                - expired
                - refunded
            maxItems: 20
          style: form
          explode: false
        - name: deliveryStatus
          in: query
          required: false
          description: >-
            Comma-separated list of delivery statuses. Orders matching any value
            are returned. Maximum 20 terms per parameter. Keep filter params
            stable when paginating with cursors.
          schema:
            type: array
            items:
              type: string
              enum:
                - not-started
                - in-progress
                - partial-delivery
                - delivered
                - failed
            maxItems: 20
          style: form
          explode: false
        - name: paymentMethod
          in: query
          required: false
          description: >-
            Comma-separated list of currencies matched against
            `payment.totalPaid.currency`. The `fiat` value matches all fiat
            payment methods. Maximum 20 terms per parameter.
          schema:
            type: array
            items:
              type: string
            maxItems: 20
          style: form
          explode: false
          example: usdc,fiat
        - name: recipientAddress
          in: query
          required: false
          description: >-
            Exact match on buyer wallet address (`buyer.mintTo`). Supports EVM
            and Solana addresses. Maximum 20 terms per parameter.
          schema:
            type: array
            items:
              type: string
            maxItems: 20
          style: form
          explode: false
        - name: orderId
          in: query
          required: false
          description: >-
            Exact match on order ID (`orderIdentifier`). Maximum 20 terms per
            parameter.
          schema:
            type: array
            items:
              type: string
              format: uuid
            maxItems: 20
          style: form
          explode: false
      responses:
        '200':
          description: Orders retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrdersResponse'
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
        '403':
          description: Forbidden. Ensure your API key has the `orders.read` scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403Response'
      security:
        - apiKey: []
components:
  schemas:
    ListOrdersResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          description: Page of offramp orders in the requested sort order.
          items:
            $ref: '#/components/schemas/OrderObject'
        nextCursor:
          type: string
          nullable: true
          description: >-
            Cursor to fetch the next page. Absent when there are no more
            results.
        previousCursor:
          type: string
          nullable: true
          description: Cursor to fetch the previous page. Absent on the first page.
    400Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          description: Human-readable error message describing what went wrong
        code:
          type: string
          description: Machine-readable error code for programmatic handling
    403Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          example: Malformed API key. / API key provided doesn't have required scopes.
    OrderObject:
      type: object
      properties:
        orderId:
          type: string
          example: 40f49812-123b-4d10-bdae-561e4ed2b990
        phase:
          type: string
          enum:
            - quote
            - payment
            - delivery
            - completed
          description: >-
            The current phase of the order lifecycle. For offramp the order
            starts in `payment` (awaiting the on-chain deposit) and moves to
            `completed` once the fiat payout is done.
          example: payment
        lineItems:
          type: array
          items:
            type: object
            properties:
              metadata:
                type: object
                properties:
                  name:
                    type: string
                    example: USD
                  description:
                    type: string
                    example: United States Dollar
                  imageUrl:
                    type: string
                    example: https://www.crossmint.com/assets/ui/flags/us.svg
              quote:
                type: object
                properties:
                  status:
                    type: string
                    example: valid
                  charges:
                    type: object
                    properties:
                      unit:
                        type: object
                        properties:
                          amount:
                            type: string
                            example: '1'
                          currency:
                            type: string
                            example: usdc
                      fees:
                        type: object
                        properties:
                          type:
                            type: string
                            example: exact
                          amount:
                            type: string
                            example: '0.002'
                          currency:
                            type: string
                            example: usdc
                  totalPrice:
                    type: object
                    properties:
                      amount:
                        type: string
                        example: '1'
                      currency:
                        type: string
                        example: usdc
              delivery:
                type: object
                description: The payout leg of the order.
                properties:
                  status:
                    type: string
                    enum:
                      - awaiting-payment
                      - in-progress
                      - completed
                      - failed
                    description: >-
                      Status of the fiat payout. `awaiting-payment` until the
                      on-chain deposit is received, then `in-progress`, then
                      `completed`. `failed` indicates the payout could not be
                      completed; contact Crossmint support if the order reaches
                      this state.
                    example: awaiting-payment
                  recipient:
                    type: object
                    properties:
                      locator:
                        type: string
                        example: paymentMethodId:d5e5c48a-7dec-44b1-8cf4-4615bf00c8fc
                      paymentMethodId:
                        type: string
                        example: d5e5c48a-7dec-44b1-8cf4-4615bf00c8fc
              executionMode:
                type: string
                example: exact-in
        quote:
          type: object
          properties:
            status:
              type: string
              enum:
                - valid
                - expired
                - requires-recipient
                - all-line-items-unavailable
              example: valid
            quotedAt:
              type: string
              example: '2026-06-17T21:48:49.059Z'
            expiresAt:
              type: string
              example: '2026-06-17T21:58:49.059Z'
            totalPrice:
              type: object
              properties:
                amount:
                  type: string
                  example: '1'
                currency:
                  type: string
                  example: usdc
        payment:
          type: object
          properties:
            status:
              type: string
              enum:
                - requires-quote
                - requires-crypto-payer-address
                - requires-recipient-verification
                - requires-kyc
                - manual-kyc
                - failed-kyc
                - pending-kyc-review
                - crypto-payer-insufficient-funds
                - crypto-payer-insufficient-funds-for-gas
                - awaiting-payment
                - in-progress
                - completed
              description: >-
                Status of the payment, used to determine the next action in the
                offramp flow. `requires-kyc`, `manual-kyc`, `failed-kyc`, and
                `pending-kyc-review` cover the identity verification step.
                `requires-crypto-payer-address` means a payer wallet is still
                needed. `awaiting-payment` means the deposit instructions are
                ready and the buyer can broadcast the deposit. `in-progress` and
                `completed` track the fiat payout.
              example: awaiting-payment
            method:
              type: string
              description: The chain the stablecoin deposit was made from.
              example: base-sepolia
            currency:
              type: string
              example: usdc
            preparation:
              type: object
              description: >-
                On-chain deposit instructions. Sign and broadcast
                `serializedTransaction` from the payer wallet; it already
                carries the order memo, so Crossmint matches the deposit
                automatically.
              properties:
                chain:
                  type: string
                  example: base-sepolia
                payerAddress:
                  type: string
                  example: '0xAa266270cf90FEEA9760617d9c7B5083e9f08984'
                serializedTransaction:
                  type: string
                  description: >-
                    The serialized stablecoin transfer to broadcast. Deserialize
                    it, then sign and send it from the payer wallet.
                  example: 0x02f9018e83014a34...
                transactionParameters:
                  type: object
                  properties:
                    amount:
                      type: string
                      example: '1000000'
                    memo:
                      type: string
                      example: '------BEGIN MEMO------...------END MEMO------'
            received:
              type: object
              description: >-
                The matched on-chain deposit. Populated once the payment is
                received.
              properties:
                chain:
                  type: string
                  example: base-sepolia
                txId:
                  type: string
                  example: >-
                    0xc9537a0e4ee4794101514d30418bd20f09cf66c3ce86b82b0be916489a338e85
                amount:
                  type: string
                  example: '1'
                currency:
                  type: string
                  example: usdc
            receiptEmail:
              type: string
              example: alice@example.com
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-API-KEY
      in: header

````