Skip to main content
Create sell orders with POST /api/developer/orders. When you create a sell order, RampHub also creates the matching order intent automatically. If you need to show the active payment window or let support extend it, see Order intent. If the same customer, token, and network already has an active order window, RampHub returns a structured PAYCHAIN_ACTIVE_INTENT_CONFLICT response. Your app can use the Order intent endpoint to show the current window first, or resend the order with overrideActiveIntent: true if the customer wants to replace it.

Request body

Required on every order

  • side
  • amount
  • fiatCurrency
  • asset
  • chain

Sell orders

For sells, send resolved bank details instead of walletAddress. Required:
  • bankCode
  • accountNumber
  • accountName
Optional but useful:
  • bankName
  • email
  • externalCustomerId
  • developerFeePercent
  • overrideActiveIntent
If you need to render the accepted banks for a specific provider before the user submits the order, call Provider bank list and use the returned bankCode values in the sell form.
If you do not already have the account holder name, call POST /api/developer/bank-accounts/resolve first and reuse the returned accountName.

Response shape

The response includes the tracked RampHub transaction id, the selected provider, and the provider settlement details your app should show next. Common fields:
  • transactionId
  • requestReference
  • side
  • asset
  • chain
  • selectedProvider
  • bestRateUsed
  • providerDetails
  • ourCryptoAddress
  • environment
  • sandbox
  • trackable

Rules

  • Save transactionId right away.
  • Use providerDetails for the next step.
  • Use ourCryptoAddress for sell payment instructions when it is present.