NOTE:  V1 Requirements for tiered KYC have been written with a view to allowing the Financial Institution (FI) itself to set transaction limits and the description for each KYC level in accordance with either the laws of the country or the FI.  V1 requirements are written with 3 KYC levels in mind.  This is for the Mobile Wallet 2.0 project on Mifos-X and is NOTthe final set of requirements for Tiered KYC.


  • KYC will be tiered according to the users desired range of money transaction.  

  • There are 3 total KYC levels - at each level a different set of identification is requested from the user

    • Level 1 - Self Identified:  First Name, Last Name, Age, Phone, Address, DOB

    • Level 2 - ID Scan and upload + same fields as Level 1

    • Level 3 - UPI PIN, or Aadhaar DONE for INDIA, for other countries National ID will be needed + also the same info as Level 1 and Level 2

  • The FI should be able to set their own max transaction amount for each level e.g. Bank ABC considers Level 1 to be transactions unto INR 100 while Bank XYZ considers Level 1 to be upto INR 200

  • The FI should also

  • Any information and documents associated with KYC at all levels - e.g Name, Address, ID scans etc - must be stored, associated with the users account and must be retrievable by the financial institution

  • When the user first signs on to the mobile wallet app, he will be prompted for KYC information

    • User must be presented with a description of each Level, the KYC info required at each level and the transaction range/limit for each level

    • User must be able to choose only one Level and provide the required info associated KYC info for that level

    • E.g. If Level 1, user must be able to input First Name, Last Name, Age, Phone, Address, DOB

    • E.g. If Level 2, user must be able to input above + attach a document with an image of an ID via the app

  • User must be able to change his Level at any time as long as he is able to satisfy KYC requirements for the higher level

  • If a user attempts a transaction that would require a higher KYC level than the one he currently has, the app will return an error message and prompt the user to either enter a transaction amount within his current KYC level or to attempt to change his KYC level to a higher one