For teams & developers · Nam A Bank, SeABank, MSB

Outgoing transfers from your personal bank account.

Send transfers from the console or the API, give each member the right permissions and track every transfer in one place. Look up the recipient’s name with the bank before you send.

  • Name check before sending
  • API & webhooks
  • Member roles

7-day free trial · no payment required

Bank sign-in details are encrypted at rest 

Send from a personal account at

Recipients can be at other banks in Vietnam, via NAPAS. More source banks will follow.

Features

Manage transfers and transactions in one place.

One workspace for the whole team: balances and history for every account, the recipient’s name before you send, alerts in your team chat and an audit log.

01 / Balances & history

Balances and history for every account

Transactions sync from the bank into one place. Filter by date, see spending by month and refresh when you need the latest figures.

02 / Name check

Check the recipient’s name first

VietRelay asks the bank for the account holder’s name so you can compare it and avoid paying the wrong person.

03 / Alerts

Alerts in Telegram and Discord

New transactions, succeeded or failed transfers and stopped bank connections are posted to your team’s chat.

04 / Audit log

See who did what

Business and security actions are written to a log that cannot be edited or deleted.

05 / Members

Permissions for every member

Invite colleagues and give each one a role that fits their job. Only owners and bank managers can create transfers.

How it works

Connect, verify, then send.

  1. 01 · Source

    Connect a personal account

    Link a Nam A Bank, SeABank or MSB account and complete the bank’s verification steps in the console.

  2. 02 · Verify

    Look up the recipient

    Choose the bank and enter the account number; VietRelay returns the holder’s name as the bank has it, so you can compare.

  3. 03 · Result

    Send and get the result

    Send from the console or the API. A transfer ends as Succeeded or Failed; one with an unclear outcome is reconciled with the bank and never sent again automatically.

Security

Protecting the bank details you trust us with.

To work with your bank on your behalf, VietRelay has to store your bank sign-in details. This is how they are protected.

  • Encryption

    AES-256-GCM

    Bank passwords, PINs, tokens and device keys are encrypted, each secret with its own data key. Only the bank-connection process can decrypt them.

  • Two-step verification

    TOTP · optional

    With TOTP on, a code is needed to sign in, to revoke an API client or rotate its secret and to delete the workspace. When the platform requires it (on by default), every transfer sent from the console needs a fresh code too, so TOTP must be on to send from the console. Transfers sent by an API client need no code.

  • Roles

    4 roles

    Admins manage connections and members but cannot send money; viewers only read. Ownership cannot be transferred.

  • Audit log

    Append-only

    The database blocks every edit or delete of the business and security log. Owners review the business log in the console.

For technical teams

Build transfers into your own system.

Get a token with OAuth client credentials, then call a JSON API. A transfer call waits for the bank’s result before it responds (up to 180 seconds); the transactions.updated and balance.updated webhooks report new transactions and balances.

Log in to read the API docs
Look up → Send HTTP · JSON
# 1 · Look up the recipient’s name
POST /v1/beneficiary-inquiries
Authorization: Bearer {access_token}

{
  "connection_id": "5f1c7a2e-8b4d-4c3a-9e61-0d2f7b9a4c18",
  "bank_code": "970426",
  "account_number": "0123456789"
}
# ← 200 (trimmed)
{ "state": "found", "verified_name": "NGUYEN MINH ANH" }

# 2 · Send the transfer with the verified name
POST /v1/payments
Authorization: Bearer {access_token}
Idempotency-Key: 0f8e2d6c-3a1b-4e59-b7c4-6d2a9e1f5b30

{
  "connection_id": "5f1c7a2e-8b4d-4c3a-9e61-0d2f7b9a4c18",
  "bank_code": "970426",
  "account_number": "0123456789",
  "amount_minor": "2450000",
  "note": "Thanh toan don hang 1024",
  "verified_name": "NGUYEN MINH ANH"
}
# ← 200 (trimmed)
{ "state": "succeeded", "provider_reference": "FT26257ABC" }

verified_name is optional in POST /v1/payments: look the name up before every transfer and send the verified_name you got back. Retrying from the same API client with the same Idempotency-Key within 30 days never creates a second transfer.

Pricing

Processing fees apply only above your allowance.

Start with a 7-day free trial, no payment required. During the trial, a transfer above the trial allowance is declined rather than charged. Each plan’s price and allowance are shown in the console.

Start free trial
  • Within the plan allowance

    Each monthly plan has a price, a limit on bank connections and usually a free transfer allowance measured in total amount per period. Transfers within the allowance cost nothing extra.

  • Above the allowance

    Only the excess is charged a processing fee at the plan’s percentage, rounded up to the next đồng. For example, with 1 million left in your allowance, a 2 million transfer is charged on 1 million only. The fee is collected only when the transfer succeeds.

  • Plans without an allowance

    On a plan with no free allowance, the percentage fee applies to every transfer.

Frequently asked questions

Clear before
you begin.

How are my bank sign‑in details protected?

VietRelay has to store your bank password, PIN and device keys to work with the bank on your behalf. All of them are encrypted with AES-256-GCM, each secret with its own key, and only the bank-connection process can decrypt them. Some banks require a face check for transfers, so the selfie taken when you connect is stored too, encrypted. More in Security.

Do I have to enter an OTP for every transfer?

Not the bank’s OTP. When you connect, the bank’s own verification, such as Soft OTP, a PIN or a device key, is stored encrypted, so VietRelay completes the bank’s OTP step itself. You stay in control: only permitted roles can create transfers, and the console always looks up the recipient’s name before sending. When the platform requires it (on by default), each transfer sent from the console needs a fresh code from your authenticator app. Transfers sent by an API client don’t need this code.

What happens if I change my bank password?

The bank rejects the stored sign-in details and the connection stops. You get an alert in the console, and in Telegram or Discord if you have added a channel; revoke the old connection, then connect the account again in the console.

Is VietRelay a bank?

No. Your money stays in your bank account and the bank processes the transfer; VietRelay is software that helps you send transfers, look up recipients’ names and follow the results.

Can I use VietRelay without writing code?

Yes. You can send transfers and follow transactions in the console; the API is there when you want to connect your own system.

Why look up the recipient’s name?

So the money reaches the right person. VietRelay asks the bank for the account holder’s name so you can compare it before sending. The console always looks the name up before sending; with the API, call the lookup before every transfer.

What if a transfer shows Pending?

It means the bank has not confirmed it yet. Don’t create a new transfer for the same money: VietRelay never resends it, but checks with the bank to update its status. If it still cannot be confirmed after 30 minutes, the transfer is marked Failed because its result could not be confirmed; check your account statement before sending again.

Get started

Know who you’re paying before the money leaves.

Create a workspace, start the 7-day trial in the console and connect your first account.