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

# Get Quote (Offramp)

> Retrieve details of a specific quote by its ID.

<Warning>
  🚧 **The Ramp API is currently under construction.** Endpoints and features described here are subject to change. Do not use in production until this notice is removed.
</Warning>

## Get Quote (Off Ramp)

This endpoint fetches the complete details of a specific off-ramp (crypto-to-fiat) quote, using its `quote_id`.
The data includes source crypto, target fiat, rates, fees, and transaction rules.

<Tip>
  **New to the Ramp API?** Read [How meCash Ramp Works](/ramp-docs/about-ramp) for the full lifecycle and integration considerations. See [Supported Ramp Assets & Destinations](/ramp-docs/supported-assets) for supported fiat corridors and transaction limits.
</Tip>

***

## Endpoint

**GET** `{{baseURL}}/v1/ramp/quote/{{quote_id}}`

***

## Headers

| **Header**     | **Value**          | **Required** |
| -------------- | ------------------ | ------------ |
| `Content-Type` | `application/json` | Yes          |
| `x-api-key`    | `YOUR_API_KEY`     | Yes          |

***

### Path Parameter

| **Parameter** | **Type** | **Description**                |
| ------------- | -------- | ------------------------------ |
| `quote_id`    | string   | Unique identifier of the quote |

***

## Example Request

This example shows how to retrieve the details of a specific ramp quote using its unique ID.

<CodeGroup>
  ```bash cURL theme={null}
  # Replace YOUR_QUOTE_ID with the actual ID of the quote
  curl --location --request GET '{{appUrl}}/v1/ramp/quote/YOUR_QUOTE_ID' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json'
  ```

  ```js JavaScript (fetch) theme={null}
  const quoteId = 'YOUR_QUOTE_ID'; // Replace with the actual quote ID

  fetch(`{{appUrl}}/v1/ramp/quote/${quoteId}`, {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': 'YOUR_API_KEY'
    }
  })
  .then(res => res.json())
  .then(console.log)
  .catch(console.error);
  ```

  ```python Python (requests) theme={null}
  import requests

  # Replace YOUR_QUOTE_ID with the actual ID of the quote
  quote_id = "YOUR_QUOTE_ID"
  url = f"{{appUrl}}/v1/ramp/quote/{quote_id}"

  headers = {
      "x-api-key": "YOUR_API_KEY",
      "Content-Type": "application/json"
  }

  response = requests.get(url, headers=headers)
  print(response.json())
  ```

  ```js Node.js (axios) theme={null}
  const axios = require('axios');

  const quoteId = 'YOUR_QUOTE_ID'; // Replace with the actual quote ID

  axios.get(`{{appUrl}}/v1/ramp/quote/${quoteId}`, {
    headers: {
      'x-api-key': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }).then(response => {
    console.log(response.data);
  }).catch(error => {
    console.error(error.response.data);
  });
  ```
</CodeGroup>

## Successful Response `200 OK`

```json theme={null}
{
  "message": "quote successfully fetched",
  "status": "success",
  "data": {
    "id": "92da6ea0-79fe-4000-971d-c481ed495a6a",
    "source": {
      "currency": "Polygon",
      "symbol": "POL",
      "addressRegex": "^(0x)[0-9A-Fa-f]{40}$",
      "amount": 0.12,
      "blockchain": "MATIC",
      "type": "CRYPTOCURRENCY"
    },
    "target": {
      "currency": "NGN",
      "country": "NG",
      "amount": 117.30,
      "type": "FIAT"
    },
    "rate": 0.00102300,
    "fees": {
      "symbol": "POL",
      "amount": 0.00,
      "gas": {
        "type": "MEDIUM",
        "amount": 0.01909123
      }
    },
    "rules": [
      {
        "category": "LIMIT",
        "appliedCurrency": "NGN",
        "appliedCountry": "NG",
        "transaction": {
          "minimum": 10.00,
          "maximum": 2000000.00
        },
        "invoice": 2000000.00
      }
    ],
    "summary": {
      "total": 0.12
    }
  }
}
```

## Error Codes

| **Code** | **Message**                             |
| -------- | --------------------------------------- |
| 400      | Bad request – invalid or missing fields |
| 401      | Unauthorized – invalid API key          |
| 500      | Internal server error                   |

***


## OpenAPI

