Create internal transfer
Changed onCreates an internal transfer between wallets with optional currency conversion.
Supports two conversion types:
-
QUOTE: Returns a firm rate that requires client acceptance before settlement. The transfer is held in PENDING_QUOTE_ACCEPTANCE state until the client accepts the quote via the actions endpoint.
-
AUTO_CONVERSION: Automatically converts funds at the market rate without requiring quote acceptance. Only fixed debit is supported.
For same-asset transfers (originator and beneficiary currencies match), omit the conversion object.
To preview a conversion transfer without creating it, use the POST /payment/v3/transfers/dry-run endpoint instead. It returns the rate, spread, fees, and converted amounts without persisting a transfer or moving any funds.
Request
- Base URLhttps://api.sandbox.bvnk.com
- AuthAPI key in header Authorization
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Headers
Client-generated unique identifier for the request in UUID format. Ensures that retried requests are not processed more than once.
Request body
Example request
{
"reference": "treasury-123",
"originator": {
"walletId": "a:25072267284363:kd3mRMO:1"
},
"beneficiary": {
"walletId": "a:25072267284363:kd3mRMO:2"
},
"metadata": {
"source": "api",
"orderId": "ORD-48213"
}
}Response
Transfer created successfully
Example response
{
"type": "payment:transfer",
"metadata": {
"source": "api",
"orderId": "ORD-48213"
},
"fees": {
"processingFee": {
"amount": 100.5,
"currency": "USD"
}
},
"trackingDetails": [
{
"externalTransactionId": "123e4567-e89b-12d3-a456-426614174000",
"imad": "20260304ABCDXXXX012345",
"omad": "20260304QMQP021000080",
"traceNumber": "021000080123456",
"uetr": "550e8400-e29b-41d4-a716-446655440000"
}
],
"method": "BOOK"
}Changes
- info
endpoint added
- info