Skip to main content
The shortest path is:
  1. Create an API key.
  2. Fetch a quote.
  3. Create the order.
  4. Track the status.
Use this when you are ready to build Follow this page end to end once you have your API key. It is the fastest way to see a full request flow without reading every reference page first.

What you should expect

This guide is not a feature tour. It is the shortest path from an API key to a live routed order. If you follow the steps in order, you should end up with:
  • one quote request
  • one order create request
  • one transaction id to track
  • one recovery path if the callback is delayed

The trade flow

Most integrations follow the same shape:

1. Start with a quote

Send the request details to the quote endpoint. RampHub checks the supported providers, filters invalid routes, and returns the best quote plus the full comparison list.

2. Pick the route

Use the best quote by default. If you want, you can let the user choose a different provider from the returned list.

3. Create the order

Send the quote context back to RampHub. The order response returns the selected provider, the transaction id, and the next action your app should show.

4. Track completion

Listen for webhooks first. If a callback is delayed, use status sync to recover the latest order state and keep the user experience honest. When you register the webhook endpoint in the dashboard, RampHub generates a signing secret for that endpoint. Store it on the receiving server and verify x-ramphub-signature against the raw request body before you trust the event. The secret is for your receiver only and does not go into the order request body. The dashboard shows the secret when the endpoint is created or rotated, so copy it into your receiver as soon as you register the URL.

1. Create an API key

Create a test key first. Keep it on your backend. Sign in/signup to generate your API key: Business sign-in.

2. Fetch a quote

Use fiatAmount for buy quotes and tokenAmount for sell quotes.
curl -X POST "https://api.ramphub.io/api/developer/quotes" \
  -H "x-api-key: rh_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "side": "buy",
    "fiatAmount": 15000,
    "fiatCurrency": "NGN",
    "asset": "USDT",
    "chain": "base"
  }'

3. Create the order

Reuse the quote result and save the returned transactionId. RampHub supports two order flows: RampHub also lets businesses include a developer fee address and fee percent in the same order request. Use both fields together. For sell orders, send the resolved bank details back with the order request. If you do not already have accountName, call POST /api/developer/bank-accounts/resolve first and reuse the returned name. The order response gives you:
  • transactionId
  • requestReference
  • selectedProvider
  • bestRateUsed
  • providerDetails
  • ourCryptoAddress when the route needs a payment or payout address
  • environment
  • sandbox
  • trackable

How funds move

FlowMovement
BuyNGN in -> Provider -> Fee -> Crypto out
SellCrypto in -> Provider -> Fee -> NGN out
The provider handles the main settlement leg, RampHub takes its fee from the routed transaction, and the final asset lands in the user’s destination account.

Jump to

4. Track the status

Use webhooks first. Call status sync only when a callback is delayed or missing.
For sell flows, resolve the bank account before you create the order.