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"
}
}v2
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"
}
}Authorizations
Path Parameters
Wallet currently linked to the virtual account.
Virtual account identifier.
Body
application/json
Target master wallet identifier.
Example:
"0f49ce21-6222-4f68-a91d-c05c798ef067"
Settlement asset returned by destination discovery for the selected wallet.
Example:
"ae455f23-3824-4125-baab-d158315cbcbd"
Optional child address in the target wallet. Omit to use the master wallet address.
Example:
"b47a29dc-f0d8-4814-b352-91f035872ba0"
⌘I

