Master Wallet Get Quote
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"rail": "one_time_virtual_account",
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote"
payload = {
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"rail": "one_time_virtual_account",
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"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({
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
currency: 'NGN',
amount: '100.00',
rail: 'one_time_virtual_account',
sessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
customerId: '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote', 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/quote",
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([
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'currency' => 'NGN',
'amount' => '100.00',
'rail' => 'one_time_virtual_account',
'sessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'customerId' => '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
'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/quote"
payload := strings.NewReader("{\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"rail\": \"one_time_virtual_account\",\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\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/quote")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"rail\": \"one_time_virtual_account\",\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote")
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 \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"rail\": \"one_time_virtual_account\",\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Fiat deposit quote retrieved",
"data": {
"amount": "100.00",
"amountFiat": "155000.00",
"feeFiat": "1500.00",
"amountFiatPayable": "156500.00",
"rate": "1550.00",
"unlocked": true,
"sessionId": "13a36c1c-f4a6-4e49-a582-2ecded2559bc",
"sessionExpiresAt": "2026-09-15T15:20:00.000Z",
"additionalDataRequirements": {
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Bank account details",
"properties": {
"institutionIdentifier": {
"type": "string",
"title": "Institution"
},
"accountIdentifier": {
"type": "string",
"title": "Account identifier"
},
"accountName": {
"type": "string",
"title": "Account name",
"readOnly": true,
"x-field-kind": "resolved",
"x-resolution": {
"method": "POST",
"url": "/v1/wallets/4465468a-3c36-4536-918a-91d689e18a74/deposit/fiat/payment-order-requirements/resolve",
"body": {
"provider": "example-provider",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"rail": "one_time_virtual_account"
},
"inputPath": "additionalData",
"dependsOn": [
"institutionIdentifier",
"accountIdentifier"
],
"responsePath": "data.accountName"
}
}
},
"required": [
"institutionIdentifier",
"accountIdentifier"
],
"additionalProperties": false
},
"data": null
}
}
}Deposit Fiat
Master Wallet Get Quote
POST
/
v1
/
wallets
/
{id}
/
deposit
/
fiat
/
quote
Master Wallet Get Quote
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"rail": "one_time_virtual_account",
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote"
payload = {
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"rail": "one_time_virtual_account",
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customerId": "18d2f159-e0cd-4a45-b735-e9dfe0f7520a",
"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({
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
currency: 'NGN',
amount: '100.00',
rail: 'one_time_virtual_account',
sessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
customerId: '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote', 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/quote",
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([
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'currency' => 'NGN',
'amount' => '100.00',
'rail' => 'one_time_virtual_account',
'sessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'customerId' => '18d2f159-e0cd-4a45-b735-e9dfe0f7520a',
'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/quote"
payload := strings.NewReader("{\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"rail\": \"one_time_virtual_account\",\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\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/quote")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"rail\": \"one_time_virtual_account\",\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/quote")
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 \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"rail\": \"one_time_virtual_account\",\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"customerId\": \"18d2f159-e0cd-4a45-b735-e9dfe0f7520a\",\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Fiat deposit quote retrieved",
"data": {
"amount": "100.00",
"amountFiat": "155000.00",
"feeFiat": "1500.00",
"amountFiatPayable": "156500.00",
"rate": "1550.00",
"unlocked": true,
"sessionId": "13a36c1c-f4a6-4e49-a582-2ecded2559bc",
"sessionExpiresAt": "2026-09-15T15:20:00.000Z",
"additionalDataRequirements": {
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Bank account details",
"properties": {
"institutionIdentifier": {
"type": "string",
"title": "Institution"
},
"accountIdentifier": {
"type": "string",
"title": "Account identifier"
},
"accountName": {
"type": "string",
"title": "Account name",
"readOnly": true,
"x-field-kind": "resolved",
"x-resolution": {
"method": "POST",
"url": "/v1/wallets/4465468a-3c36-4536-918a-91d689e18a74/deposit/fiat/payment-order-requirements/resolve",
"body": {
"provider": "example-provider",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"rail": "one_time_virtual_account"
},
"inputPath": "additionalData",
"dependsOn": [
"institutionIdentifier",
"accountIdentifier"
],
"responsePath": "data.accountName"
}
}
},
"required": [
"institutionIdentifier",
"accountIdentifier"
],
"additionalProperties": false
},
"data": null
}
}
}Include
customerId when the deposit belongs to an existing customer and
requires corridor-specific KYC. The provider adapter infers the corridor from
the selected fiat currency. The response can include
data.additionalDataRequirements.schema and reusable customer values in
data.additionalDataRequirements.data. Use the saved values as form defaults,
then complete and validate the current schema before creating the payment
order.
See Dynamic Forms for the schema-processing flow.Authorizations
Path Parameters
Wallet identifier.
Body
application/json
Stablecoin asset identifier returned by the supported-assets endpoint.
Example:
"ae455f23-3824-4125-baab-d158315cbcbd"
ISO 4217 fiat currency code.
Required string length:
3Example:
"NGN"
Decimal amount encoded as a string to preserve precision.
Pattern:
^\d+(\.\d+)?$Example:
"100.00"
Payment collection rail.
Available options:
one_time_virtual_account, payment_link, qr_code Example:
"one_time_virtual_account"
Existing deposit session. When supplied, the original route values are authoritative.
Existing Blockradar customer identifier. Include it when requesting a new quote so saved provider KYC can be returned and reused.
Example:
"18d2f159-e0cd-4a45-b735-e9dfe0f7520a"
Optional provider slug. Omit it to let Blockradar select an eligible provider.
Example:
"example-provider"

