International fiat payouts require a sourceOfFunds declaration to comply with cross-border regulations. This object is included at the top level of the create transaction request body, alongside sourceReq and destReq.
When Is It Required?
sourceOfFunds is required when:
- The sender and recipient are in different countries
- The payout destination is a fiat currency (VND, USD, NGN, etc.)
It is not required for:
- BTC, Lightning, or stablecoin transactions
- Domestic transfers (same country sender and recipient)
Structure
{
"sourceOfFunds": {
"purpose": 1,
"source": 5,
"relationship": 4
}
}| Field | Type | Required | Description |
|---|---|---|---|
purpose | integer | Yes | The reason for the transfer (e.g., salary, business services). See Purpose values |
source | integer | Yes | Where the funds originally came from (e.g., savings, business income). See Source values |
relationship | integer | Conditional | The relationship between sender and recipient. Required when either party is an individual. See Relationship values |
Purpose Values
The purpose code describes why the money is being sent. Values differ based on the transaction type:
Individual to Individual (values 1–13): Family maintenance, salary, savings, medical expenses, tuition, gifts, etc.
Business transactions (values 51–67): Goods & services, employee compensation, export payments, loan repayment, etc.
Source Values
The source code describes where the funds originated:
Individual to Individual (values 1–6): Salary, savings, lottery, loan, business income, business profit
Business transactions (values 7–8): Settlement, others
Relationship Values
The relationship code describes how the sender and recipient are connected (values 1–11): Self, family members, friend, employer, colleague.
→ Full relationship value table
Complete Example
A Canadian individual sending salary to their spouse in Vietnam:
{
"sourceReq": {
"ccy": "BTC",
"method": "neutronpay",
"reqDetails": {},
"kyc": {
"type": "individual",
"details": {
"legalFullName": "John Doe",
"countryCode": "CA"
}
}
},
"destReq": {
"ccy": "VND",
"amtRequested": 5000000,
"method": "vnd-instant",
"reqDetails": {
"acctName": "Nguyen Thi B",
"acctNum": "123456789",
"institutionCode": "TPBVVNVX",
"institutionName": "TPBank"
},
"kyc": {
"type": "individual",
"details": {
"legalFullName": "Nguyen Thi B",
"countryCode": "VN"
}
}
},
"sourceOfFunds": {
"purpose": 4,
"source": 1,
"relationship": 4
}
}In this example:
- purpose: 4 → Salary (individual to individual)
- source: 1 → Salary (where the money came from)
- relationship: 4 → Spouse
