1. Account Management
BPN OpenAPI
  • Getting Started
    • Introduction to BPN
    • Key Concepts & Terminology
    • Architecture Overview
  • Onboarding & Prerequisites
    • Product Demo
    • Sandbox & Test Environment
    • Signature Authentication Mechanism
  • Use Case
    • Transfer
    • Vault
    • On/Off Ramp
    • Compliance (Travel Rule Information Submission)
    • Fiat Collection(BRL PIX for example)
  • API Reference
    • KYB
      • Share KYB/KYC Info For Sub User
      • Get KYB Sub User Status
    • Account Management
      • Inquiry Master VA Balance
        GET
      • List Primary Virtual Accounts
        GET
      • Create Virtaul Account
        POST
      • Get Virtual Account Detail
        GET
      • List Virtual Account
        GET
      • Send Email Verify Code
        POST
      • Query bank info by account number
        POST
      • Payout via Virtual Account
        POST
      • Refund Virtual Account Order
        POST
      • Get Virtual Account Order Detail
        GET
      • List Virtual Account Orders
        GET
      • Submit Invoice
        POST
      • Get Invoice list Status
        GET
      • List Banks
        GET
      • Add Bank Account
        POST
      • List Bank Account
        GET
      • List RFI Sub Virtual Account
        GET
      • Get Sub Virtual Account RFI Template Info
        GET
      • Sub Virtual Account Submit RFI
        POST
    • Wallet
      • List Wallets
      • List Sub Account
      • Create Sub Account
      • Wallet Internal Transfer
      • Query Wallet Internal Transfer Detail
      • List Wallet Internal Transfer order
      • Get Asset Balance
      • Get Deposit Address
      • Add Deposit Sender
      • Add Withdraw Whitelist
      • Delete Withdraw Whiltelist
      • Request Withdraw
      • Query Transaction History
    • FX
      • Inquery FX Rate
    • BPN Transactions
      • Get Stablecoin Quote
      • Create Stable Order
      • Get Order (Single) Detail
      • List Orders(Batch)
    • Reconciliation
      • Get Reconciliation Order List By Page
    • Crypto Payment Link
      • Abnormal fund
        • Abnormal funds
        • Matchable Payment links
        • Link Order(Abnormal fund)
        • Submit to platform
      • Create Payment Link
      • List Payment links
      • Get Curreny Network Config
    • External Provider
      • FE: Create stablecoin collection sub-account link
      • Create stablecoin collection sub-account link
      • Get sub wallet account
      • List sub wallet accounts
      • Change sub wallet status
      • Query stablecoin collection order list
      • Query stablecoin collection order status
      • Get quote
      • Accept stablecoin collection order
      • Reject stablecoin collection order
      • Query USD balance
      • USD Payout (withdrawal)
      • Query USD Payout order status
      • Query USD Payout order list
    • Mock
      • Mock Virtual account Payin Order
      • Mock wallet deposit transaction
      • Mock Payin Order Refund
      • Mock Payout Order Update Status
    • Pay Session
      • Request Pay Session
  • Webhooks & Events
    • Resend Fail Webhook
    • Open Virtual Account Status
    • Virtual Account Payment Status
    • Virtual Account Invoice update
    • Transaction Status Notification
    • KYB Status Notification
    • Deposit Sender Detail Required
    • Abnormal Fund Notification
    • WALLET_TRANSFER_ORDER_UPDATED
    • Sub Virtual Account RFI Required
    • Sub Wallet Update
    • wallet address whitelist Copy
    • Crypto Deposit Order Notification
    • Collect Order Updated
    • Usd Payout Order Updated
  • Appendix
    • Enum
    • Virtual Account(VA) Support List & KYB requirement
  • Release Notes & Changelog
    • Version History
  • Schemas
    • walletBalance
    • walletAddress
    • transactionRecord
  1. Account Management

List Primary Virtual Accounts

GET
/v1/virtual-account/primary/list
Purpose:
Retrieve primary (master) virtual accounts for the authenticated Stable merchant. Each item is a condensed view suitable for selection UI or routing to balance/detail APIs.
What this endpoint does:
Calls the wallet getPrimaryAccountList once with merchantId and userId resolved from the gateway context. Returns an array of primary accounts with accountId, accountName, and currency only (no pagination at this layer).
Keynotes:
No query parameters — context-only identification.
accountId is the internal primary VA id (same as wallet virtualAccountId).
On success, data is a JSON array (may be empty). On business failure, data may be null and code / msg describe the error.
Envelope fields align with JsonRes: status, msg, optional code, data, traceId.
traceId is always present for troubleshooting and request correlation.

Request

None

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET '/v1/virtual-account/primary/list'

Responses

🟢200
application/json
Success or business error envelope; check status and code.
Body

Examples
{
    "status": 200,
    "msg": "OK",
    "code": null,
    "data": [
        {
            "accountId": "1000123456",
            "accountName": "Acme Ltd BRL Master",
            "currency": "BRL"
        },
        {
            "accountId": "1000123457",
            "accountName": "Acme Ltd USD Master",
            "currency": "USD"
        }
    ],
    "traceId": "39d760f9a1814c4896a774bcf79da528"
}
Previous
Inquiry Master VA Balance
Next
Create Virtaul Account
Built with