Retrieve a virtual account
curl --request GET \
--url https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}', 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://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "cfbc005d-8640-57a4-89e1-539c974fa780",
"createdAt": "2025-09-27T03:08:11.548Z",
"updatedAt": "2025-09-27T03:08:11.548Z",
"userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
"source": {
"paymentRail": [
"ach",
"wire",
"rtp"
],
"currency": "usd"
},
"destination": {
"chain": "POLYGON",
"currency": "usdc",
"walletAddress": "0xd102C4130985B7fcB95697616eaf5542c4f98d49",
"externalWalletId": null
},
"status": "activated",
"depositInstructions": {
"bankName": "Bank of NoWhere",
"bankAddress": "123 Main St, New York, NY 10001, USA",
"beneficiary": {
"name": "Henry Wu",
"address": "Example St 1., Apt 123, New York, NY, 10010, US"
},
"ach": {
"routingNumber": "028000024",
"accountNumber": "123456789"
},
"wire": {
"routingNumber": "021000021",
"accountNumber": "123456789"
},
"rtp": {
"routingNumber": "021000021",
"accountNumber": "123456789"
},
"instruction": "Please deposit usd to the bank account provided. Please ensure that the beneficiary name matches the account holder name provided, or the payment may be rejected."
},
"settlementRuleId": null
}{
"code": 123,
"error": "<string>",
"errorDetails": "<string>"
}{
"status": "error",
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"errorDetails": "<string>"
}Virtual Accounts
Retrieve a virtual account
Get an existing virtual bank account detail.
GET
/
v2
/
users
/
{userId}
/
virtual-accounts
/
{accountId}
Retrieve a virtual account
curl --request GET \
--url https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}', 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://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production.hifibridge.com/v2/users/{userId}/virtual-accounts/{accountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "cfbc005d-8640-57a4-89e1-539c974fa780",
"createdAt": "2025-09-27T03:08:11.548Z",
"updatedAt": "2025-09-27T03:08:11.548Z",
"userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
"source": {
"paymentRail": [
"ach",
"wire",
"rtp"
],
"currency": "usd"
},
"destination": {
"chain": "POLYGON",
"currency": "usdc",
"walletAddress": "0xd102C4130985B7fcB95697616eaf5542c4f98d49",
"externalWalletId": null
},
"status": "activated",
"depositInstructions": {
"bankName": "Bank of NoWhere",
"bankAddress": "123 Main St, New York, NY 10001, USA",
"beneficiary": {
"name": "Henry Wu",
"address": "Example St 1., Apt 123, New York, NY, 10010, US"
},
"ach": {
"routingNumber": "028000024",
"accountNumber": "123456789"
},
"wire": {
"routingNumber": "021000021",
"accountNumber": "123456789"
},
"rtp": {
"routingNumber": "021000021",
"accountNumber": "123456789"
},
"instruction": "Please deposit usd to the bank account provided. Please ensure that the beneficiary name matches the account holder name provided, or the payment may be rejected."
},
"settlementRuleId": null
}{
"code": 123,
"error": "<string>",
"errorDetails": "<string>"
}{
"status": "error",
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"errorDetails": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Number of micro deposit records return for the virtual account, default to 10 maximum to 100
Return the micro deposit records that created before this eventId
Return the micro deposit records that created after this eventId
Response
Success
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
activated, deactivated Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I