Offramps
These endpoints will replace the usage of Payment endpoints.
On this page, we’ll dive into the different offramp transaction endpoints you can use to manage offramp transaction programmatically. You can use these endpoints to retrieve an list of offramp transactions, create an new offramp transaction, update an offramp transaction, and delete a offramp transaction. You can also use these endpoints to retrieve a list of offramp transactions for a specific organization.
Use the offramp service when you want to:
- Convert cryptocurrency (e.g., USDT, ETH, BTC) into fiat currency (e.g., IDR, USD).
 - Withdraw your crypto earnings directly into your local bank account or e-wallet.
 - Take profits from crypto investments or trading.
 - Exit from crypto markets into fiat for spending or savings.
 - Send funds to non-crypto users by converting and transferring fiat directly.
 
Best For:
- Crypto holders needing liquidity in fiat currency.
 - Traders and investors taking profits.
 - Freelancers or remote workers getting paid in crypto but needing fiat for expenses.
 - Users wanting to pay bills or shop using crypto earnings.
 
Every user only allowed to have 5 pending offramp transactions at any given moment. If you want to create more offramp transactions, you need to wait until the previous offramp transactions are expired or completed.
The offramp model
The offramp model is the data structure that represents a offramp transaction in Rampable. The following attributes are associated with the offramp model:
Properties
- Name
 id- Type
 - string
 - Description
 24 alphanumeric, unique identifier for the offramp transaction.
- Name
 offrampId- Type
 - string
 - Description
 UUID version 4, unique identifier for the offramp transaction.
- Name
 sender.id- Type
 - string
 - Description
 Unique identifier for the sender, consist of 24 charachter of alphanumeric.
- Name
 sender.name- Type
 - string
 - Description
 The name of the sender.
- Name
 sender.email- Type
 - string
 - Description
 The email address of the sender.
- Name
 sender.walletAddress- Type
 - string
 - Description
 The wallet address of the sender.
- Name
 receiver.id- Type
 - string
 - Description
 Unique identifier for the receiver, consist of 24 charachter of alphanumeric.
- Name
 receiver.name- Type
 - string
 - Description
 The name of the receiver.
- Name
 receiver.email- Type
 - string
 - Description
 The email address of the receiver.
- Name
 receiver.accountNumber- Type
 - string
 - Description
 The account number of the receiver.
- Name
 receiver.bankName- Type
 - string
 - Description
 The bank name of the receiver.
- Name
 receiver.ifsc- Type
 - string
 - Description
 The IFSC (Indian Financial System Code) of the receiver.
- Name
 receiver.achNumber- Type
 - string
 - Description
 The ACH (Automated Clearing House) number of the receiver.
- Name
 receiver.fedwireNumber- Type
 - string
 - Description
 The fedwire number of the receiver.
- Name
 receiver.ibanNumber- Type
 - string
 - Description
 The IBAN (International Bank Account Number) of the receiver.
- Name
 feeDetail.rate_amount- Type
 - string
 - Description
 The exchange rate between fiat currency and given crypto currency.
- Name
 feeDetail.total_fee_amount- Type
 - number
 - Description
 The amount of fee in crypto currency.
- Name
 feeDetail.total_fee_amount_in_currency- Type
 - string
 - Description
 The amount of fee in fiat currency.
- Name
 inputAmount- Type
 - number
 - Description
 The amount of the offramp in the input currency. This value will have the same value as
inputAmountExact
- Name
 inputAmountExact- Type
 - number
 - Description
 The exact amount of the offramp in the input currency. This value will have the same value as
inputAmount
- Name
 outputAmount- Type
 - number
 - Description
 The amount of the offramp in the output currency. This value is the transaction amount before calculating the fee.
- Name
 outputAmountExact- Type
 - number
 - Description
 The exact amount of the offramp in the output currency. This value is the transaction amount before calculating the fee.
- Name
 inputCurrency- Type
 - string
 - Description
 The input currency (crypto) of the offramp transaction.
- Name
 outputCurrency- Type
 - string
 - Description
 The output currency (fiat) of the offramp transaction.