````yaml get /v1/ramp/quote/{quoteId}
openapi: 3.0.3
info:
  title: meCash API
  version: 3.0.3
  description: >-
    API for meCash services, including FIAT and Ramp operations. This is the
    OpenAPI specification for the meCash API, covering all available endpoints
    for wallet management, currency quotes, and payouts.


    It follows a design-first approach based on OpenAPI 3.0.


    Authentication is handled via an API key passed in the `x-api-key` header.
    Replace `YOUR_API_KEY` with your actual key when making requests.


    Some useful links:

    - [meCash Documentation](https://docs.me-cash.com/)

    - [Authentication Guide](https://docs.me-cash.com/authentication)
servers:
  - url: https://sandboxapi.me-cash.com
    description: Sandbox Server for Testing
security:
  - ApiKeyAuth: []
tags:
  - name: Wallet
    description: Wallet management operations
  - name: Quote
    description: Currency quote operations
  - name: Payout
    description: Payout operations
  - name: Transaction
    description: Transaction management
  - name: Virtual Account
    description: Virtual account operations for static and dynamic accounts
  - name: Bank
    description: Bank account and list operations
  - name: Ramp
    description: Ramp operations for crypto
  - name: Miscellaneous
    description: Utility and miscellaneous operations
  - name: Collection
    description: Mobile money and wallet funding operations
  - name: Bulk Payout
    description: >-
      Bulk transfer operations for sending to multiple beneficiaries in a single
      request
paths:
  /v1/ramp/quote/{quoteId}:
    get:
      tags:
        - Ramp
      summary: Get Quote
      description: Retrieve details of a specific quote by its ID.
      operationId: getRampQuote
      parameters:
        - name: quoteId
          in: path
          required: true
          description: The unique identifier of the quote.
          schema:
            type: string
            format: uuid
          example: 3f41daaa-029c-44a2-b7c6-ed922a68177b
      responses:
        '200':
          description: Quote retrieved successfully.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/CreateRampOfframpQuoteResponse'
                  - $ref: '#/components/schemas/CreateRampCryptoQuoteResponse'
        '401':
          $ref: '#/components/responses/PayoutUnauthorized'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/PayoutInternalServerError'
components:
  schemas:
    CreateRampOfframpQuoteResponse:
      type: object
      properties:
        status:
          type: string
          example: success
        message:
          type: string
          example: quote generated successfully
        data:
          type: object
          properties:
            id:
              type: string
              format: uuid
              example: 3f41daaa-029c-44a2-b7c6-ed922a68177b
            source:
              type: object
              properties:
                currency:
                  type: string
                  example: USDC
                symbol:
                  type: string
                  example: USDC
                type:
                  type: string
                  example: CRYPTOCURRENCY
                amount:
                  type: number
                  example: 5
                network:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      example: f8fc48ff-81e6-4b5f-9a70-44fb744e3572
                    name:
                      type: string
                      example: USDC
                    blockchain:
                      type: string
                      example: MATIC-AMOY
            target:
              type: object
              properties:
                currency:
                  type: string
                  example: NGN
                country:
                  type: string
                  example: NG
                type:
                  type: string
                  example: FIAT
                paymentChannel:
                  type: string
                  example: BANK_TRANSFER
                amount:
                  type: number
                  example: 5537.1
            rate:
              type: number
              example: 1107.42
            fees:
              type: array
              items:
                type: object
                properties:
                  amount:
                    type: number
                    example: 0.025
                  gas:
                    type: object
                    properties:
                      type:
                        type: string
                        example: MEDIUM
                      total:
                        type: number
                        example: 0.29237925
            summary:
              type: object
              properties:
                total:
                  type: number
                  example: 5.31737925
            expiresInSeconds:
              type: integer
              example: 600
    CreateRampCryptoQuoteResponse:
      type: object
      properties:
        status:
          type: string
          example: success
        message:
          type: string
          example: quote generated successfully
        data:
          type: object
          properties:
            id:
              type: string
              format: uuid
              example: 59628a6c-3d05-406a-ad39-77f92b09137c
            source:
              type: object
              properties:
                currency:
                  type: string
                  example: USDC
                symbol:
                  type: string
                  example: USDC
                blockchain:
                  type: string
                  example: MATIC-AMOY
                type:
                  type: string
                  example: CRYPTOCURRENCY
                amount:
                  type: number
                  example: 2
            target:
              type: object
              properties:
                currency:
                  type: string
                  example: USDC
                symbol:
                  type: string
                  example: USDC
                blockchain:
                  type: string
                  example: MATIC-AMOY
                type:
                  type: string
                  example: CRYPTOCURRENCY
                amount:
                  type: number
                  example: 2
            rate:
              type: number
              example: 1
            fees:
              type: object
              properties:
                amount:
                  type: number
                  example: 0.01
                gas:
                  type: object
                  properties:
                    type:
                      type: string
                      example: LOW
                    amount:
                      type: number
                      example: 0.01875321
            summary:
              type: object
              properties:
                total:
                  type: number
                  example: 2.02875321
            expiresInSeconds:
              type: integer
              example: 600
    PayoutFailedResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message.
        status:
          type: string
          example: failed
      required:
        - message
        - status
    ErrorResponse:
      type: object
      properties:
        status:
          type: string
          example: error
        message:
          type: string
          description: A human-readable error message.
        data:
          nullable: true
          description: Optional data payload, often null in case of an error.
          example: null
      required:
        - status
        - message
  responses:
    PayoutUnauthorized:
      description: Unauthorized. The provided API key is invalid or missing.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayoutFailedResponse'
          example:
            message: Invalid API key
            status: failed
    NotFoundError:
      description: >-
        Not Found. The requested resource, like a specific wallet, could not be
        found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: error
            message: Invalid Wallet Address
    PayoutInternalServerError:
      description: Internal Server Error. The server failed to process the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayoutFailedResponse'
          example:
            message: Server failed to process request.
            status: failed
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````