Read for API integration recommendations for individual wallet use case
Wallets allow you to hold funds of your users and the users are able to 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 individual wallet use case which includes 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 user in our system. Individual users need to be registered with the business field as false. 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.
You will have to provide user information so that necessary KYC checks can be conducted on the sender. In order to run KYC on the sender, you will have to:
User's KYC verification is conducted using the following information:
- Date of birth
- Phone number
Once you have submitted the 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 KYC verification (listed above) are verified will the KYC 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 eligibility 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 KYC information API. Each time new information is submitted, make sure to initiate KYC 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 remittance and business payments transactions. The user flow is the same as that outlined in the Remittance and 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.