Skip to main content
POST
/
onramps
Create onramp order
curl --request POST \
  --url http://localhost:4000/v1/onramps \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "customerId": "<string>",
  "amount": "<string>",
  "destinationAddress": "<string>",
  "refundAccount": {
    "institution": "<string>",
    "accountIdentifier": "<string>",
    "accountName": "<string>"
  }
}
'
const options = {
  method: 'POST',
  headers: {
    'Idempotency-Key': '<idempotency-key>',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    customerId: '<string>',
    amount: '<string>',
    destinationAddress: '<string>',
    refundAccount: {
      institution: '<string>',
      accountIdentifier: '<string>',
      accountName: '<string>'
    }
  })
};

fetch('http://localhost:4000/v1/onramps', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
import requests

url = "http://localhost:4000/v1/onramps"

payload = {
    "customerId": "<string>",
    "amount": "<string>",
    "destinationAddress": "<string>",
    "refundAccount": {
        "institution": "<string>",
        "accountIdentifier": "<string>",
        "accountName": "<string>"
    }
}
headers = {
    "Idempotency-Key": "<idempotency-key>",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "status": "success",
  "message": "<string>",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "orderId": "<string>",
    "customerId": "<string>",
    "reference": "<string>",
    "amount": "<string>",
    "sourceCurrency": "<string>",
    "amountToTransfer": "<string>",
    "deposit": {
      "institution": "<string>",
      "accountIdentifier": "<string>",
      "accountName": "<string>",
      "validUntil": "2023-11-07T05:31:56Z"
    },
    "destinationAddress": "<string>",
    "destinationNetwork": "<string>",
    "destinationCurrency": "<string>",
    "refundAccount": {
      "accountName": "<string>",
      "accountIdentifier": "<string>",
      "institution": "<string>"
    },
    "rate": "<string>",
    "status": "<string>",
    "settlementTxHash": "<string>",
    "settledUsdcAmount": "<string>",
    "settledAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

API key created in the Remitflex Dashboard at dashboard.remitflex.io (rmf_live_... or rmf_test_...). Key management endpoints require a dashboard JWT and are not part of this reference.

Headers

Idempotency-Key
string
required

Unique key for safe retries on mutating API-key requests. Cached for 24 hours per org, method, and path.

Maximum string length: 255
Example:

"7f3c2a1b-4e5d-6c7b-8a9f-0e1d2c3b4a5f"

Body

application/json
customerId
string
required
amount
string
required
destinationAddress
string
required
destinationAddressType
enum<string>
required
Available options:
liquidation_address,
main_wallet
refundAccount
object
required
amountIn
string
sourceCurrency
string
default:NGN
reference
string
destinationNetwork
string
default:base
destinationCurrency
string
default:USDC

Response

201 - application/json

Onramp order

status
string
Example:

"success"

message
string
data
object