Skip to content

Account Funding Transactions (AFT)

Funding transactions are used to transfer funds from a card account to another destination, rather than for the provision of goods or services. Examples include, but are not limited to:

  • loading digital wallets
  • moving money into a crypto exchange or investment platform
  • direct purchase of cryptocurrency or liquid assets
  • transfers to financial institution accounts
  • transfers to debit or prepaid accounts/cards
  • gifting money to friends or family members at home or abroad
  • and more...

International funds transfers

For cross border and inter-regional funds transfers you must submit the following:

Recipient:

  • recipient.address.address1
  • recipient.address.city
  • recipient.address.postalCode (supply an empty string if postal codes are not widely supported for the supplied countryCode eg for Ireland, IE)
  • recipient.address.state (mandatory for US and Canada)
  • recipient.address.countryCode

Sender:

  • sender.address.address1
  • sender.address.city
  • sender.address.postalCode (supply an empty string if postal codes are not widely supported for the supplied countryCode eg for Ireland, IE)
  • sender.address.state (mandatory for US and Canada)
  • sender.address.countryCode
  • sender.dateOfBirth

Use cases

Use caseDescriptionRequired request values
Account to AccountTransfer funds from a card account to a financial institution account owned by the cardholder."type":"accountToAccount"
"purpose" Not "creditCardRepayment"
Credit card repaymentUse a debit card to pay off a credit card bill."type":"accountToAccount"
"purpose":creditCardRepayment
CashUse a card to fund a transfer where the funds are given to the recipient in cash."type":"cash"
Disbursement: Business to Business (B2B)Pull funds from a business card in order to pay an invoice due from another business."type":"disbursement"
"purpose":"businessToBusiness"
Disbursement: PayrollPull funds from a business card to fund payroll disbursements made by a payroll provider on behalf of a business."type":"disbursement"
"purpose":"payroll"
Disbursement: Business to Consumer (B2C)Pull funds from a business card to fund a business disbursement."type":"disbursement"
"purpose" Not "businessToBusiness" or "payroll"
Person to PersonTransfer funds from a card account to an account owned by another person."type":"personToPerson"
Purchase a gift cardPurchase a gift card. Note: sender and recipient values must exactly match if the recipient of the gift card is the same as the person purchasing the gift card."type":"purchase"
"purpose":"giftCard"
Purchase a pre-paid cardPurchase a pre-paid card."type":"purchase"
"purpose":"prePaidCard"
Purchase cryptocurrencyPurchase crypto directly without an intermediary fiat wallet load."type":"purchase"
"purpose":"crypto"
"recipient.account.type": "wallet"
Purchase liquid assetsPurchase crypto directly without an intermediary fiat wallet load. Liquid assets include shares, stock and foreign currencies."type":"purchase"
"purpose":"liquidAssets"
"recipient.account.type": "wallet"
Top up a debit accountTransfer funds from a card to a debit card account owned by the cardholder."type":"topUp"
"purpose":"debitCard"
Top up a pre-paid accountTransfer funds from a card to a pre-paid card account."type":"topUp"
"purpose":"prePaidCard"
Wallet load: cryptocurrencyTransfer funds from a card to a crypto exchange wallet for the purpose of purchasing cryptocurrency."type":"walletLoad"
"purpose":"crypto"
"recipient.account.type": "storedValueWallet"
Wallet load: liquid assetsTransfer funds from a card to a trading wallet for the purpose of purchasing stocks, shares, or foreign currency."type":"walletLoad"
"purpose":"liquidAssets"
"recipient.account.type": "storedValueWallet"
Wallet load: high risk securitiesTransfer funds from a card to a trading wallet for the purpose of purchasing high risk securities."type":"walletLoad"
"purpose":"highRiskSecurities"
"recipient.account.type": "storedValueWallet"
Wallet load: gamingTransfer funds from a card to a gaming wallet."type":"walletLoad"
"purpose":"gaming"
"recipient.account.type": "storedValueWallet"
Wallet load: merchant walletTransfer funds from a card to a merchant wallet, where funds can be used to purchase items from the merchant exclusively."type":"walletLoad"
"recipient.account.type": "merchantWallet"

How to enable

Using the instruction.fundsTransfer object and providing all the required details.

Card scheme registration

You must be registered with Visa and Mastercard to perform funding transactions.

fundsTransfer object (Required)

"fundsTransfer": {
  "type": "purchase",
  "purpose": "crypto",
  "recipient": {
    "account": {
      "type": "wallet",
      "walletReference": "wallet-reference" 
    }
  },
  ...
}

Schema

typestringrequired

Specifies the type of the funds transfer. You may only submit the fundsTransfer.type values that relate to the use cases that you have been approved for by the schemes.

Enum ValueDescription
disbursement

A card is used as the source of funds for a disbursement

personToPerson

Move funds to an account owned by another person (eg gifts)

accountToAccount

Move funds to another financial institution account owned by the same person

topUp

Top up a pre-paid or debit card

purchase

For the initial purchase of a reloadable account (such as prepaid or gift card), or direct crypto & liquid asset purchases without an intermediary wallet load

cash

A card is used to fund a transfer where funds are given to the recipient in cash

walletLoad

Move funds to a digital wallet owned by the same person

purposestring

Specifies the purpose of the funds transfer. Required for some regions and use cases (eg crypto).

Enum"businessToBusiness""creditCardRepayment""crypto""crowdLending""debitCard""education""emergency""familySupport""gift""giftCard"
recipientobject

An object containing details about the recipient of funds, including name and address information, as well as recipient account details. In many use cases, the recipient is the same person as the sender (for example if your customer uses their card to load funds into their own crypto exchange or investment account). Although an optional object in the API schema, recipient is required for some regions and use cases.

accountobject
firstNamestring[ 1 .. 22 ] characters^(?!\s*$).*$

Recipient's first name.

middleNamestring[ 1 .. 22 ] characters^(?!\s*$).*$

Recipient's middle name.

lastNamestring[ 1 .. 22 ] characters^(?!\s*$).*$

Recipient's last name.

addressobject
dateOfBirthstring(date)

Recipient's date of birth

phoneNumberstring[ 4 .. 20 ] characters^(?!\s*$)[0-9\s()+\-/.x]*$

Recipient's phone number

documentReferencestring[ 1 .. 25 ] characters^[-A-Za-z0-9_\-/\\*~+.,&()]*$

Required for domestic processing in some Latin American countries.

senderobject

An object containing details about the sender of funds, including name and address information. The sender account is always the card account declared within instruction.paymentInstrument. Although an optional object in the API schema, sender is required for some regions and use cases.

firstNamestring[ 1 .. 22 ] characters^(?!\s*$).*$

Sender's first name. Must be supplied if lastName or middleName are provided.

middleNamestring[ 1 .. 22 ] characters^(?!\s*$).*$

Sender's middle name.

lastNamestring[ 1 .. 22 ] characters^(?!\s*$).*$

Sender's last name. Must be supplied if firstName or middleName are provided.

addressobject
dateOfBirthstring(date)

Sender's date of birth

documentReferencestring[ 1 .. 25 ] characters^[-A-Za-z0-9_\-/\\*~+.,&()]*$

Sender's document reference (e.g. Tax ID). Required for domestic processing in some Latin American countries.

Outcome details

The payment response does not include any fundsTransfer specific information.