---
updatedAt: 2026-02-28T11:24:13.000Z
agentTools:
  projectIndex: https://neutronpay.readme.io/llms.txt
---

# 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](/reference/createtransaction) 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

```json
{
  "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](/reference/purpose)                                            |
| `source`       | integer | Yes         | Where the funds originally came from (e.g., savings, business income). See [Source values](/reference/source)                                      |
| `relationship` | integer | Conditional | The relationship between sender and recipient. **Required** when either party is an individual. See [Relationship values](/reference/relationship) |

## 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](/reference/purpose)

## 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](/reference/source)

## 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](/reference/relationship)

## Complete Example

A Canadian individual sending salary to their spouse in Vietnam:

```json
{
  "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