Convert

On this page, we’ll dive into the different convert asset endpoints you can use to manage convert asset transactions programmatically. You can convert your crypto balance into fiat assets.

The convert model

The convert model is the data structure that represents a convert asset transaction in Rampable. The following attributes are associated with the convert model:

Properties

  • Name
    convertId
    Type
    string
    Description

    Unique identifier for the convert transaction.

  • Name
    userId
    Type
    string
    Description

    Unique identifier for the user making the convert.

  • Name
    input
    Type
    object
    Description

    Details of the input asset.

  • Name
    input.assetType
    Type
    string
    Description

    The type of asset (e.g., fiat or crypto).

  • Name
    input.currency
    Type
    string
    Description

    The currency used for the input asset (e.g., usdt-tron).

  • Name
    input.amount
    Type
    string
    Description

    The initial amount of the convert in the input currency.

  • Name
    input.amountMinusFee
    Type
    string
    Description

    The final amount after deducting the fee of the convert in the input currency.

  • Name
    output
    Type
    object
    Description

    Details of the output asset.

  • Name
    output.assetType
    Type
    string
    Description

    The type of asset (e.g., fiat or crypto).

  • Name
    output.currency
    Type
    string
    Description

    The currency used for the output asset (e.g., IDR).

  • Name
    output.amount
    Type
    string
    Description

    The initial amount of the convert in the output currency.

  • Name
    output.amountMinusFee
    Type
    string
    Description

    The final amount after deducting the fee of the convert in the output currency.

  • Name
    exchangeRate
    Type
    number
    Description

    The exchange rate applied to the convert.

  • Name
    createdAt
    Type
    string
    Description

    Timestamp when the convert was created.

  • Name
    updatedAt
    Type
    string
    Description

    Timestamp when the convert was last updated.


GET/v1/convert/estimate

Estimate Asset Conversion

This endpoint is used to estimate the conversion from an input currency to an output currency. It provides an estimated amount that will be received after the conversion, taking into account the current exchange rate and any applicable fees.

Query Params attributes

  • Name
    inputCurrency
    Type
    string
    Description

    The crypto currency input of the convert.

  • Name
    inputAmount
    Type
    integer
    Description

    The amount of the convert in the input currency.

  • Name
    outputCurrency
    Type
    string
    Description

    The fiat currency output of the convert.

Request

GET
/v1/convert/estimate
curl -X GET "https://staging.rampable.co/v1/convert/estimate?inputCurrency=usdt-tron&inputAmount=100&outputCurrency=IDR" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Response

{
      "statusCode": 200,
      "message": "Convert estimation success",
      "data": {
        "input": {
            "currency": "usdt-tron",
            "type": "crypto",
            "amount": 100
        },
        "output": {
            "currency": "IDR",
            "type": "fiat"
        },
          "estimate": {
              "rate": 16466.208,
              "convertedAmount": 1646620.8,
              "fee": 5000,
              "totalConvertedAmount": 1641620.8
          }
        }
  }

POST/v1/convert

Asset Conversion

This endpoint is used to convert an input amount of cryptocurrency to a fiat output currency. It requires specifying the input currency, input amount, and the desired output currency. The endpoint will process the conversion based on the current exchange rate and applicable fees, and return the converted amount in the output currency.

Required attributes

  • Name
    input
    Type
    object
    Description

    The input details of the convert transaction.

  • Name
    input.currency
    Type
    string
    Description

    The crypto currency of the input (e.g., usdt-tron).

  • Name
    input.amount
    Type
    string
    Description

    The amount of the input.

  • Name
    outputCurrency
    Type
    string
    Description

    The currency of the output (e.g., IDR).

Request

POST
/v1/convert
curl --location \
https://staging.rampable.co/v1/convert \
--header 'x-client-secret: ••••••' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
    "input": {
        "currency" : "usdt-tron",
        "amount": 100
    },
    "outputCurrency": "IDR"
}'

Response

{
  "statusCode": 200,
  "message": "Conversion executed successfully",
  "data": {
  "input": {
      "currency": "usdt-tron",
      "type": "crypto",
      "amount": 100
  },
  "output": {
      "currency": "IDR",
      "type": "fiat"
  },
  "result": {
      "rate": 16466.208,
      "convertedAmount": 1646620.8,
      "fee": 5000,
      "totalConvertedAmount": 1641620.8
  }
}
}

HTTP Status 400 Example

Error Response

{
    "statusCode": 400,
    "error": "Not Found",
    "message": "insufficient input balance"
}

Was this page helpful?