vrtx Docs
Core APIs
  • Start
  • Onboarding
  • Wallet
  • Payouts
  • Cards
  • Transactions
Closed loop APIsCard Simulator
SDK APIs
  • Coming Soon!
Core APIs
  • Start
  • Onboarding
  • Wallet
  • Payouts
  • Cards
  • Transactions
Closed loop APIsCard Simulator
SDK APIs
  • Coming Soon!
  1. Money Movement
  • Welcome ๐Ÿ‘‹
  • Get Started
  • Authentication
  • Responses
  • Pagination
  • Auth
    • Token
      POST
  • Businesses
    • List businesses
      GET
    • Create business
      POST
  • Money Movement
    • Create fund
      POST
    • Create payout
      POST
    • Get payout
      GET
    • Create refund
      POST
    • Create transfer
      POST
    • Create withdrawal
      POST
  • Labels
    • List labels
      GET
    • Create label
      POST
  • Transactions
    • List transactions
      GET
    • Get transaction
      GET
    • List wallet transactions
      GET
  • Wallets
    • List wallets
      GET
    • Create wallet
      POST
    • Lookup wallet
      GET
    • Update wallet
      PATCH
    • Get wallet
      GET
    • Get wallet balance
      GET
    • Remove label
      DELETE
    • Assign label
      PUT
  • Wallet Statements
    • Retrieve wallet statement (preview)
  • Webhooks
    • Register webhook endpoint (preview)
    • List webhook endpoints (preview)
  1. Money Movement

Create transfer

POST
https://api.staging.vrtx.sa/cl/v1/transfers
Last modified:2025-12-03 07:59:44
Transfer funds between wallets within the closed-loop ecosystem.
This endpoint debits the sender wallet and credits the receiver wallet, allowing instant internal movement of funds without involving any external banking rails.
Use this endpoint for peer-to-peer (P2P), merchant-to-customer, or customer-to-merchant transactions inside the closed loop.

Transaction Flow#

StepDescriptionAccountDirection
1Debit the sender wallet to reflect outgoing fundsSender WalletDEBIT (โˆ’)
2Credit the receiver wallet with the same amountReceiver WalletCREDIT (+)

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Header Params

Body Params application/jsonRequired

Example
{
    "sender_account_number": "088400009010",
    "receiver_account_number": "088400008038",
    "amount": "15.00",
    "currency": "SAR",
    "purpose": "Settlement",
    "external_reference": "Transfer-12312555331",
    "description": "Monthly settlement"
}

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 POST 'https://api.staging.vrtx.sa/cl/v1/transfers' \
--header 'Idempotency-Key: transfer-req-123' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "sender_account_number": "088400009010",
    "receiver_account_number": "088400008038",
    "amount": "15.00",
    "currency": "SAR",
    "purpose": "Settlement",
    "external_reference": "Transfer-12312555331",
    "description": "Monthly settlement"
}'

Responses

๐ŸŸข201Created
application/json
Created
Body

Example
{
    "id": "ab17f685-3531-46f3-a200-02e9d2d07f41",
    "amount": "1.00",
    "currency": "SAR",
    "purpose": "Settlement",
    "sender_account_number": "054200002027",
    "receiver_account_number": "054200002019",
    "external_reference": "Transfer-1231233",
    "description": "Monthly settlement",
    "status": "SUCCESS",
    "created_at": "2025-10-25T14:37:13.338Z"
}
๐ŸŸ 400Bad Request
๐ŸŸ 401Unauthorized
๐ŸŸ 403Forbidden
Modified atย 2025-12-03 07:59:44
Previous
Create refund
Next
Create withdrawal
Built with