- Name
 reason- Type
 - string
 - Description
 The reason for the offramp transaction.
- Name
 description- Type
 - string
 - Description
 The description for the offramp transaction.
- Name
 status- Type
 - string
 - Description
 The status of the offramp transaction. This can be either
pending,processed,completed,need_information,refundorfailed.when in
need_information, it means the offramp transaction needs more information to be processed. and you need to reply using Reply
- Name
 organizationId- Type
 - string
 - Description
 Unique identifier for the organization associated with the offramp transaction.
- Name
 organizationName- Type
 - string
 - Description
 The name of the organization associated with the offramp transaction.
- Name
 transactionHash- Type
 - string
 - Description
 The transaction hash of the offramp transaction, this would be available after the transaction is paid.
- Name
 blockchain- Type
 - string
 - Description
 The blockchain of the offramp transaction. (e.g. Ethereum)
- Name
 blockchainType- Type
 - string
 - Description
 The blockchain type of the offramp transaction.(e.g. EVM)
- Name
 memo- Type
 - string
 - Description
 The offramp transaction's memo, this might be required on some blockchain (e.g. Stellar).
- Name
 payOutWallet- Type
 - string
 - Description
 The wallet address of the offramp transaction that the sender would have to pay.
- Name
 cryptoId- Type
 - string
 - Description
 The crypto currency and the blockchain of the offramp transaction. (e.g. usdt-polygon). See Reference
- Name
 expiredDate- Type
 - string
 - Description
 The expired date of the offramp transaction. Using ISO 8601 format.
- Name
 partnerRedirectUrl- Type
 - string
 - Description
 The redirect URL from partner, the payment will be done with partner widget.
- Name
 createdAt- Type
 - string
 - Description
 The date the offramp transaction was created. Using ISO 8601 format.
- Name
 updatedAt- Type
 - string
 - Description
 The date the offramp transaction was last updated. Using ISO 8601 format.
Quote
This endpoint allows you to get quote price for offramp transaction. To get quote price, you must provide amount, inputCurrency, outputCurrency.
Required attributes
- Name
 amount- Type
 - number
 - Description
 The amount of the offramp transaction in the input currency.
- Name
 inputCurrency- Type
 - string
 - Description
 The crypto id of the offramp transaction (e.g. "usdc-polygon"). See Reference
- Name
 outputCurrency- Type
 - string
 - Description
 The currency of the offramp transaction (e.g. "IDR"). See Reference
Optional attributes
- Name
 withLimit- Type
 - boolean
 - Description
 Using the withLimit means you can get the quote using only the client secret without having to include your user access token in request headers as well, which is useful for client-side applications.
It means there is no daily limit calculation applied for the quote based on the user's limits when you use withLimit equal to false (pure quote only).
Request
curl --location 'https://staging.rampable.co/v1/offramp/quote?amount=10&inputCurrency=usdc-polygon&outputCurrency=SGD&withLimit=true' \
--header 'x-client-secret: d9659c0857a91ae28a59ce9f9a8155f1b37ba1df91d4b4a50b3ecbb9ecdc2667' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Response
{
    "statusCode": 200,
    "message": "getQuotePriceHandler successfully",
    "data": {
        "status": true,
        "coin": "usdc",
        "currency": "IDR",
        "amount": 10,
        "rate_amount": 15539.445,
        "amount_in_currency": 155394.45,
        "total_fee_percentage": 3.867141758923822,
        "total_fee_amount": 0.3867141758923822,
        "total_fee_amount_in_currency": 6009.323667,
        "total_received_amount": 9.613285824107617,
        "total_received_amount_in_currency": 149385.126333,
        "payout_wallet": "0x03XXXXXXX4",
        "expiry_time": 15
    }
}
List all offramp transactions
This endpoint allows you to retrieve a paginated list of all your offramp transactions. By default, a maximum of ten offramp transactions are shown per page.
Query Params attributes
- Name
 limit- Type
 - integer
 - Description
 Limit the number of offramp transactions returned.
- Name
 page- Type
 - integer
 - Description
 Specify the page number of the offramp transactions to retrieve.
