Managing Non-Business Customers via API
Learn how to automate customer registration and management for individual customers.
Money Transmitter Customers API
Your users' ability to transfer USD funds from or to their bank accounts hinges on their registration in our system and compliance with the required KYC verifications. These ensure every user meets legal requirements, resulting in a secure and compliant environment for fund transfers.
Before registration, your new customers must agree to the Terms of Service (ToS). This step is signified by the signed_agreement_id value, which you receive as an acknowledgment of your users' acceptance.
In addition, you need to collect essential information such as name, email, and address, along with unique identifiers like taxpayer number and ID. See the complete KYC Requirements for details. This comprehensive collection enables us to properly KYC your customers and approve them before initiating any USD transactions. Your diligence in this process ensures them a seamless KYC journey.
The Money Transmitter Customers (MTC) API is a powerful tool that empowers you to automate customer registration and management, for non-business and business customers. Its CRUD methods ensure quick and reliable operations, enhancing your ability to manage your customers effectively and efficiently.
Prerequisite
When using the MTC API, obtaining the necessary authorization is an essential step. Enable the View account information permission when creating your API key to get the required approval; refer to Figure 1. For details on creating API credentials, refer to the article, Generate Your API Credentials.
This permission not only allows you to retrieve your account details but also acts as an enabler for the MTC API. Failure to set this permission will result in failed API calls. Another checking point is that Bitso grants permission to use the API only to Money Transmitters.


Figure 1. API Key Permissions
KYC Requirements
To transfer funds, customers must successfully submit the information listed below. This information is crucial for the KYC process, a legal requirement for all fund transfers that helps ensure the security and legality of the transactions. Failure to provide this information will result in customer rejection.
- First and last names
- Street address (PO Box addresses are not valid)
- City
- State (ISO 3166-2 subdivision code deleting the country prefix)
- Country (ISO 3166-1 alpha-3 code)
- Postal code
- Email address
- Phone number (optional)
- Date of birth
- Taxpayer identification number
- Government-issued ID (Base64-encoded image or PDF file of the front and back)
Registration Flow Overview
To register a non-business customer:
- Request a security token, POST /v3/payments/usd/bridge/security-tokens
- Request the ToS URL,
POST /v3/payments/usd/bridge/money-transmitters/customers/terms-of-service. - Provide your customer with the ToS URL received.
- Have your customer accept the ToS.
- Upon agreement, the system delivers the
signed_agreement_id, an acknowledgment of your customer's acceptance. Store this ID value because it is required for customer registration. - Create your customer by sending the ToS signature (
signed_agreement_idparameter) and your customer's information,
POST /v3/payments/usd/bridge/money-transmitters/customers. - Upon successful registration, you receive your customer's ID. Bitso highly recommends storing these IDs, as you must provide them when completing transactions on your customer’s behalf or when querying their KYC status.
For details about this flow, refer to the section, Registration Flow: Non-Business Customers.
After Registration
After creating a customer, you can perform the following operations as needed:
- Retrieve: You can get your customers' information or KYC status by customer ID or list your complete list of customers,
- Update: Updates apply only to modifying a customer's information to fix a KYC issue. You can do so only if the customer is in a non-active state, meaning their KYC process has yet to be approved,
- PUT /v3/payments/usd/bridge/money-transmitters/customers/{customerId}.
Note: When updating customer data, providing the complete data structure is essential. This includes all the parameters used during the initial registration, even if some data has stayed the same. It is not a PATCH operation, and complete data submission ensures the accuracy of the information.\
- PUT /v3/payments/usd/bridge/money-transmitters/customers/{customerId}.
- Delete: Remove a specific customer,
Updated 8 months ago
What’s Next
Refer to the subsequent article to learn about the details of the registration steps previously outlined:
