Create Quote (Off Ramp)

This endpoint creates a quote for converting a cryptocurrency (crypto-to-fiat) in an off-ramp scenario. The data generated includes calculated rates, fees, and applicable transaction limits.

Endpoint

POST {{baseURL}}/v1/ramp/quote
HeaderValueRequired
Content-Typeapplication/jsonYes
x-api-keyYOUR_API_KEYYes

Example Request Body

    Success Response 200 OK

    {
      "message": "quote successfully created",
      "status": "success",
      "data": {
        "id": "92da6ea0-79fe-4000-971d-xxxxxxxxxx",
        "source": {
          "currency": "USDC",
          "symbol": "USDC",
          "addressRegex": "^(0x)[0-9A-Fa-f]{40}$",
          "amount": 0.12,
          "type": "CRYPTOCURRENCY",
          "network": {
            "id": "24d4025f-46fb-4021-b0c4-xxxxxxxxxx",
            "name": "USDC",
            "blockchain": "MATIC"
          }
        },
        "target": {
          "currency": "NGN",
          "country": "NG",
          "amount": 117.30,
          "type": "FIAT"
        },
        "rate": 0.00102300,
        "fees": {
          "amount": 0.00
        },
        "rules": [
          {
            "category": "LIMIT",
            "appliedCurrency": "NGN",
            "appliedCountry": "NG",
            "transaction": {
              "minimum": 10.00,
              "maximum": 2000000.00
            },
            "invoice": 2000000.00
          }
        ],
        "gasFee": {
          "feeLevel": {
            "type": "MEDIUM",
            "fee": {
              "name": "USDC",
              "symbol": "USDC",
              "amount": 0.02440458
            }
          }
        },
        "summary": {
          "total": 0.12
        }
      }
    }
    

    Response Fields Breakdown

    FieldTypeDescription
    messagestringResult message.
    statusstringStatus of the request (e.g., success).
    data.idstringUnique identifier for the created quote.

    Source Object

    FieldTypeDescription
    data.source.currencystringName of the source currency (e.g., USDC).
    data.source.symbolstringSymbol of the source currency (e.g., USDC).
    data.source.addressRegexstringRegular expression to validate addresses.
    data.source.amountnumberAmount of the source asset.
    data.source.typestringType of the source asset (e.g., CRYPTOCURRENCY).
    data.source.network.idstringUnique ID of the source network.
    data.source.network.namestringName of the source network (e.g., USDC).
    data.source.network.blockchainstringBlockchain name (e.g., MATIC).

    Target Object

    FieldTypeDescription
    data.target.currencystringTarget currency (e.g., NGN).
    data.target.countrystringCountry code of the target (e.g., NG).
    data.target.amountnumberAmount in the target currency.
    data.target.typestringType of the target asset (FIAT or CRYPTOCURRENCY).

    Rate and Fees

    FieldTypeDescription
    data.ratenumberConversion rate from source to target.
    data.fees.amountnumberFee amount applied to the transaction.

    Rules Array

    FieldTypeDescription
    data.rules[].categorystringRule category (e.g., LIMIT).
    data.rules[].appliedCurrencystringCurrency to which the rule is applied.
    data.rules[].appliedCountrystringCountry where the rule is applied.
    data.rules[].transaction.minimumnumberMinimum allowable transaction amount.
    data.rules[].transaction.maximumnumberMaximum allowable transaction amount.
    data.rules[].invoicenumberInvoice amount limit.

    Gas Fee Object

    FieldTypeDescription
    data.gasFee.feeLevel.typestringSelected gas fee level (e.g., MEDIUM).
    data.gasFee.feeLevel.fee.namestringName of the token used for gas fee (e.g., USDC).
    data.gasFee.feeLevel.fee.symbolstringSymbol of the gas fee token.
    data.gasFee.feeLevel.fee.amountnumberGas fee amount in the token.

    Summary

    FieldTypeDescription
    data.summary.totalnumberTotal amount to be sent by the user.

    Error Responses

    HTTP StatusError CodeMessageDescription
    400INVALID_INPUTInvalid request payloadOne or more fields are missing or have invalid values.
    401UNAUTHORIZEDMissing or invalid API keyThe x-api-key header is missing or incorrect.
    403FORBIDDENAccess deniedThe authenticated user is not allowed to create quotes.
    404NOT_FOUNDResource not foundThe requested network or currency does not exist.
    500SERVER_ERRORInternal server errorAn unexpected error occurred on the server.