- Name
 sort- Type
 - string
 - Description
 Sort the offramp transactions by a specific field. You can sort by createdAt or updatedAt. By default, offramp transactions are sorted by createdAt. You can also sort in reverse order by adding a hyphen (-) before the field you want to sort by.
- Name
 search- Type
 - string
 - Description
 Search for a offramp transaction by name or email.
- Name
 status- Type
 - string
 - Description
 Filter offramp transactions by status. This can be either pending, processed, completed, refund or failed.
- Name
 reason- Type
 - string
 - Description
 Filter offramp transactions by reason.
- Name
 minInputAmount- Type
 - number
 - Description
 Filter offramp transactions by minimum input amount.
- Name
 maxInputAmount- Type
 - number
 - Description
 Filter offramp transactions by maximum input amount.
- Name
 minOutputAmount- Type
 - number
 - Description
 Filter offramp transactions by minimum output amount.
- Name
 maxOutputAmount- Type
 - number
 - Description
 Filter offramp transactions by maximum output amount.
- Name
 organizationId- Type
 - string
 - Description
 Filter offramp transactions by organization id.
- Name
 organizationName- Type
 - string
 - Description
 Filter offramp transactions by organization name.
- Name
 blockchain- Type
 - string
 - Description
 Filter offramp transactions by blockchain.
- Name
 receiverName- Type
 - string
 - Description
 Filter offramp transactions by receiver name.
Request
curl -X GET "https://staging.rampable.co/v1/offramp?search=something&limit=10&status=success&reason=Salary%20/%20Bonus" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
Response
{
    "statusCode": 200,
    "message": "getOfframpHandler successfully",
    "data": {
        "docs": [
            {
              "feeDetail": {
                  "rate_amount": 15636.447900000001,
                  "total_fee_amount": 0.648,
                  "total_fee_amount_in_currency": 10132.4182392
              },
              "sender": {
                  "id": "65857a1XXXXXX0f4005a817a",
                  "name": "rony XXXX",
                  "email": "rony.XXXX@gmail.com",
                  "walletAddress": "-"
              },
              "receiver": {
                  "id": "64d344230277cbfe6XXXXXX2",
                  "name": "Ahmed XXXX",
                  "email": "ahmed.XXXX@gmail.com",
                  "accountNumber": "23123232123",
                  "ifsc": "1",
                  "achNumber": "1",
                  "fedwireNumber": "",
                  "ibanNumber": "1"
              },
              "offrampId": "f2672b92-XXXX-45fe-XXXX-f0c1279a3076",
              "inputAmount": 0.00358,
              "inputAmountExact": 0.00358,
              "inputCurrency": "usdc",
              "outputCurrency": "IDR",
              "outputAmount": 55.68307119,
              "outputAmountExact": 0,
              "reason": "Salary",
              "description": "Salary for January 2024",
              "status": "expired",
              "organizationId": "-",
              "organizationName": "-",
              "blockchain": "stellar",
              "routeId": "circle",
              "payOutWallet": "GAXXXXXXHMLSNV7OJTBO7BAXXXXXX6QIBV5RMZZYXK4XXXXXX2J5C3WQ",
              "memo": "263420XXXXXX8294186",
              "expiredDate": "2024-01-10T15:03:20.610Z",
              "cryptoId": "usdc-stellar",
              "useSmartContract": false,
              "blockchainType": "STELLAR",
              "createdAt": "2024-01-10T14:58:20.619Z",
              "updatedAt": "2024-01-10T15:04:00.233Z",
              "id": "659eb08cb58XXXXXX2f84e91"
            },
            ...
        ],
        "totalDocs": 1,
        "offset": 0,
        "limit": 10,
        "totalPages": 1,
        "page": 1,
        "pagingCounter": 1,
        "hasPrevPage": false,
        "hasNextPage": false,
        "prevPage": null,
        "nextPage": null
    }
}
Offramp Transaction Detail
This endpoint allows you to retrieve a offramp transaction detail by offrampId.
Request
  curl -X GET "https://staging.rampable.co/v1/offramp/detail/xxxxxxx" \
        -H "Authorization: Bearer YOUR_TOKEN"
