logoOPEN BANKING DOCS

Getting Started

Go from sign-up to your first successful API call with the Virtual Account Engine.

Getting Started

Welcome to the Virtual Account Engine! This guide will walk you through the essential steps to set up your account, get your API keys, and make your first successful API request.

Our platform is built on a few core concepts:

  • Customers: The end-users you onboard, complete with KYC.
  • Applications: Your project or integration. Your API keys are tied to an application.
  • Accounts: The virtual or transient accounts you create for your customers.
  • Transactions: The transfers, balance inquiries, and statements you perform.

In just a few minutes, you'll be ready to make your first call.

Step 1: Register & Get Verified

Before you can use the API, you need to sign up for a Virtual Account Engine developer account on the Keystone dashboard.

  1. Sign Up: Go to the Keystone Dashboard (Note: This is the server URL; your actual dashboard URL may differ) and create your account.
  2. Get Verified: As part of the onboarding process, you will need to complete your business verification (KYB/KYC). This is required to gain access to live environments and create applications.

Step 2: Create an Application

Once your account is verified and active, you need to create an "Application." An application represents your project, and all API calls are scoped to it.

  1. Log in to your dashboard and navigate to the Applications section.
  2. Click "Create New Application" and give it a descriptive name (e.g., "My Fintech App").
  3. After creation, the platform will provide you with a unique Application ID (X-App-Id). It will be a UUID, like 123e4567-e89b-12d3-a456-426614174000.

You will need to pass this X-App-Id as an HTTP header in almost every API request.

Step 3: Create an API Key

Your API key is the secret token that authenticates your application's requests.

  1. From your application's settings page in the dashboard, find the "API Keys" section.
  2. Generate a new API Key (X-API-Key).
  3. Copy this key immediately and store it in a secure location (like a password manager or .env file). For security reasons, you will not be able to see this key again.

Important

Keep it secret! Your X-API-Key grants full access to your application. Never expose it in client-side code or commit it to version control.

Step 4: Make Your First API Call

You're all set! Let's test your new credentials by making a simple, safe request. We'll use the GET /accounts/name-enquiry endpoint to verify that your authentication is working.

This request requires two headers:

  • X-API-Key: Your secret API key (from Step 3).
  • X-App-Id: Your application's ID (from Step 2).

The base URL for all v1 API calls is: https://company.virtual-accounts-api.vantacrest.com/login

Here’s how to make the request using cURL, Node.js, and Python:

# Replace with your actual key and app ID
# We use -G to send query parameters with a GET request

curl -G "[https://virtual-accounts-api.vantacrest.com/company/v1/accounts/name-enquiry](https://virtual-accounts-api.vantacrest.com/api/v1/accounts/name-enquiry)" \
  --data-urlencode "accountNumber=0123456789" \
  -H "X-API-Key: YOUR_API_KEY_GOES_HERE" \
  -H "X-App-Id: YOUR_APP_ID_GOES_HERE"
// Requires 'node-fetch'
// npm install node-fetch

const fetch = require('node-fetch');

const url = '[https://virtual-accounts-api.vantacrest.com/company/v1/accounts/name-enquiry](https://virtual-accounts-api.vantacrest.com/api/v1/accounts/name-enquiry)';
const params = new URLSearchParams({
  accountNumber: '0123456789'
});

const headers = {
  'X-API-Key': 'YOUR_API_KEY_GOES_HERE',
  'X-App-Id': 'YOUR_APP_ID_GOES_HERE',
  'Content-Type': 'application/json'
};

fetch(`${url}?${params}`, { method: 'GET', headers: headers })
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error('Error:', err));
# Requires 'requests' library
# pip install requests

import requests

url = "[https://virtual-accounts-api.vantacrest.com/company/v1accounts/name-enquiry](https://virtual-accounts-api.vantacrest.com/api/v1/accounts/name-enquiry)"

params = {
    "accountNumber": "0123456789"  # A 10-digit test number
}

headers = {
    "X-API-Key": "YOUR_API_KEY_GOES_HERE",
    "X-App-Id": "YOUR_APP_ID_GOES_HERE"
}

try:
    response = requests.get(url, headers=headers, params=params)
    response.raise_for_status()  # Raises an exception for bad status codes
    print(response.json())
    
except requests.exceptions.HTTPError as err:
    print(f"HTTP Error: {err}")
except Exception as err:
    print(f"An error occurred: {err}")

Success Response

If your request is successful, your authentication is working! You'll receive a 200 OK response. Since 0123456789 is a test number, the data field will likely be null, but the success: true status confirms your setup is correct.

{
  "success": true,
  "message": "Account name enquiry result",
  "data": null,
  "timestamp": "2025-11-17T09:32:00.123Z"
}

Got a 401 Error?

If you receive a 401 Unauthorized response, double-check that your X-API-Key and X-App-Id are correct and have no extra spaces or characters.


Next Steps

Congratulations! You're successfully connected to the API.

Here are some logical next steps to start building your integration:

  • Manage customersCustomers Management: Create customers, manage KYC, and handle tier upgrades.
  • Manage accountsAccounts Management: Open virtual accounts, run name enquiries, and check balances.
  • Move moneyTransactions Management: Process transfers, view transaction history, and use Open Banking v2 flows.
  • Use transient accountsTransient Accounts: Create transient accounts and manage overfill/settlement workflows.
  • Set up webhooksWebhooks: Register and test webhooks for real-time event notifications.