International Remittances (FX) with Deposits
International remittance is the movement of personal money to family and friends overseas. It usually involves two separate account holders, in different countries and is quite common amongst migrants.
Building an international remittance product with Deposits can be done in a few easy steps.
Your product will be sitting on the Deposits API, a tenant on our core infrastructure, fully capable of onboarding users, and allowing them to carry out transactions as needed.

Creating An Individual Account

To allow your users send remittance, you first create an account for the user. We allow you create two types of users, an individual user and a business user. For this guide we will be creating an individual account. Start by accessing the create user endpoint where some basic information about the customer such as:
  • First name
  • Last name
  • Username
  • Country
  • State
  • Address
  • Phone number
  • Zipcode
And a few others will be collected.
After the successful creation of a new user account, a success response such as the one below is returned.
As a tenant, your users can receive money (topup) and send money (payouts) using some specific endpoints.

Creating A Business Account

To create an account for a business entity, you need to access the create business endpoint.
The process of creating a business account is quite similar to the process of creating an individual account, with the main difference being the type of information required.
They include:
  • Api key
  • User id
  • Business name
  • Business email
  • Business industry
  • Business phone
  • Business description
  • Business address
  • Country
  • City
  • Website
  • Logo
  • Phone number
  • Employer ID number
  • Support country
  • Support state
  • Support city
  • Support zipcode
  • Support address one
  • Support address two
  • Support phone number
  • Support email
  • Business rep name
  • Business rep email
  • Business rep job title
  • Business rep dob
  • Business rep country
  • Business rep state
  • Business rep city
  • Business rep zipcode
  • Business rep address
  • Business rep ssn
  • Business rep phone
  • Personal id
  • Business proof
  • EIN
Upon the successful creation of a business account, a success response similar to the one below is returned.


Top-Ups allow users to add funds into their wallets/accounts from which remittances can be initiated. Users can top up their wallets/accounts using two methods:
  • Fund via bank
  • Fund via tokenized card.

Fund wallet via bank

To fund a wallet via a bank account, a user must have first use some endpoints before being able to successfully fund a wallet via a bank account.
This endpoint allows a user to add an external bank account using the information provided by the user. The added account is given an identification number as seen in the sample response below.
Verify Bank Account
This endpoint verifies a new external account using two micro-deposits and the information provided by the user. Once a bank account has been verified, it can then be used to fund a wallet. When a bank account is successfully verified, a response similar to the image below is returned.
Fund Wallet Via Bank
This endpoint funds a Deposits wallet via a verified external bank account. If a wallet is successfully funded, a response similar to the image below is returned.

Charge Tokenized Card Fund Wallet

To be able to fund your wallet via your card, you will need to go through a couple of endpoints.
Tokenize card.
This endpoint allows you to add a card by means of tokenization. Your card will be recognized in the system through a new identifier assigned to it. Upon successful tokenization of a card, a response similar to the image below will be returned.
Charge Tokenized Card Fund Wallet
This endpoint charges an already tokenized card in order to fund a wallet. (Topup) If successful, below is a sample response.

Wire Details

Our international payments are facilitated by wire transfer. Wire transfer is a way of moving money electronically by providing the necessary details of the receiving account. To make international payments, the first step is to add the details of the receiving account. You can do this via:
  • Add bank wire
This endpoint allows users to add the wire details of a bank account they would like to initiate payment to, the beneficiary. Once the details have been added, a unique identifier is generated by Deposits for that beneficiary account. The added account will now be recognized and referred to strictly by the unique account identifier.
When an account detail is added, it will return a response similar to the one below.


Payouts allow users to withdraw or send funds out of their Deposits wallets/accounts. With Deposits, a payout can be done manually or automatically depending on the preference of the user. For international remittances, there is one way to make payouts.
  • Withdraw to account
This endpoint enables the transfer of money out of a user's wallet to an external third-party bank account. Basically, this endpoint allows users to withdraw money out of their wallets to an external bank account of their choice. This allows users to send money out to friends, family back home as it works for both local and international payments.
This endpoint takes in requests as form data and returns a response similar to the image below.