Response
  {
    "statusCode": 200,
    "message": "getOfframpHandler successfully",
    "data": {
        "offrampId": "fbbe6f22-XXXX-4b9f-XXXX-dbad4515fd64",
        "feeDetail": {
            "rate_amount": 15636.447900000001,
            "total_fee_amount": 0.6,
            "total_fee_amount_in_currency": 9381.86874
        },
        "sender": {
            "id": "65857a177XXXXXX4005a817a",
            "name": "rony XXXX",
            "email": "rony.XXXX@gmail.com",
            "walletAddress": "-"
        },
        "receiver": {
            "id": "64dXXXX30277cbfXXXXXX4f2",
            "name": "Ahmed XXXX",
            "email": "ahmed.XXXX@gmail.com",
            "accountNumber": "23123232123",
            "ifsc": "1",
            "achNumber": "1",
            "fedwireNumber": "",
            "ibanNumber": "1"
        },
        "inputAmount": 0.003,
        "inputAmountExact": 0.003,
        "inputCurrency": "usdc",
        "outputCurrency": "IDR",
        "outputAmount": 46.6617915,
        "outputAmountExact": 0,
        "reason": "Salary",
        "description": "Salary for January 2024",
        "status": "expired",
        "organizationId": "-",
        "organizationName": "-",
        "blockchain": "stellar",
        "payOutWallet": "GAFXXXXXXMLSNV7OJTBO7BXXXXXXX6QIBV5RMZZYXK4Q7ZSXXXXXX3WQ",
        "memo": "2634209453108294186",
        "expiredDate": "2024-01-10T15:02:22.070Z",
        "cryptoId": "usdc-stellar",
        "useSmartContract": false,
        "blockchainType": "STELLAR",
        "activityHistory": [
            {
                "activity": "Signed by Payee",
                "status": "failed",
                "description": "No action found for signed transaction",
                "_id": "659eb052f9ed0d33d8a0b3f0",
                "updatedAt": "2024-01-10T14:57:22.074Z"
            },
            {
                "activity": "Converted to",
                "status": "failed",
                "description": "The Transaction with -- failed. Please contact Rampable support for further assistance. error message : Offramp Expired}",
                "_id": "659eb052f9ed0d33d8a0b3f1",
                "updatedAt": "2024-01-10T14:57:22.074Z"
            },
            {
                "activity": "Sent to recipient account",
                "status": "failed",
                "description": "Previous step failed",
                "_id": "659eb052f9ed0d33d8a0b3f2",
                "updatedAt": "2024-01-10T14:57:22.074Z"
            },
            {
                "activity": "Received by recipient account",
                "status": "failed",
                "description": "Previous step failed",
                "_id": "659eb052f9ed0d33d8a0b3f3",
                "updatedAt": "2024-01-10T14:57:22.074Z"
            }
        ],
        "createdAt": "2024-01-10T14:57:22.081Z",
        "updatedAt": "2024-01-10T15:03:00.110Z",
        "id": "659eb052XXXXXX33d8a0b3ef"
    }
  }
Create Offramp
This endpoint allows you to add a new transaction to your offramp transaction list in Rampable. To add a offramp transaction, you must provide their Rampable name and email also bank country and currency which automatically bind using recipient id.
Recipient must be created first before you get started with this endpoint. See Create Recipient for more information.
Required attributes
- Name
 walletAddress- Type
 - string
 - Description
 The wallet address of the sender.
Optional, include this attribute if you want to speed up the validation of offramp process.
- Name
 inputAmount- Type
 - number
 - Description
 The amount of the offramp in the input currency.
- Name
 senderName- Type
 - string
 - Description
 The name of the sender.
- Name
 senderEmail- Type
 - string
 - Description
 The email address of the sender.
- Name
 receiverId- Type
 - string
 - Description
 Unique identifier for the receiver refer to recipient.id
- Name
 inputCurrency- Type
 - string
 - Description
 The crypto ID of the offramp. See Reference
