Master Wallet Create Payment Order
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"currency": "NGN",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"amount": "100.00",
"reference": "dep_20260719_001",
"validityTimeMinutes": 30,
"code": "<string>",
"passkeyResponse": {},
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"customer": {
"name": "Ada Okafor",
"email": "[email protected]",
"phone": "+2348012345678"
},
"additionalData": {
"beneficiaryType": "individual"
},
"metadata": {
"checkoutId": "checkout_123"
},
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders"
payload = {
"currency": "NGN",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"amount": "100.00",
"reference": "dep_20260719_001",
"validityTimeMinutes": 30,
"code": "<string>",
"passkeyResponse": {},
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"customer": {
"name": "Ada Okafor",
"email": "[email protected]",
"phone": "+2348012345678"
},
"additionalData": { "beneficiaryType": "individual" },
"metadata": { "checkoutId": "checkout_123" },
"provider": "example-provider"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
currency: 'NGN',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
amount: '100.00',
reference: 'dep_20260719_001',
validityTimeMinutes: 30,
code: '<string>',
passkeyResponse: {},
customerId: '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
customer: {name: 'Ada Okafor', email: '[email protected]', phone: '+2348012345678'},
additionalData: {beneficiaryType: 'individual'},
metadata: {checkoutId: 'checkout_123'},
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'currency' => 'NGN',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'amount' => '100.00',
'reference' => 'dep_20260719_001',
'validityTimeMinutes' => 30,
'code' => '<string>',
'passkeyResponse' => [
],
'customerId' => '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
'customer' => [
'name' => 'Ada Okafor',
'email' => '[email protected]',
'phone' => '+2348012345678'
],
'additionalData' => [
'beneficiaryType' => 'individual'
],
'metadata' => [
'checkoutId' => 'checkout_123'
],
'provider' => 'example-provider'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders"
payload := strings.NewReader("{\n \"currency\": \"NGN\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"amount\": \"100.00\",\n \"reference\": \"dep_20260719_001\",\n \"validityTimeMinutes\": 30,\n \"code\": \"<string>\",\n \"passkeyResponse\": {},\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"customer\": {\n \"name\": \"Ada Okafor\",\n \"email\": \"[email protected]\",\n \"phone\": \"+2348012345678\"\n },\n \"additionalData\": {\n \"beneficiaryType\": \"individual\"\n },\n \"metadata\": {\n \"checkoutId\": \"checkout_123\"\n },\n \"provider\": \"example-provider\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"NGN\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"amount\": \"100.00\",\n \"reference\": \"dep_20260719_001\",\n \"validityTimeMinutes\": 30,\n \"code\": \"<string>\",\n \"passkeyResponse\": {},\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"customer\": {\n \"name\": \"Ada Okafor\",\n \"email\": \"[email protected]\",\n \"phone\": \"+2348012345678\"\n },\n \"additionalData\": {\n \"beneficiaryType\": \"individual\"\n },\n \"metadata\": {\n \"checkoutId\": \"checkout_123\"\n },\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"NGN\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"amount\": \"100.00\",\n \"reference\": \"dep_20260719_001\",\n \"validityTimeMinutes\": 30,\n \"code\": \"<string>\",\n \"passkeyResponse\": {},\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"customer\": {\n \"name\": \"Ada Okafor\",\n \"email\": \"[email protected]\",\n \"phone\": \"+2348012345678\"\n },\n \"additionalData\": {\n \"beneficiaryType\": \"individual\"\n },\n \"metadata\": {\n \"checkoutId\": \"checkout_123\"\n },\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Payment order created successfully",
"data": {
"id": "80ea45ab-38b9-4506-b213-52da8bc7e825",
"type": "deposit",
"rail": "one_time_virtual_account",
"reference": "dep_20260719_001",
"providerReference": "provider_order_839201",
"transactionId": null,
"status": "pending",
"currency": "NGN",
"amount": "100.00",
"amountFiat": "155000.00",
"feeFiat": "1500.00",
"amountFiatPayable": "156500.00",
"amountFiatReceived": null,
"amountSettled": null,
"expiresAt": "2026-07-19T13:00:00.000Z",
"paymentInstructions": {
"type": "one_time_virtual_account",
"bank": {
"name": "Example Bank",
"code": "999",
"accountName": "Blockradar / Acme Ltd",
"accountNumber": "0123456789"
},
"paymentLink": null,
"qrCode": null,
"expiresAt": "2026-07-19T13:00:00.000Z",
"metadata": null
},
"metadata": {
"checkoutId": "checkout_123"
},
"provider": {
"id": "1128dd40-2c94-4c16-a6bf-fbbc6afee52c",
"slug": "example-provider",
"name": "Example Provider"
},
"wallet": {
"id": "4465468a-3c36-4536-918a-91d689e18a74",
"address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a"
},
"address": null,
"asset": {
"id": "ae455f23-3824-4125-baab-d158315cbcbd",
"symbol": "USDC",
"name": "USD Coin"
},
"customer": {
"id": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a"
},
"createdAt": "2026-07-19T12:30:00.000Z",
"updatedAt": "2026-07-19T12:30:00.000Z"
}
}Deposit Fiat
Master Wallet Create Payment Order
POST
/
v1
/
wallets
/
{id}
/
deposit
/
fiat
/
orders
Master Wallet Create Payment Order
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"currency": "NGN",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"amount": "100.00",
"reference": "dep_20260719_001",
"validityTimeMinutes": 30,
"code": "<string>",
"passkeyResponse": {},
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"customer": {
"name": "Ada Okafor",
"email": "[email protected]",
"phone": "+2348012345678"
},
"additionalData": {
"beneficiaryType": "individual"
},
"metadata": {
"checkoutId": "checkout_123"
},
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders"
payload = {
"currency": "NGN",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"amount": "100.00",
"reference": "dep_20260719_001",
"validityTimeMinutes": 30,
"code": "<string>",
"passkeyResponse": {},
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"customer": {
"name": "Ada Okafor",
"email": "[email protected]",
"phone": "+2348012345678"
},
"additionalData": { "beneficiaryType": "individual" },
"metadata": { "checkoutId": "checkout_123" },
"provider": "example-provider"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
currency: 'NGN',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
amount: '100.00',
reference: 'dep_20260719_001',
validityTimeMinutes: 30,
code: '<string>',
passkeyResponse: {},
customerId: '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
customer: {name: 'Ada Okafor', email: '[email protected]', phone: '+2348012345678'},
additionalData: {beneficiaryType: 'individual'},
metadata: {checkoutId: 'checkout_123'},
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'currency' => 'NGN',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'amount' => '100.00',
'reference' => 'dep_20260719_001',
'validityTimeMinutes' => 30,
'code' => '<string>',
'passkeyResponse' => [
],
'customerId' => '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
'customer' => [
'name' => 'Ada Okafor',
'email' => '[email protected]',
'phone' => '+2348012345678'
],
'additionalData' => [
'beneficiaryType' => 'individual'
],
'metadata' => [
'checkoutId' => 'checkout_123'
],
'provider' => 'example-provider'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders"
payload := strings.NewReader("{\n \"currency\": \"NGN\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"amount\": \"100.00\",\n \"reference\": \"dep_20260719_001\",\n \"validityTimeMinutes\": 30,\n \"code\": \"<string>\",\n \"passkeyResponse\": {},\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"customer\": {\n \"name\": \"Ada Okafor\",\n \"email\": \"[email protected]\",\n \"phone\": \"+2348012345678\"\n },\n \"additionalData\": {\n \"beneficiaryType\": \"individual\"\n },\n \"metadata\": {\n \"checkoutId\": \"checkout_123\"\n },\n \"provider\": \"example-provider\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"NGN\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"amount\": \"100.00\",\n \"reference\": \"dep_20260719_001\",\n \"validityTimeMinutes\": 30,\n \"code\": \"<string>\",\n \"passkeyResponse\": {},\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"customer\": {\n \"name\": \"Ada Okafor\",\n \"email\": \"[email protected]\",\n \"phone\": \"+2348012345678\"\n },\n \"additionalData\": {\n \"beneficiaryType\": \"individual\"\n },\n \"metadata\": {\n \"checkoutId\": \"checkout_123\"\n },\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"NGN\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"amount\": \"100.00\",\n \"reference\": \"dep_20260719_001\",\n \"validityTimeMinutes\": 30,\n \"code\": \"<string>\",\n \"passkeyResponse\": {},\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"customer\": {\n \"name\": \"Ada Okafor\",\n \"email\": \"[email protected]\",\n \"phone\": \"+2348012345678\"\n },\n \"additionalData\": {\n \"beneficiaryType\": \"individual\"\n },\n \"metadata\": {\n \"checkoutId\": \"checkout_123\"\n },\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Payment order created successfully",
"data": {
"id": "80ea45ab-38b9-4506-b213-52da8bc7e825",
"type": "deposit",
"rail": "one_time_virtual_account",
"reference": "dep_20260719_001",
"providerReference": "provider_order_839201",
"transactionId": null,
"status": "pending",
"currency": "NGN",
"amount": "100.00",
"amountFiat": "155000.00",
"feeFiat": "1500.00",
"amountFiatPayable": "156500.00",
"amountFiatReceived": null,
"amountSettled": null,
"expiresAt": "2026-07-19T13:00:00.000Z",
"paymentInstructions": {
"type": "one_time_virtual_account",
"bank": {
"name": "Example Bank",
"code": "999",
"accountName": "Blockradar / Acme Ltd",
"accountNumber": "0123456789"
},
"paymentLink": null,
"qrCode": null,
"expiresAt": "2026-07-19T13:00:00.000Z",
"metadata": null
},
"metadata": {
"checkoutId": "checkout_123"
},
"provider": {
"id": "1128dd40-2c94-4c16-a6bf-fbbc6afee52c",
"slug": "example-provider",
"name": "Example Provider"
},
"wallet": {
"id": "4465468a-3c36-4536-918a-91d689e18a74",
"address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a"
},
"address": null,
"asset": {
"id": "ae455f23-3824-4125-baab-d158315cbcbd",
"symbol": "USDC",
"name": "USD Coin"
},
"customer": {
"id": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a"
},
"createdAt": "2026-07-19T12:30:00.000Z",
"updatedAt": "2026-07-19T12:30:00.000Z"
}
}Send the object completed from the quote’s requirements schema as
additionalData.Authorizations
Path Parameters
Wallet identifier.
Body
application/json
ISO 4217 fiat currency paid by the customer.
Required string length:
3Example:
"NGN"
Stablecoin asset to settle.
Example:
"ae455f23-3824-4125-baab-d158315cbcbd"
Stablecoin amount to receive, encoded as a decimal string.
Pattern:
^\d+(\.\d+)?$Example:
"100.00"
Collection method. Use one of the rails returned by the rails endpoint.
Available options:
one_time_virtual_account, payment_link, qr_code Unique client reference used for reconciliation and safe retries.
Maximum string length:
250Example:
"dep_20260719_001"
Time before the payment instructions expire.
Required range:
30 <= x <= 1440Example:
30
Existing Blockradar customer identifier.
Example:
"18d2f159-e0cd-4a45-b735-e9dfe0f7520a"
Show child attributes
Show child attributes
Values collected from the quote requirements schema.
Example:
{ "beneficiaryType": "individual" }
Your application metadata returned with the order.
Example:
{ "checkoutId": "checkout_123" }
Optional provider slug. Omit for automatic routing.
Example:
"example-provider"
⌘I

