Virtual Accounts
Get Virtual Account Details (Coming soon)
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 (Coming soon)
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": "9d2b7f41-6c8a-45e3-b071-2fa93c5e8d16",
"status": "ACTIVE",
"customer_id": "c1f4a8e2-3b57-4d09-9a61-7e2b5c8d4f30",
"developer_fee_percent": 0,
"developer_fee_fixed": 0,
"bank": "SSB",
"deposit_instructions": {
"currency": "USD",
"bank_name": "Slovak Savings Bank",
"bank_address": "500 Market Street, San Francisco, CA 94105",
"bank_routing_number": "021000021",
"bank_account_number": "9876543210",
"bank_beneficiary_name": "Acme Trading Ltd",
"bank_beneficiary_address": "12 Gulshan Avenue, Dhaka, BGD",
"bank_country": "USA",
"account_type": "CHECKING",
"payment_rails": [
"SWIFT"
],
"bic_swift": "GIBASKBXXXX",
"bank_code": {
"type": "SWIFT",
"code": "GIBASKBXXXX"
}
},
"destination": {
"currency": "USDC",
"destination_chain": "ETHEREUM",
"address": "0x4E91c07aB35d2F6810b94Ce7d13A5f826c0D4b7E"
},
"rfi": null,
"created_at": "2026-09-04T03:12:44Z",
"updated_at": "2026-09-04T03:13:10Z"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}This endpoint is not available in production yet. It is documented so you can plan your
integration ahead of release. Contact support for availability.
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
Show child attributes
Show child attributes
⌘I
Get Virtual Account Details (Coming soon)
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": "9d2b7f41-6c8a-45e3-b071-2fa93c5e8d16",
"status": "ACTIVE",
"customer_id": "c1f4a8e2-3b57-4d09-9a61-7e2b5c8d4f30",
"developer_fee_percent": 0,
"developer_fee_fixed": 0,
"bank": "SSB",
"deposit_instructions": {
"currency": "USD",
"bank_name": "Slovak Savings Bank",
"bank_address": "500 Market Street, San Francisco, CA 94105",
"bank_routing_number": "021000021",
"bank_account_number": "9876543210",
"bank_beneficiary_name": "Acme Trading Ltd",
"bank_beneficiary_address": "12 Gulshan Avenue, Dhaka, BGD",
"bank_country": "USA",
"account_type": "CHECKING",
"payment_rails": [
"SWIFT"
],
"bic_swift": "GIBASKBXXXX",
"bank_code": {
"type": "SWIFT",
"code": "GIBASKBXXXX"
}
},
"destination": {
"currency": "USDC",
"destination_chain": "ETHEREUM",
"address": "0x4E91c07aB35d2F6810b94Ce7d13A5f826c0D4b7E"
},
"rfi": null,
"created_at": "2026-09-04T03:12:44Z",
"updated_at": "2026-09-04T03:13:10Z"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}