1. Partner Flow
BPN OpenAPI
  • Get started
    • Introduction to BPN
    • Introduction to API
    • Architecture Overview
    • Authentication
    • Environments
    • Response envelope
    • Idempotency
  • Guides
    • Virtual Account
      • Virtual Account Overview
      • VA · Payin
      • VA · Statuses
      • VA · Currencies & limits
      • VA · Payout
      • VA · RFI
      • VA Opening
        • VND VA Opening
        • BRL VA Opening
    • Wallet
      • Wallet · Transfer
      • Wallet · Assets & limits
      • Wallet · Deposit whitelist
      • Wallet · PaymentLink
      • Wallet Overview
      • Wallet · Deposit
      • Wallet · Statuses
      • Wallet · Withdraw
    • Convert
      • Convert Overview
      • Convert · Quote & submit
      • Convert · Business types
      • Convert · Pairs & limits
      • Convert · Statuses
  • API Reference
    • Virtual Account
      • Virtual Account field notes
      • Inquiry Master VA Balance
      • List Primary Virtual Accounts
      • Create Virtual Account
      • Get Virtual Account Detail
      • List Virtual Account
      • List Virtual Account Orders
      • Get Virtual Account Order Detail
      • Refund Virtual Account Order
      • List RFI Sub Virtual Account
      • Get Sub Virtual Account RFI Template Info
      • Sub Virtual Account Submit RFI
      • Add Bank Account
      • List Bank Account
      • List Banks
      • Payout via Virtual Account
      • Send Email Verify Code
    • Wallet
      • Wallet field notes
      • Deposit Whitelist
        • Get Deposit Whitelist Options
        • Register Deposit Source Address
        • List Deposit Source Addresses
        • Get Deposit Source Address
        • Disable Deposit Source Address
        • Submit Payer Details for a Received Deposit
        • Save Sub-wallet Payer Profile
        • Update Sub-wallet Payer Profile
        • Get Sub-wallet Payer Profile
        • Get Deposit Whitelist Case
      • Get Asset Balance
      • Get Deposit Address
      • Add Deposit Sender
      • Add Withdraw Whitelist
      • Delete Withdraw Whiltelist
      • Request Withdraw
      • Query Wallet Internal Transfer Detail
      • List Wallet Internal Transfer order
      • Wallet Internal Transfer
      • Create Sub Account
      • Query Transaction History
      • List Wallets
      • List Sub Account
      • Get Transaction Detail
      • List Wallet Transactions
      • Get Wallet Transaction Detail
    • 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
    • Convert
      • Convert field notes
      • Inquery FX Rate
      • Get Stablecoin Quote
      • Create Stable Order
      • Get Order (Single) Detail
      • List Orders(Batch)
    • KYB
      • Share KYB/KYC Info For Sub User
      • Get KYB Sub User Status
    • Reconciliation
      • Get Reconciliation Order List By Page
    • External Provider
      • FE: Create stablecoin collection sub-account link
      • FE: Deposit Travel Rule
      • External Provider · Deposit whitelist
      • 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
      • Create deposit Travel Rule link
      • Create deposit Travel Rule detail link
    • Mock
      • Mock Virtual account Payin Order
      • Mock wallet deposit transaction
      • Mock Payin Order Refund
      • Mock Payout Order Update Status
    • Pay Session
      • Request Pay Session
    • Files
      • Request File Upload URL
  • Webhooks
    • Webhooks Overview
    • KYB notifications
    • Event catalogue
    • 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 Update
    • Crypto Deposit Order Notification
    • Collect Order Updated
    • Usd Payout Order Updated
    • onboard result
    • partner order status
    • PaymentLink Notification
    • Deposit Whitelist Notification
  • Partner Flow
    • Share KYB/KYC and open account directly
      POST
    • Get KYB/KYC submit + open account status
      GET
    • Get Stablecoin Quote
      POST
    • Create Stable Order
      POST
    • Get Order (Single) Detail
      GET
    • List Orders(Batch)
      GET
    • Submit hash
      POST
  • Appendix
    • Enums quick reference
    • Enum
    • Virtual Account(VA) Support List & KYB requirement
  • Release Notes & Changelog
  • Errors
    • Error codes catalogue
  • Change Log
    • 2026-09-21 Virtual Account independent refund orders
    • Wallet deposit source-address whitelist
  1. Partner Flow

