Source of funds

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
  }
}
FieldTypeRequiredDescription
purposeintegerYesThe reason for the transfer (e.g., salary, business services). See Purpose values
sourceintegerYesWhere the funds originally came from (e.g., savings, business income). See Source values
relationshipintegerConditionalThe 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.

Full purpose value table

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

Full source value table

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