Change Destination
curl --request PATCH \
--url https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"walletId": "0f49ce21-6222-4f68-a91d-c05c798ef067",
"addressId": "b47a29dc-f0d8-4814-b352-91f035872ba0",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd"
}
'import requests
url = "https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination"
payload = {
"walletId": "0f49ce21-6222-4f68-a91d-c05c798ef067",
"addressId": "b47a29dc-f0d8-4814-b352-91f035872ba0",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
walletId: '0f49ce21-6222-4f68-a91d-c05c798ef067',
addressId: 'b47a29dc-f0d8-4814-b352-91f035872ba0',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd'
})
};
fetch('https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination', 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/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'walletId' => '0f49ce21-6222-4f68-a91d-c05c798ef067',
'addressId' => 'b47a29dc-f0d8-4814-b352-91f035872ba0',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd'
]),
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/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination"
payload := strings.NewReader("{\n \"walletId\": \"0f49ce21-6222-4f68-a91d-c05c798ef067\",\n \"addressId\": \"b47a29dc-f0d8-4814-b352-91f035872ba0\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"walletId\": \"0f49ce21-6222-4f68-a91d-c05c798ef067\",\n \"addressId\": \"b47a29dc-f0d8-4814-b352-91f035872ba0\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"walletId\": \"0f49ce21-6222-4f68-a91d-c05c798ef067\",\n \"addressId\": \"b47a29dc-f0d8-4814-b352-91f035872ba0\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Virtual account fetched successfully",
"data": {
"id": "3e8fcd73-4067-4386-8c1e-9929e6a768d7",
"reference": "va_01J2X8JQ4V9N0P7K2M6C3F5R8T",
"accountNumber": "0123456789",
"accountName": "Acme Ltd / Ada Okafor",
"bankName": "Example Bank",
"bankCode": "999",
"currency": "NGN",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"providerId": "1128dd40-2c94-4c16-a6bf-fbbc6afee52c",
"isActive": true,
"status": "active",
"type": "AUTO_FUNDING",
"createdAt": "2026-07-19T12:30:00.000Z",
"updatedAt": "2026-07-19T12:30:00.000Z",
"institutionAddress": null,
"label": "Ada collection account"
}
}Virtual Accounts
Change Destination
Changes the wallet, optional child address, and settlement asset receiving funds from an existing virtual account. The selected destination is revalidated against the current provider’s active conversion routes.
PATCH
/
v2
/
wallets
/
{id}
/
virtual-accounts
/
{virtualAccountId}
/
destination
Change Destination
curl --request PATCH \
--url https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"walletId": "0f49ce21-6222-4f68-a91d-c05c798ef067",
"addressId": "b47a29dc-f0d8-4814-b352-91f035872ba0",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd"
}
'import requests
url = "https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination"
payload = {
"walletId": "0f49ce21-6222-4f68-a91d-c05c798ef067",
"addressId": "b47a29dc-f0d8-4814-b352-91f035872ba0",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
walletId: '0f49ce21-6222-4f68-a91d-c05c798ef067',
addressId: 'b47a29dc-f0d8-4814-b352-91f035872ba0',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd'
})
};
fetch('https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination', 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/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'walletId' => '0f49ce21-6222-4f68-a91d-c05c798ef067',
'addressId' => 'b47a29dc-f0d8-4814-b352-91f035872ba0',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd'
]),
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/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination"
payload := strings.NewReader("{\n \"walletId\": \"0f49ce21-6222-4f68-a91d-c05c798ef067\",\n \"addressId\": \"b47a29dc-f0d8-4814-b352-91f035872ba0\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"walletId\": \"0f49ce21-6222-4f68-a91d-c05c798ef067\",\n \"addressId\": \"b47a29dc-f0d8-4814-b352-91f035872ba0\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v2/wallets/{id}/virtual-accounts/{virtualAccountId}/destination")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"walletId\": \"0f49ce21-6222-4f68-a91d-c05c798ef067\",\n \"addressId\": \"b47a29dc-f0d8-4814-b352-91f035872ba0\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Virtual account fetched successfully",
"data": {
"id": "3e8fcd73-4067-4386-8c1e-9929e6a768d7",
"reference": "va_01J2X8JQ4V9N0P7K2M6C3F5R8T",
"accountNumber": "0123456789",
"accountName": "Acme Ltd / Ada Okafor",
"bankName": "Example Bank",
"bankCode": "999",
"currency": "NGN",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"providerId": "1128dd40-2c94-4c16-a6bf-fbbc6afee52c",
"isActive": true,
"status": "active",
"type": "AUTO_FUNDING",
"createdAt": "2026-07-19T12:30:00.000Z",
"updatedAt": "2026-07-19T12:30:00.000Z",
"institutionAddress": null,
"label": "Ada collection account"
}
}授权
路径参数
Wallet currently linked to the virtual account.
Virtual account identifier.
请求体
application/json
Target master wallet identifier.
示例:
"0f49ce21-6222-4f68-a91d-c05c798ef067"
Settlement asset returned by destination discovery for the selected wallet.
示例:
"ae455f23-3824-4125-baab-d158315cbcbd"
Optional child address in the target wallet. Omit to use the master wallet address.
示例:
"b47a29dc-f0d8-4814-b352-91f035872ba0"
⌘I