Share KYB/KYC and open account directly

POST
/v1/kyb/onboarding-sharing
Purpose
Submit KYB data to open an RD Wallet HKD sub-account (whitelistedBusiness: OFFRAMP | ONRAMP | ALL).
Usage
Required: requestId, externalUserId, whitelistedBusiness, currency (HKD), profile.
OFFRAMP / ALL: profile.extra.bankAccounts required (≥1 account).
ONRAMP: bank accounts optional.
Merchant identity comes from API-KEY; do not send platform masterUserId.

Request

Authorization
API Key
Add parameter in header
API-KEY
Example:
API-KEY: ********************
API Key
Add parameter in header
API-SIGNATURE
Example:
API-SIGNATURE: ********************
API Key
Add parameter in header
API-TIMESTAMP
Example:
API-TIMESTAMP: ********************
or
Body Params application/jsonRequired

Examples
{
    "requestId": "ONB-OFFRAMP-1787315173",
    "externalUserId": "merchant_user_offramp_001",
    "email": "ops@example.com",
    "whitelistedBusiness": "OFFRAMP",
    "currency": "HKD",
    "profile": {
        "userType": "Corporate",
        "company": {
            "legalEntityTypeCode": 1,
            "incorporationCountry": "HKG",
            "registrationNumber": "4862430",
            "incorporationCertificateFile": "<FILE_REF_OR_BASE64>",
            "incorporationDate": "2022-05-01",
            "registrationCountry": "HKG",
            "registeredAddress": "Units 2801-05A, Level 28, K11 Atelier, Hong Kong",
            "operatingCountry": "HKG",
            "operatingAddress": "Units 2801-05A, Level 28, K11 Atelier, Hong Kong",
            "companyName": "Sample Trading Limited",
            "financialInstitutionFlag": 2,
            "listedFlag": 2,
            "governmentOwnedFlag": 2,
            "memorandumFiles": [
                "<FILE_REF_OR_BASE64>"
            ]
        },
        "business": {
            "items": [
                {
                    "industryCode": "I300734",
                    "yearsInBusiness": "3",
                    "operatingCountries": [
                        "HKG"
                    ],
                    "lastYearSales": "2",
                    "businessDescription": "Cross-border digital asset payment service"
                }
            ]
        },
        "shareholder": {
            "structureDiagramFiles": [
                "<FILE_REF_OR_BASE64>"
            ]
        },
        "ubo": {
            "directorCount": 2,
            "members": [
                {
                    "firstName": "Alice",
                    "lastName": "Wong",
                    "gender": 2,
                    "dateOfBirth": "1985-06-20",
                    "nationality": "HKG",
                    "idType": 2,
                    "idNumber": "B2345678",
                    "email": "alice.wong@example.com",
                    "director": true,
                    "beneficialOwner": true,
                    "mandateUser": true,
                    "walletAdmin": true,
                    "ownershipPercent": 60,
                    "shareToken": "<PARTNER_SUMSUB_SHARE_TOKEN>",
                    "idDocumentFiles": [
                        "<FILE_REF_OR_BASE64>"
                    ]
                },
                {
                    "firstName": "Bob",
                    "lastName": "Lee",
                    "gender": 1,
                    "dateOfBirth": "1983-11-08",
                    "nationality": "HKG",
                    "idType": 2,
                    "idNumber": "C3456789",
                    "email": "bob.lee@example.com",
                    "director": true,
                    "beneficialOwner": true,
                    "mandateUser": false,
                    "walletAdmin": false,
                    "ownershipPercent": 40,
                    "idDocumentFiles": [
                        "<FILE_REF_OR_BASE64>"
                    ]
                }
            ]
        },
        "extra": {
            "bankAccounts": [
                {
                    "accountName": "Sample Trading Limited",
                    "accountNo": "123456789",
                    "bankId": "004"
                }
            ]
        }
    }
}

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
curl --location '/v1/kyb/onboarding-sharing' \
--header 'API-KEY: <api-key>' \
--header 'API-SIGNATURE: <api-key>' \
--header 'API-TIMESTAMP: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "requestId": "ONB-OFFRAMP-1787315173",
    "externalUserId": "merchant_user_offramp_001",
    "email": "ops@example.com",
    "whitelistedBusiness": "OFFRAMP",
    "currency": "HKD",
    "profile": {
        "userType": "Corporate",
        "company": {
            "legalEntityTypeCode": 1,
            "incorporationCountry": "HKG",
            "registrationNumber": "4862430",
            "incorporationCertificateFile": "<FILE_REF_OR_BASE64>",
            "incorporationDate": "2022-05-01",
            "registrationCountry": "HKG",
            "registeredAddress": "Units 2801-05A, Level 28, K11 Atelier, Hong Kong",
            "operatingCountry": "HKG",
            "operatingAddress": "Units 2801-05A, Level 28, K11 Atelier, Hong Kong",
            "companyName": "Sample Trading Limited",
            "financialInstitutionFlag": 2,
            "listedFlag": 2,
            "governmentOwnedFlag": 2,
            "memorandumFiles": [
                "<FILE_REF_OR_BASE64>"
            ]
        },
        "business": {
            "items": [
                {
                    "industryCode": "I300734",
                    "yearsInBusiness": "3",
                    "operatingCountries": [
                        "HKG"
                    ],
                    "lastYearSales": "2",
                    "businessDescription": "Cross-border digital asset payment service"
                }
            ]
        },
        "shareholder": {
            "structureDiagramFiles": [
                "<FILE_REF_OR_BASE64>"
            ]
        },
        "ubo": {
            "directorCount": 2,
            "members": [
                {
                    "firstName": "Alice",
                    "lastName": "Wong",
                    "gender": 2,
                    "dateOfBirth": "1985-06-20",
                    "nationality": "HKG",
                    "idType": 2,
                    "idNumber": "B2345678",
                    "email": "alice.wong@example.com",
                    "director": true,
                    "beneficialOwner": true,
                    "mandateUser": true,
                    "walletAdmin": true,
                    "ownershipPercent": 60,
                    "shareToken": "<PARTNER_SUMSUB_SHARE_TOKEN>",
                    "idDocumentFiles": [
                        "<FILE_REF_OR_BASE64>"
                    ]
                },
                {
                    "firstName": "Bob",
                    "lastName": "Lee",
                    "gender": 1,
                    "dateOfBirth": "1983-11-08",
                    "nationality": "HKG",
                    "idType": 2,
                    "idNumber": "C3456789",
                    "email": "bob.lee@example.com",
                    "director": true,
                    "beneficialOwner": true,
                    "mandateUser": false,
                    "walletAdmin": false,
                    "ownershipPercent": 40,
                    "idDocumentFiles": [
                        "<FILE_REF_OR_BASE64>"
                    ]
                }
            ]
        },
        "extra": {
            "bankAccounts": [
                {
                    "accountName": "Sample Trading Limited",
                    "accountNo": "123456789",
                    "bankId": "004"
                }
            ]
        }
    }
}'

Responses

🟢200Success
application/json
Bodyapplication/json

Example
{
    "status": 200,
    "code": null,
    "msg": "OK",
    "data": {
        "success": true,
        "userId": "21000000000632",
        "accountId": "21000000000632",
        "externalUserId": "merchant_user_offramp_001",
        "requestId": "ONB-OFFRAMP-1787315173",
        "sharingProcessed": true,
        "failReason": null
    },
    "traceId": "Auto:8e06c7e806ac4a49b509575e2ab66e28",
    "success": true
}
Previous
Deposit Whitelist Notification
Next
Get KYB/KYC submit + open account status
Built with