- Name
 outputCurrency- Type
 - string
 - Description
 The output currency (fiat) of the offramp. See Reference
Optional attributes
- Name
 reason- Type
 - string
 - Description
 The reason for the offramp.
- Name
 description- Type
 - string
 - Description
 The description for the offramp.
- Name
 usNetwork- Type
 - string
 - Description
 The us network for the offramp. This can be either
achorwire.
After the create offramp process was done, the offramp will be in pending status. The offramp will be processed automatically after the requested crypto asset has been received by Rampable. If the offramp is successful, the status will be updated to processed.
Users need to send the crypto to the payOutWallet
If a partnerRedirectUrl is provided, the payment will be processed on the specified redirect URL
Request
curl -X POST "https://staging.rampable.co/v1/offramp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
    "inputAmount": 0.003,
    "senderName": "rony XXXX",
    "senderEmail": "rony.XXXX@gmail.com",
    "receiverId": "64d34XXXXXXX77cbfe646664f2",
    "inputCurrency": "usdc-stellar",
    "outputCurrency": "IDR",
    "reason": "Test send",
    "description": "Test description"
}'
Response
{
  "statusCode": 201,
  "message": "Offramp request created successfully",
  "data": {
      "offrampId": "9fadfe62-XXXX-XXXX-XXXX-16f0a1fb711f",
      "feeDetail": {
        "rate_amount": 15636.447900000001,
        "total_fee_amount": 0.648,
        "total_fee_amount_in_currency": 10132.4182392
      },
      "sender": {
          "id": "64c422d5e78XXXXXXXXXXXXX",
          "name": "rony XXXX",
          "email": "rony.XXXX@gmail.com",
          "walletAddress": "-"
      },
      "receiver": {
          "id": "64d34423027XXXXXXX",
          "name": "Ahmed XXXX",
          "email": "ahmed.XXXXX@gmail.com",
          "accountNumber": "23123232123",
          "ifsc": "1",
          "achNumber": "1",
          "fedwireNumber": "",
          "ibanNumber": "1"
      },
      "inputAmount": 0.003,
      "inputAmountExact": 0.003,
      "inputCurrency": "usdc",
      "outputCurrency": "IDR",
      "outputAmount": 46.9255275,
      "outputAmountExact": 0,
      "reason": "Test send",
      "description": "Test description",
      "status": "pending",
      "organizationId": "-",
      "organizationName": "-",
      "blockchain": "stellar",
      "payOutWallet": "GAFK7XFZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "memo": "263420945XXXXXXXX",
      "expiredDate": "2024-02-03T20:33:38.077Z",
      "cryptoId": "usdc-stellar",
      "useSmartContract": false,
      "blockchainType": "STELLAR",
      "activityHistory": [
          {
              "activity": "Signed by Payee",
              "status": "pending",
              "description": "Waiting for signature from sender",
              "_id": "65bea1f65774dfba15f4ab0e",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          },
          {
              "activity": "Converted to",
              "status": "pending",
              "description": "Waiting for crypto asset to be received by system, to be converted to fiat afterward",
              "_id": "65bea1f65774dfba15f4ab0f",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          },
          {
              "activity": "Sent to recipient account",
              "status": "pending",
              "description": "Transaction is under process and will be transferred out to recipient after conversion is done",
              "_id": "65bea1f65774dfba15f4ab10",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          },
          {
              "activity": "Received by recipient account",
              "status": "pending",
              "description": "Transaction is executed successfully and closed",
              "_id": "65bea1f65774dfba15f4ab11",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          }
      ],
      "createdAt": "2024-02-03T20:28:38.085Z",
      "updatedAt": "2024-02-03T20:28:38.085Z",
      "id": "65bea1f6XXXXXXXXX"
  }
}
Response with partner redirect URL
{
  "statusCode": 201,
  "message": "Offramp request created successfully",
  "data": {
      "offrampId": "9fadfe62-XXXX-XXXX-XXXX-16f0a1fb711f",
      "feeDetail": {
        "rate_amount": 15636.447900000001,
        "total_fee_amount": 0.648,
        "total_fee_amount_in_currency": 10132.4182392
      },
      "sender": {
          "id": "64c422d5e78XXXXXXXXXXXXX",
          "name": "rony XXXX",
          "email": "rony.XXXX@gmail.com",
          "walletAddress": "-"
      },
      "receiver": {
          "id": "64d34423027XXXXXXX",
          "name": "Ahmed XXXX",
          "email": "ahmed.XXXXX@gmail.com",
          "accountNumber": "23123232123",
          "ifsc": "1",
          "achNumber": "1",
          "fedwireNumber": "",
          "ibanNumber": "1"
      },
      "inputAmount": 0.003,
      "inputAmountExact": 0.003,
      "inputCurrency": "usdc",
      "outputCurrency": "IDR",
      "outputAmount": 46.9255275,
      "outputAmountExact": 0,
      "reason": "Test send",
      "description": "Test description",
      "status": "pending",
      "organizationId": "-",
      "organizationName": "-",
      "blockchain": "stellar",
      "payOutWallet": "GAFK7XFZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "memo": "263420945XXXXXXXX",
      "expiredDate": "2024-02-03T20:33:38.077Z",
      "cryptoId": "usdc-stellar",
      "useSmartContract": false,
      "blockchainType": "STELLAR",
      "activityHistory": [
          {
              "activity": "Signed by Payee",
              "status": "pending",
              "description": "Waiting for signature from sender",
              "_id": "65bea1f65774dfba15f4ab0e",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          },
          {
              "activity": "Converted to",
              "status": "pending",
              "description": "Waiting for crypto asset to be received by system, to be converted to fiat afterward",
              "_id": "65bea1f65774dfba15f4ab0f",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          },
          {
              "activity": "Sent to recipient account",
              "status": "pending",
              "description": "Transaction is under process and will be transferred out to recipient after conversion is done",
              "_id": "65bea1f65774dfba15f4ab10",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          },
          {
              "activity": "Received by recipient account",
              "status": "pending",
              "description": "Transaction is executed successfully and closed",
              "_id": "65bea1f65774dfba15f4ab11",
              "updatedAt": "2024-02-03T20:28:38.080Z"
          }
      ],
      "createdAt": "2024-02-03T20:28:38.085Z",
      "updatedAt": "2024-02-03T20:28:38.085Z",
      "id": "65bea1f6XXXXXXXXX",
      "partnerRedirectUrl" : "https://example.com/payment-redirect"
  }
}
[DEV] Update Status
This endpoint allows you to change the status of transactions so you can simulate the transaction status, this endpoint is only available in the development environment.
This endpoint is only available in the development environment.
Required attributes
- Name
 status- Type
 - string
 - Description
 The status of the offramp transaction. This can be either
