Skip to main content
POST
/
payments
/
virtual-account
/
onramp-order
Create a virtual account onramp order
curl --request POST \
  --url https://api-sb.meld.io/payments/virtual-account/onramp-order \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "destinationCurrencyCode": "USDC",
  "destinationWalletAddress": "0xe51f36521fF5D857824e615a64D34808534a55f4",
  "serviceProvider": "ACROSS",
  "sourceAmount": 20000,
  "sourceCurrencyCode": "USD"
}
'
{
  "orderId": "<string>",
  "paymentMethodType": "<string>",
  "receivingBankInformation": {
    "paymentMethodType": "<string>",
    "accountNumber": "<string>",
    "routingNumber": "<string>"
  },
  "serviceProviderDetails": {}
}

Authorizations

Authorization
string
header
default:BASIC <Meld API Key>
required

Headers

X-Idempotency-Key
string<uuid>

Body

application/json

Request to create a virtual account onramp order

customerId
string
required

Customer id

Minimum string length: 1
destinationCurrencyCode
string
required

Destination cryptocurrency code

Minimum string length: 1
Example:

"USDC"

destinationWalletAddress
string
required

Wallet address to receive the cryptocurrency

Minimum string length: 1
Example:

"0xe51f36521fF5D857824e615a64D34808534a55f4"

paymentMethodType
string
required

The desired payment method type in order to send the fiat currency

Minimum string length: 1
serviceProvider
enum<string>
required

Service provider to use for this onramp order

Available options:
ACROSS,
AEROPAY,
AKOYA,
ALCHEMYPAY,
APPLEPAY,
AUTHORIZENET,
BANXA,
BILIRA,
BINANCECONNECT,
BINANCEPAY,
BLOCKCHAINDOTCOM,
BOOMFI,
BRAINTREE,
BRALE,
BTCDIRECT,
CASHAPP,
CHECKOUT,
CIRCLE,
COINBASEPAY,
COINFLOW,
DUENETWORK,
ELDORADO,
FINICITY,
FONBNK,
GUARDARIAN,
HARBOUR,
KOYWE,
KRYPTONIM,
MERCURYO,
MESH,
MESO,
MOONPAY,
MOOV,
MX,
NMI,
NOAH,
ONMETA,
ONRAMPMONEY,
PAYBIS,
PAYPAL,
PLAID,
RAMP,
REVOLUT,
ROBINHOOD,
ROUTERPROTOCOL,
SALTEDGE,
SALTEDGEPARTNERS,
SARDINE,
SHIFT4,
SHOPIFY,
SIMPLEX,
SKRILLCRYPTO,
SQUARE,
STRIPE,
SUMSUB,
SWAPPED,
TANGOCARD,
TELLER,
TOPPER,
TRANSAK,
TREMENDOUS,
TRANSFI,
UNLIMIT,
WYRE,
XANPOOL,
YELLOWCARD,
YODLEE
sourceAmount
number
required

Source amount in fiat currency

Required range: x >= 0
Example:

20000

sourceCurrencyCode
string
required

Source currency code

Minimum string length: 1
Example:

"USD"

customerPhoneNumber
string

customer phone number of the individual initiating the order on behalf of the sub account. This is required if passed payment method type requires phone number for example MOBILE_MONEY.

externalCustomerId
string

External customer id of the individual initiating the order

externalSubaccountCustomerId
string

Optional external identifier for the sub-account customer this transaction belongs to. Used for tracking when multiple businesses operate under one Meld account. A sub-account customer must be created first before it can be referenced.

subaccountCustomerId
string

Optional Meld customer id used to track the business sub-account this transaction belongs to when multiple businesses operate under one Meld account.

Response

Virtual account onramp order created successfully

Response containing virtual account onramp order details and bank information

orderId
string

Unique order ID for tracking the onramp order

paymentMethodType
string

Payment method type for the bank transfer

receivingBankInformation
object

Bank information for receiving the fiat transfer; shape depends on paymentMethodType

serviceProviderDetails
object

The raw service provider details for the order