Read for API integration recommendations for business wallet use case
Business wallets allow business users to hold funds and send those funds to other wallet holders within the system or externally to a receiver.
This section will guide you through the API endpoints for the business wallet use case such as creating wallets, loading wallets, unloading wallets and creating transfers and transactions using wallets. Please note that these are recommendations for standard flow and can be customized as per your needs.
The first step in creating the user flow is to register the business user in our system. Business users who want to enable business wallet need to be registered with the
deposit_enabledfield both set to 'true'.
Users can only be registered from the country which has been enabled for you as per your agreement with Machnet. Fields outlined as mandatory in the user object are required during registration.
Upon registration, the user will have to provide basic information on the business and details of the business representative so that necessary KYB checks can be conducted. In order to run KYB on the sender, you will have to:
- 4.UBO Declaration
User KYB is conducted using the following basic information.
- Name of company
- Type of company
- Date of formation of the company
- Registered address
- Mailing address
- Phone number
- Email address
- Nature of business
- No. of employees
- EIN Number
- EIN Document
- Business Representative Information
- Full name
- Ownership_percentage, if beneficial owner
- SSN if US individual or Passport no. if non-US individual
- Copy of US government issued ID if US individual or foreign passport if non-US individual
Once you have submitted the basic information, you will need to initiate KYB of the user. Once KYB has been initiated, you will need to collect the following declaration from the user.
In order to complete verification of the user, the user must attest to the following statement and declare important information on the business.
I certify that the following information was submitted to Platform for all beneficial owners (holding 25% or more ownership) and controlling persons & executives:
- US Person(s): SSN + US Government Issued Photo ID
- Foreign Person(s): Tax Identification Number (if available) + Passport Number & Country of Issuance. In lieu of passport number, foreign persons may also provide an alien identification card number, or number and country of issuance of any other government issued photo ID evidencing nationality or residence.
The required details for the declaration can be found here. Since you will have to provide business representative IDs while using the declaration API, you will have to add the required business representatives (account operator, beneficial owner, primary controller and compliance) before making a declaration request.
Once you have submitted the basic information, you check what KYC information has been provided by a user and its verification status. Each information required for KYC verification is referred to as a CIP tag and each CIP tag has their own verification status.
Only when all CIP tags required for KYB verification (listed above) are verified and the declaration is completed will the KYB status of the user be verified.
Users may be placed in different tiers based on the user information (CIP tags) they provide. The tiers dictate the following limits for each user:
- Load limit: Annual, monthly and daily limit for transfers from linked bank/card to wallet
- Unload limit: Annual, monthly and daily limit for transfers from wallet to linked bank/card
- Transfer limit: Annual, monthly and daily limit for wallet to wallet transfers
- External transaction limit: Annual, monthly and daily limit for external transactions
- Hold limit: Amount of funds that can be held in a wallet at a certain time
The tiers, their corresponding information requirements and eligible limits are outlined in your spec sheet. Our APIs also provide the following:
You can submit the additional information of the user and update existing information collected from the user using the Update user API. Each time new information is submitted, make sure to initiate KYB on the user to ensure verification of all submitted information.
You can create a designated wallet for a VERIFIED user to hold funds. You can view the wallet details and balances using this API. Once the wallet status is VERIFIED, users can perform wallet related transfers and transactions.
Users can create transfers from and to wallets and also use wallets as funding sources for external transactions.
- 1.Load: Adding funds to the wallet from a linked bank account or card.
- 2.Unload: Withdrawing funds from the wallet to a linked bank account or card.
- 3.Transfer: Send funds to another VERIFIED user's wallet.
Along with this, users can create external transactions using wallet as a funding source. These are international business payments transactions. The user flow is the same as that outlined in the Business Payments use case section but in this particular case, the funding source will be the created wallet instead of a bank account or card.