pending,processed,completed,need_information,refundorfailed.
Request
curl -X PATCH "https://staging.rampable.co/v1/offramp/update/1eedd835-36b7-xxxx-xxx-a6ac93dxxxc0" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
    "status": "need_information"
}'
Response
{
  "statusCode": 200,
  "message": "Offramp updated successfully",
  "data": {
      "feeDetail": {
          "rate_amount": 16068.32666,
          "total_fee_amount": 0.3734054034970683,
          "total_fee_amount_in_currency": 6000
      },
      "sender": {
          "id": "64c422d5e78a6a8c6axx0b4",
          "name": "muhaxxxgkas",
          "email": "muhxxxkas@gmail.com",
          "walletAddress": "-"
      },
      "receiver": {
          "id": "65cf25633be7ba23cxxxxcdd",
          "name": "Postman Test",
          "email": "xxxx-SGD@gmail.com",
          "accountNumber": "23123232123",
          "bankName": "ANEXT BANK PTE LTD.",
          "ifsc": "",
          "achNumber": "",
          "fedwireNumber": "",
          "ibanNumber": "",
          "accountType": "Checking"
      },
      "offrampId": "df857d4c-f4f5-4b64-xxxx-161ac7dxxxx",
      "inputAmount": 1.124092,
      "inputAmountExact": 1.124092,
      "inputCurrency": "usdt",
      "outputCurrency": "IDR",
      "outputAmount": 18062.277451892718,
      "outputAmountExact": 12062.277451892718,
      "reason": "Test send - non hash",
      "description": "Test description",
      "status": "need_information",
      "organizationId": "6xxxxxce3xxxxx",
      "organizationName": "Rampable",
      "blockchain": "polygon",
      "routeId": "indodax",
      "payOutWallet": "0x0bb86346182122516f81xxxxxxxxxxxxxxxxxx",
      "expiredDate": "2024-05-03T04:43:34.726Z",
      "cryptoId": "usdt-polygon",
      "useSmartContract": false,
      "blockchainType": "EVM",
      "activityHistory": [
          {
              "activity": "Signed by Payee",
              "status": "need_information",
              "description": "Transaction is simulated",
              "_id": "663467f20ea200ad5561bd7e",
              "updatedAt": "2024-05-03T04:44:00.093Z"
          },
          {
              "activity": "Converted to",
              "status": "need_information",
              "description": "Transaction is simulated",
              "_id": "663467f20ea200ad5561bd7f",
              "updatedAt": "2024-05-03T04:44:00.093Z"
          },
          {
              "activity": "Sent to recipient account",
              "status": "need_information",
              "description": "Transaction is simulated",
              "_id": "663467f20ea200ad5561bd80",
              "updatedAt": "2024-05-03T04:44:00.093Z"
          },
          {
              "activity": "Received by recipient account",
              "status": "need_information",
              "description": "Transaction is simulated",
              "_id": "663467f20ea200ad5561bd81",
              "updatedAt": "2024-05-03T04:44:00.093Z"
          }
      ],
      "disburstmentService": "bank",
      "reference": "",
      "createdAt": "2024-05-03T04:28:34.733Z",
      "updatedAt": "2024-05-06T12:09:54.386Z",
      "adminNotesActivities": [],
      "id": "663467f20ea200xxxxxxxxx"
  }
}
Reply Info
Sometimes transaction at the banking side got rejected for some reason e.g wrong account number, wrong account holder name, wrong bank etc. This endpoint allows you to reply on administrator request when the status is changed to need_information,
You cannot reply any asked information except the status is need_information
The sender will receive email notification when the status is changed to need_information and the transaction required additional information.
 The email will contain the url to reply the information (redirected to Rampable dashboard).
Required attributes
- Name
 message- Type
 - string
 - Description
 The information to reply
maximum length is 300 character
After the notes has been replied, it depends whether the information that needed are sufficient or not, if it crystal clear than the status will be changed to completed
Request
curl -X PATCH "https://staging.rampable.co/v1/offramp/reply/13231-123123-123123" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "x-client-secret: YOUR_CLIENT_SECRET" \
-d '{
    "message": "this is the new bank account number that should be correct -> 31233123"
}'
Response
{
    "statusCode": 200,
    "message": "Offramp updated successfully",
    "data": {
        "feeDetail": {
            "rate_amount": 15786.0566975,
            "total_fee_amount": 0.38008225328052986,
            "total_fee_amount_in_currency": 6000
        },
        "sender": {
            "id": "65535610a8bb6xxxxx7a9",
            "name": "muhxxxkas",
            "email": "muhxxxkas@gmail.com",
            "walletAddress": "0xf487B61D988411xxxxxxxxx"
        },
        "receiver": {
            "id": "65cf25633be7ba23cbb74cdd",
            "name": "Postman Test",
            "email": "xxxx-SGD@gmail.com",
            "accountNumber": "23123232123",
            "bankName": "ANEXT BANK PTE LTD.",
            "ifsc": "",
            "achNumber": "",
            "fedwireNumber": "",
            "ibanNumber": "",
            "accountType": "Checking"
        },
        "offrampId": "8e6f2c6f-d91f-4655-xxxx-d978xxxxxxxxx",
        "inputAmount": 0.123762,
        "inputAmountExact": 0.123762,
        "inputCurrency": "usdt",
        "outputCurrency": "IDR",
        "outputAmount": 1953.713948995995,
        "outputAmountExact": 0,
        "reason": "Test send - non hash",
        "description": "Test description",
        "status": "need_information",
        "organizationId": "65d6df1xxxxxxxxxxxxxx",
        "organizationName": "Rampable",
        "blockchain": "polygon",
        "routeId": "indodax",
        "payOutWallet": "0x0bb863461821Xxxxxxxxxxxxxxxxxxx",
        "expiredDate": "2024-05-06T05:01:28.772Z",
        "cryptoId": "usdt-polygon",
        "useSmartContract": false,
        "blockchainType": "EVM",
        "activityHistory": [
            {
                "activity": "Signed by Payee",
                "status": "completed",
                "description": "Transaction signed successfully",
                "_id": "663860a47d9e87265b152fc7",
                "updatedAt": "2024-05-06T04:47:35.871Z"
            },
            {
                "activity": "Converted to",
                "status": "completed",
                "description": "Crypto assets received, confirmed by the network, and converted to fiat successfully",
                "_id": "663860a47d9e87265b152fc8",
                "updatedAt": "2024-05-06T04:47:35.871Z"
            },
            {
                "activity": "Sent to recipient account",
                "status": "need_information",
                "description": "Payment is under process and will be transferred out to the recipient shortly",
                "_id": "663860a47d9e87265b152fc9",
                "updatedAt": "2024-05-06T04:46:28.775Z"
            },
            {
                "activity": "Received by recipient account",
                "status": "need_information",
                "description": "Transaction is under process and will be transferred out to recipient shortly",
                "_id": "663860a47d9e87265b152fca",
                "updatedAt": "2024-05-06T04:46:28.775Z"
            }
        ],
        "disburstmentService": "bank",
        "reference": "",
        "adminNotesActivities": [
            {
                "message": "The bank account number is incorrect, please provide the correct bank account number",
                "time": "2024-05-06T04:52:33.623Z",
                "sender": "admin",
                "_id": "663862117d9e87265b152fd0"
            },
            {
                "message": "this is the new bank account number that should be correct -> 31233123",
                "time": "2024-05-06T04:59:18.623Z",
                "sender": "user",
                "_id": "663863a6f630f8ea9ddc50ab"
            }
        ],
        "createdAt": "2024-05-06T04:46:28.778Z",
        "updatedAt": "2024-05-06T04:59:18.627Z",
        "transactionHash": "0x13b2cb743db6xxxxxxxxxxxxxxxxxxxxxx2bd",
        "adminNotesDate": "2024-05-06T04:52:13.152Z",
        "adminNotesReply": null,
        "adminNotesReplyDate": null,
        "id": "663860a47cxxxxxxxxxxxxfc6"
    }
}
List all cryptos
This endpoint allows you to retrieve a list of all offramp cryptos supported by the API.
Request
  curl -X GET "https://staging.rampable.co/v1/offramp/cryptos" \
        -H "Authorization: Bearer YOUR_TOKEN"
Response
{
      "statusCode": 200,
      "message": "getCryptos executed successfully",
      "data": [
        {
          "symbol": "usdt",
          "id": "usdt-ethereum",
          "name": "Tether",
          "label": "USDT - Ethereum",
          "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
          "chainId": 1,
          "is_native": false,
          "logo": "https://raw.githubusercontent.com/Xellar-Protocol/xellar-assets/master/assets/tether/logo.png",
          "decimal": 6,
          "priceId": "tether",
          "currencies": [
              "IDR",
              "INR"
          ]
        },
        ...
      ]
  }
List all payment method
This endpoint allows you to retrieve a list of all offramp payment methods supported by the API.
Request
  curl -X GET "https://staging.rampable.co/v1/offramp/payment-method" \
        -H "Authorization: Bearer YOUR_TOKEN"
Response
{
      "statusCode": 200,
      "message": "getPaymentMethod executed successfully",
      "data": [
        {
          "currency": "IDR",
          "bankCode": "bank_central_asia",
          "bankName": "Bank Central Asia",
          "minAmount": 1000,
          "maxAmount": 60000
        },
        ...
      ]
  }