Virtual Accounts
Get Virtual Account Details
Retrieve the full record for a single virtual account, including the deposit instructions the customer funds the account with and the crypto destination the deposits settle to.
GET
/
v3
/
customers
/
{customer_id}
/
virtual-accounts
/
{va_id}
Get Virtual Account Details
curl --request GET \
--url https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id} \
--header 'Authorization: Bearer <token>'const url = 'https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}")
.header("Authorization", "Bearer <token>")
.asString();import requests
url = "https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}"
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))
}{
"data": {
"id": "b84f17e1-96a8-4034-8394-e902ed403d96",
"status": "ACTIVE",
"developer_fee_percent": 2,
"developer_fee_fixed": 2,
"customer_id": "f60b6730-1bf1-4efa-a49e-be5ef5e75bb8",
"created_at": "2026-09-09T12:27:57.657953Z",
"updated_at": "2026-09-09T12:28:11.061185Z",
"deposit_instructions": {
"currency": "USD",
"bank_name": "Portage Bank",
"bank_address": null,
"bank_routing_number": "",
"bank_account_number": "235464829825",
"bank_beneficiary_name": "WeiMing Tan",
"bank_beneficiary_address": null,
"payment_rails": [
"ACH"
],
"bank_country": "USA",
"account_type": "BankSwift",
"bank_code": {
"type": "SWIFT",
"code": "PORGUS62XXX"
},
"bic_swift": "PORGUS62XXX"
},
"destination": {
"currency": "USDC",
"destination_chain": "ETHEREUM",
"address": "0xE6F46b9Fa4Bc867816f78323EC92887E9d325DbE"
},
"rfi": null,
"bank": "PORTAGE"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}Authorizations
Bearer token authentication. Obtain token from Issue a Token endpoint
Path Parameters
Unique identifier of the customer the virtual account belongs to.
Unique identifier of the virtual account to retrieve.
Response
Virtual account retrieved successfully
A virtual account and the instructions needed to fund it. Returned by both List Virtual Accounts and Get Virtual Account Details.
Show child attributes
Show child attributes
⌘I
Get Virtual Account Details
curl --request GET \
--url https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id} \
--header 'Authorization: Bearer <token>'const url = 'https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}")
.header("Authorization", "Bearer <token>")
.asString();import requests
url = "https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts/{va_id}"
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))
}{
"data": {
"id": "b84f17e1-96a8-4034-8394-e902ed403d96",
"status": "ACTIVE",
"developer_fee_percent": 2,
"developer_fee_fixed": 2,
"customer_id": "f60b6730-1bf1-4efa-a49e-be5ef5e75bb8",
"created_at": "2026-09-09T12:27:57.657953Z",
"updated_at": "2026-09-09T12:28:11.061185Z",
"deposit_instructions": {
"currency": "USD",
"bank_name": "Portage Bank",
"bank_address": null,
"bank_routing_number": "",
"bank_account_number": "235464829825",
"bank_beneficiary_name": "WeiMing Tan",
"bank_beneficiary_address": null,
"payment_rails": [
"ACH"
],
"bank_country": "USA",
"account_type": "BankSwift",
"bank_code": {
"type": "SWIFT",
"code": "PORGUS62XXX"
},
"bic_swift": "PORGUS62XXX"
},
"destination": {
"currency": "USDC",
"destination_chain": "ETHEREUM",
"address": "0xE6F46b9Fa4Bc867816f78323EC92887E9d325DbE"
},
"rfi": null,
"bank": "PORTAGE"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}