System and method for check verification based on distributed classification account book
By introducing a check verification method based on a distributed ledger into the check deposit system, the problems of check fraud and duplicate payments are solved, achieving higher security and transparency.
Patent Information
- Application Number
- CN202380041374.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-20
- Filing Date
- 2023-05-19
- Publication Date
- 2025-01-21
AI Technical Summary
The existing image-based check deposit system has the risk of fraud, and users can submit the same check multiple times, resulting in losses in financial institutions.
A check verification system based on a distributed ledger is used to receive the check image through the bank's back-end computer program, perform optical character recognition, generate a text file, and query the distributed ledger to determine whether the check has been presented or cleared.
Effectively prevent check fraud by ensuring that checks can only be paid once, protecting financial institutions from losses while improving the security and transparency of the check deposit process.
Smart Images

Figure CN119343690A_ABST
Abstract
Description
Technical Field
[0001] Embodiments generally relate to systems and methods for distributed ledger-based check verification. Background Art
[0002] Image-based check deposit makes it easier to deposit checks, but it also has drawbacks. For example, an unscrupulous user could image a check and present it to a different financial institution. A check can only be paid once, so a financial institution that accepts the check a second time could lose money. Summary of the invention
[0003] A system and method for distributed ledger-based check verification is disclosed. In one embodiment, a method for distributed ledger-based check verification may include: (1) receiving, by a bank backend computer program, an image of a presented check from a computer application executed by an electronic device as part of an electronic check deposit process; (2) performing optical character recognition on the image of the presented check by the bank backend computer program; (3) generating, by the bank backend computer program, a text file based on the optical character recognition; (4) querying, by the bank backend computer program, a distributed ledger in a distributed ledger network to determine whether the presented check has been previously presented or cleared; (5) determining, by the bank backend computer program, that the presented check has not been previously presented or cleared; (6) processing, by the bank backend computer program, the presented check for deposit; and (7) writing, by the bank backend computer program, a text file for the presented check to the distributed ledger.
[0004] In one embodiment, optical character recognition can identify, among other things, the routing number of a presented check, the account number of the presented check, and the check number in an image of the presented check.
[0005] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the routing number of the presented check.
[0006] In one embodiment, optical character recognition can identify the date in the image of the presented check.
[0007] In one embodiment, the method may further include verifying, by a bank backend computer program, that the date is within a specified time period.
[0008] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the date of the presented check.
[0009] In one embodiment, the text file written to the distributed ledger for the presented check may include metadata identifying the clearing activity.
[0010] In one embodiment, the method may further include writing, by a bank backend computer program, an image of the presented check along with a watermark into a distributed ledger, wherein the watermark includes metadata identifying the clearing activity.
[0011] In one embodiment, the distributed ledger network may include multiple banks, each bank maintaining a copy of the distributed ledger.
[0012] In one embodiment, the distributed ledger may include a blockchain-based distributed ledger.
[0013] According to another embodiment, a method for check verification based on a distributed ledger may include: (1) as part of an electronic check deposit process, a bank backend computer program receives an image of a presented check from a computer application executed by an electronic device; (2) the bank backend computer program performs optical character recognition on the image of the presented check; (3) the bank backend computer program generates a text file based on the optical character recognition; (4) the bank backend computer program queries a distributed ledger in a distributed ledger network to determine whether the presented check has been previously presented or cleared; (5) the bank backend computer program determines that the presented check has been previously presented or cleared; and (6) the bank backend computer program rejects the electronic check deposit process.
[0014] In one embodiment, optical character recognition may identify the routing number of a presented check, the account number of the presented check, and the check number in an image of the presented check.
[0015] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the routing number of the presented check.
[0016] In one embodiment, optical character recognition can identify the date in the image of the presented check.
[0017] In one embodiment, the method may further include verifying, by a bank backend computer program, that the date is within a specified time period.
[0018] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the date of the presented check.
[0019] In one embodiment, the step of declining the electronic check deposit process may include notifying the computer application of the decline by the bank backend computer program.
[0020] In one embodiment, the method may further include updating, by the bank backend computer program, a customer profile of the customer associated with the computer application based on the rejection.
[0021] In one embodiment, the method may further include limiting, by a bank backend computer program, electronic deposits from the computer application based on the rejection.
[0022] In one embodiment, the distributed ledger network may include multiple banks, each bank maintaining a copy of the distributed ledger.
[0023] According to another embodiment, a system includes a distributed ledger network having a plurality of participating bank backends, each bank backend executing a bank backend computer program, and an electronic device executing a computer application. As part of an electronic check deposit process, the application may send an image of a presented check to one of the bank backend computer programs. The bank backend computer program may receive the image, may perform optical character recognition on the image of the presented check, may generate a text file based on the optical character recognition, may query a distributed ledger in the distributed ledger network to determine whether the presented check has been previously presented or cleared, may determine that the presented check has not been previously presented or cleared, may process the presented check for deposit, and may write a text file for the presented check to the distributed ledger.
[0024] In one embodiment, optical character recognition can identify, among other things, the routing number of a presented check, the account number of the presented check, and the check number in an image of the presented check.
[0025] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the routing number of the presented check.
[0026] In one embodiment, optical character recognition can identify the date in the image of the presented check.
[0027] In one embodiment, the bank backend computer program may also verify that the date is within a specific time period.
[0028] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the date of the presented check.
[0029] In one embodiment, the text file written to the distributed ledger for the presented check may include metadata identifying the clearing activity.
[0030] In one embodiment, a bank back-end computer program may write an image of the presented check into a distributed ledger along with a watermark, wherein the watermark includes metadata identifying the clearing activity.
[0031] In one embodiment, the distributed ledger network may include multiple banks, each bank maintaining a copy of the distributed ledger.
[0032] In one embodiment, the distributed ledger may include a blockchain-based distributed ledger.
[0033] According to another embodiment, a system may include a distributed ledger network having a plurality of participating bank backends, each bank backend executing a bank backend computer program, and an electronic device executing a computer application. As part of an electronic check deposit process, the application may send an image of a presented check to one of the bank backend computer programs. The bank backend computer program may receive the image, may perform optical character recognition on the image of the presented check, may perform optical character recognition on the image of the presented check, may generate a text file based on the optical character recognition, may query a distributed ledger in the distributed ledger network to determine whether the presented check has been previously presented or cleared, may determine that the presented check has been previously presented or cleared, and may reject the electronic check deposit process.
[0034] In one embodiment, optical character recognition may identify the routing number of a presented check, the account number of the presented check, and the check number in an image of the presented check.
[0035] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the routing number of the presented check.
[0036] In one embodiment, optical character recognition can identify the date in the image of the presented check.
[0037] In one embodiment, the bank's back-end computer program may verify that the date is within a specified time period.
[0038] In one embodiment, a bank backend computer program may identify one of multiple distributed ledgers to query based on the date of the presented check.
[0039] In one embodiment, the bank backend computer program may notify the computer application of the rejection.
[0040] In one embodiment, the bank backend computer program may update a customer profile of the customer associated with the computer application based on the rejection.
[0041] In one embodiment, the bank back-end computer program may limit electronic deposits from the computer application based on the rejection.
[0042] In one embodiment, the distributed ledger network may include multiple banks, each bank maintaining a copy of the distributed ledger. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to facilitate a more complete understanding of the present invention, reference is now made to the accompanying drawings, in which:
[0044] Figure 1 A system for distributed ledger-based check verification according to one embodiment is disclosed;
[0045] Figure 2 A method of distributed ledger-based check verification according to one embodiment is described; and
[0046] Figure 3 An exemplary computing system for implementing aspects of the present disclosure is depicted. DETAILED DESCRIPTION
[0047] Systems and methods for distributed ledger-based check verification are disclosed.
[0048] refer to Figure 1 According to one embodiment, a system for check verification based on a distributed ledger is disclosed. The system 100 may include a plurality of banks 110 (e.g., bank 1101, bank 1102, bank 1103, bank 1104, bank 1105, bank 1106, bank 1107, bank 1108, bank 1109, bank 1110A, bank 1111B, bank 111C, bank 111D, bank 111E, bank 111F, bank 111F, bank 111F, bank 111F, bank 111F, bank 111G ... N ). Bank 110 may be any suitable type of financial institution at which checks may be drawn or presented.
[0049] Each bank 110 may execute one or more computer programs, including a back end (e.g., back end 1121, back end 1122, back end 1123, back end 1124, back end 1125) which may be any suitable computing device. N ).Down Figure 3 An example of a suitable computing device is depicted. Backend 112 may execute computer programs (e.g., computer program 1141, computer program 1142, computer program 1143, computer program 1144, computer program 1145, etc.) N ). Each bank 110 may also participate as a node in a network, such as a distributed ledger network, where a consensus algorithm may operate to write items such as check presentment, check clearing, etc. to the distributed ledger. An example of a suitable distributed ledger is JPMorgan SM Liink for the network.
[0050] Each bank 110 may maintain its own copy of the ledger 116 (e.g., ledger 1161, ledger 1162, ledger 1163, ledger 1164, ledger 1165, ledger 11666, ledger 1167, ledger 1168, ledger 1169, ledger 1170, ledger 1171, ledger 1172, ledger 11 N ).
[0051] In one embodiment, the ledger 116 may be a ledger based on blockchain technology.
[0052] In one embodiment, multiple ledgers 116 may be provided, and the multiple ledgers 116 may be date-based (e.g., separate ledgers 116 for years, months, or days), may be based on the paying bank (e.g., checks drawn on bank 1101 have their own ledger, checks drawn on bank 1102 have their own ledger, etc.), a combination (e.g., a year-based ledger for bank 1101), etc.
[0053] The system 100 may further include an electronic device 120, which may be any suitable electronic device that can present an image of a check for processing. In one embodiment, the electronic device 120 may be a smartphone, a computer (e.g., a desktop, laptop, notebook, tablet, etc.), a self-service terminal, an ATM, etc. The electronic device 120 may execute an application 122, which may be a computer program that may interface with one of the backends 112. For example, the application 122 may execute a check deposit process.
[0054] refer to Figure 2 According to one embodiment, a method for check verification based on a distributed ledger is disclosed. In step 205, a bank backend computer program (such as Figure 1 The bank may receive a presented check. The check may be a physical check or an image of a check. If a paper check is received, the bank's back-end computer program may convert the check into an image.
[0055] In one embodiment, as part of an electronic check deposit process, an image of the check may be received from a computer application (e.g., a mobile banking application) that may be executed by a mobile electronic device, an ATM, a teller workstation, etc. The electronic check deposit process may involve an image of the check.
[0056] In step 210, the bank's back-end computer program may perform optical character recognition on the image of the check and may generate a text file of the check based on the conversion.
[0057] In step 215, the bank backend computer program may check whether the date of the check is within a specific time period, such as within three years of the current date. The time period may vary due to laws, regulations, policies, etc. as needed and / or desired.
[0058] If the check is dated outside of a certain time period, then in step 220 the bank back-end computer program may reject the check.
[0059] If the check is dated within a certain time period, then in optional step 225, the bank backend computer program may check to see if the check has been presented and / or cleared before. For example, the bank backend computer program may query one or more distributed ledgers in the distributed ledger network using the check information (such as the bank routing number, account number, and check number) from the text file. In one embodiment, the distributed ledger network may include multiple participating financial institutions, and each participating financial institution may submit the check information to its copy of the distributed ledger each time a check is presented and / or cleared.
[0060] In one embodiment, multiple ledgers may be used to speed up queries. For example, separate ledgers may be provided, and the separate ledgers may be based on the date of the check (e.g., separate ledgers for the year, month, or day), based on the payee bank, etc. Thus, participating financial institutions may submit checks that have been presented and / or cleared to a specific distributed ledger based on the date, payee bank, etc. Queries may then be run against the appropriate ledger, thereby reducing the amount of searching required.
[0061] In another embodiment, one or more distributed ledgers may maintain data from previous check images, such as a routing number, account number, and hash of the check number, which may be hashed and the hashed value may be written to the appropriate distributed ledger. Prior to a query, the routing number, account number, and check number may be hashed and a matching hash value may be searched for in the one or more distributed ledgers. A match indicates that the check has been presented and / or cleared before.
[0062] If, in step 230, the bank backend computer program determines that the check has been presented and / or cleared before, then the bank backend computer program may reject the check in step 235. In step 240, the bank backend computer program may take additional actions, such as notifying a fraud system that the check has been presented multiple times.
[0063] In step 245, the bank backend computer program may update the profile of the check presenter (e.g., a user of a computer application that submits electronic check deposits from an electronic device) to reflect that cleared checks were presented multiple times. For example, if a user presents more than a certain number of cleared checks multiple times, the user may be classified as a "high risk" user, and the bank backend computer program may increase the deposit hold time for electronic deposit checks, may subject the user's checks to more stringent inspections and reviews, may reduce the user's deposit limit, may not provide any funds to the check presenter until the check is cleared, may suspend the user's electronic deposit capabilities, etc.
[0064] If the check has not been presented and / or cleared before, then in optional step 250, the bank backend computer program may write a text file for the check and metadata for the clearing activity to the check presentation distributed ledger. In one embodiment, the metadata may identify the clearing date, an identifier of the presenting bank, an identifier of the payee bank, etc. The bank backend computer program may then present an image of the check to the payee bank in accordance with normal procedures.
[0065] In another embodiment, the routing number, account number, and check number may be hashed and the hashed value may be written to an appropriate distributed ledger.
[0066] The bank backend may process the presented check for deposit in step 255. This may be a business as usual process.
[0067] If the check is cleared in step 260, then in step 265 the bank backend computer program may write a text file to a distributed ledger of cleared checks with metadata associated with the check clearing (e.g., date and time, paying bank identifier, etc.).
[0068] In one embodiment, the bank backend computer program may write an image of the check into a distributed ledger of cleared checks. The bank backend computer program may embed a digital watermark in the image with metadata for the clearing activity (e.g., clearing date, identifier of the presenting bank, identification of the paying bank, etc.).
[0069] In one embodiment, images may be written in addition to or instead of text files.
[0070] In one embodiment, the distributed ledger for presented checks and the distributed ledger for cleared checks may be the same distributed ledger.
[0071] If the check has not cleared, then in step 270, the bank's back-end computer program may take appropriate action in accordance with law, regulations and / or bank policy.
[0072] In one embodiment, the check may include a unique identifier that may be visible or invisible to humans. For example, the unique identifier may be a watermark that may be embedded in the check or in an image of the check. The unique identifier may include metadata identifying the paying bank, branch, payee account, etc. Any suitable information may be included as needed and / or desired.
[0073] In one embodiment, the bank backend computer that receives the presented check can provide the paying bank with a unique identifier that can determine whether the check has been previously presented.
[0074] In one embodiment, when presenting a check to a paying bank, the presenting bank may add a digital watermark or digital signature to the image of the check. The digital watermark or digital signature may include metadata such as the presenting bank's logo, the date and time of presentation, an identifier of the payee's account, etc. Any suitable information may be included as needed and / or desired.
[0075] In one embodiment, images may be written in addition to or instead of text files.
[0076] Figure 3 An exemplary computing system for implementing aspects of the present disclosure is depicted. Figure 3 An exemplary computing device 300 is depicted. The computing device 300 may represent system components described herein, including, for example, the back end 112. The computing device 300 may include a processor 305 that may be coupled to a memory 310. The memory 310 may include volatile memory. The processor 305 may execute computer executable program code stored in the memory 310, such as a software program 315. The software program 315 may include one or more logical steps disclosed herein as program instructions executable by the processor 305. The memory 310 may also include a data repository 320, which may be a non-volatile memory for data persistence. The processor 305 and the memory 310 may be coupled by a bus 330. The bus 330 may also be coupled to one or more network interface connectors 340, such as a wired network interface 342 or a wireless network interface 344. The computing device 300 may also have a user interface component, such as a screen, a mouse, a keyboard, and / or other input / output components (not shown) for displaying a graphical user interface and receiving input from a user.
[0077] Although several embodiments have been disclosed, these embodiments are not mutually exclusive and features from one embodiment may be used with other embodiments.
[0078] In the following, general aspects of implementation of the system and method of the present invention will be described.
[0079] For example, the system of the present invention or a portion of the system of the present invention may be in the form of a "processing machine", such as a general-purpose computer. As used herein, the term "processing machine" will be understood to include at least one processor using at least one memory. At least one memory stores an instruction set. The instructions may be permanently or temporarily stored in one or more memories of the processing machine. The processor executes the instructions stored in the one or more memories to process data. The instruction set may include various instructions for performing one or more specific tasks, such as those tasks described above. Such an instruction set for performing specific tasks may be characterized as a program, a software program, or simply software.
[0080] In one embodiment, the processing machine may be a special purpose processor.
[0081] In one embodiment, the processing machine may be a cloud-based processing machine, a physical processing machine, or a combination thereof.
[0082] As described above, the processing machine executes instructions stored in one or more memories to process data. For example, this processing of data can be in response to commands of one or more users of the processing machine, in response to previous processing, in response to a request from another processing machine, and / or any other input.
[0083] As described above, the processing machine used to implement the present invention can be a general-purpose computer. However, the processing machine can also utilize any of a variety of other technologies, including special-purpose computers, computer systems including, for example, microcomputers, minicomputers or mainframes, programmable microprocessors, microcontrollers, peripheral integrated circuit components, CSIC (customer-specific integrated circuits) or ASICs (application-specific integrated circuits) or other integrated circuits, logic circuits, digital signal processors, programmable logic devices such as FPGAs, PLDs, PLAs or PALs, or any other device or device arrangement capable of implementing the steps of the process of the present invention.
[0084] A processing machine used to implement the present invention may utilize a suitable operating system.
[0085] It should be understood that, in order to practice the method of the present invention as described above, the processor and / or memory of the processing machine need not be physically located in the same geographical location. That is, each of the processor and memory used by the processing machine can be located in geographically different locations and connected so as to communicate in any suitable manner. In addition, it should be understood that each of the processor and / or memory can be composed of different pieces of physical equipment. Therefore, the processor need not be a single piece of equipment in one location, and the memory need not be another single piece of equipment in another location. In other words, it is expected that the processor can be two pieces of equipment located at two different physical locations. Two different devices can be connected in any suitable manner. In addition, the memory may include two or more parts of the memory located at two or more physical locations.
[0086] Further explanation, the processing as described above is performed by various components and various memories. However, it should be understood that according to another embodiment of the present invention, the processing performed by two different components as described above can be performed by a single component. In addition, the processing performed by a different component as described above can be performed by two different components. In a similar manner, according to another embodiment of the present invention, the memory storage performed by two different memory parts as described above can be performed by a single memory part. In addition, the memory storage performed by a different memory part as described above can be performed by two memory parts.
[0087] In addition, various techniques may be used to provide communications between various processors and / or memories, as well as to allow the processors and / or memories of the present invention to communicate with any other entity; for example, to obtain further instructions or to access and use remote memory storage. For example, such techniques for providing such communications may include a network, the Internet, an intranet, an extranet, a LAN, an Ethernet, wireless communications via a cellular tower or satellite, or any client server system that provides communications. Such communications techniques may use any suitable protocol, such as TCP / IP, UDP, or OSI, for example.
[0088] As described above, an instruction set may be used in the processing of the present invention. The instruction set may be in the form of a program or software. For example, the software may be in the form of system software or application software. For example, the software may also be in the form of a collection of separate programs, a program module within a larger program, or a portion of a program module. The software used may also include modular programming in the form of object-oriented programming. The software tells the processor how to operate on the data being processed.
[0089] In addition, it will be appreciated that the instructions or instruction sets used in the implementation and operation of the present invention may be in a suitable form so that a processing machine can read the instructions. For example, the instructions forming the program may be in the form of a suitable programming language, which is converted into a machine language or object code to allow one or more processors to read the instructions. That is, a compiler, assembler, or interpreter is used to convert written lines of programming code or source code written in a particular programming language into machine language. For example, machine language is a binary-coded machine instruction that is specific to a particular type of processing machine, i.e., a particular type of computer. A computer understands machine language.
[0090] According to various embodiments of the present invention, any suitable programming language may be used. Illustratively, the programming language used may include, for example, assembly language, Ada, APL, Basic, C, C++, COBOL, dBase, Forth, Fortran, Java, Modula-2, Pascal, Prolog, REXX, Visual Basic, and / or JavaScript. In addition, it is not necessary to use a single type of instruction or a single programming language in conjunction with the operation of the system and method of the present invention. Instead, any number of different programming languages may be used as needed and / or desired.
[0091] In addition, as required, the instructions and / or data used in the practice of the present invention can utilize any compression or encryption technology or algorithm. Encryption modules can be used to encrypt data. In addition, for example, suitable decryption modules can be used to decrypt files or other data.
[0092] As described above, the present invention can be illustratively embodied in the form of a processor, including, for example, a computer or computer system including at least one memory. It should be understood that the instruction set, i.e., software that enables a computer operating system to perform the above operations, can be included in any of a variety of media or media as needed. In addition, the data processed by the instruction set can also be included in any of a variety of media or media. That is, the specific medium for storing the instruction set and / or data used in the present invention, i.e., the memory in the processor, can take, for example, any of a variety of physical forms or transmissions. Illustratively, the medium can be paper, transparent paper, compressed disk, DVD, integrated circuit, hard disk, floppy disk, optical disk, magnetic tape, RAM, ROM, PROM, EPROM, wire, cable, optical fiber, communication channel, satellite transmission, memory card, SIM card or other remote transmission, and any other form of medium or data source that can be read by the processor of the present invention.
[0093] In addition, one or more memories used in a processor implementing the present invention may be in any of a variety of forms to allow the memory to store instructions, data, or other information as needed. Thus, the memory may be in the form of a database to store data. For example, the database may use any desired file arrangement, such as a flat file arrangement or a relational database arrangement.
[0094] In the system and method of the present invention, various "user interfaces" can be utilized to allow the user to interface with one or more processing machines for implementing the present invention. As used herein, the user interface includes any hardware, software, or combination of hardware and software used by the processing machine that allows the user to interact with the processing machine. For example, the user interface can be in the form of a dialogue screen. The user interface can also include a mouse, a touch screen, a keyboard, a keypad, a voice reader, a voice recognizer, a dialogue screen, a menu box, a list, a check box, a toggle switch, a button, or any other device that allows the user to receive information about the operation of the processing machine when processing a group of instructions and / or providing information to the processing machine. Therefore, the user interface is any device that provides communication between the user and the processing machine. For example, the information provided by the user to the processing machine through the user interface can be in the form of a command, data selection, or some other input.
[0095] As mentioned above, processing machine utilizes user interface to carry out a group of instructions, makes processing machine process data for user.User interface is usually used for interacting with user to convey information or receiving information from user by processing machine.But, should be appreciated that according to some embodiments of system and method of the present invention, it is not necessary that human user actually interacts with the employed user interface of processing machine of the present invention.On the contrary, also expect user interface of the present invention can interact with another processing machine rather than human user, promptly transmit and receive information.Therefore, another processing machine can be characterized as user.In addition, expect that the user interface used in system and method of the present invention can partly interact with another one or more processing machines, also partly interact with human user.
[0096] Those skilled in the art will readily appreciate that the present invention has wide practicality and applicability. Without departing from the spirit or scope of the present invention, many embodiments and modifications of the present invention different from those described herein and many variations, modifications and equivalent arrangements will be apparent in the present invention and the preceding description or may reasonably be suggested.
[0097] Therefore, although the present invention has been described in detail herein with respect to its exemplary embodiments, it should be understood that the present disclosure is only an illustrative and exemplary disclosure of the present invention and is used to provide an implementable disclosure of the present invention. Therefore, the foregoing disclosure is not intended to be interpreted or limited to the present invention or otherwise exclude any other such embodiments, modifications, variations, modifications or equivalent arrangements.
Claims
1. A method for check verification based on a distributed ledger, comprising: As part of the electronic check deposit process, an image of a presented check is received by a bank back-end computer program from a computer application executed by an electronic device; performing optical character recognition on said image of said presented check by said bank back-end computer program; Generating a text file based on the optical character recognition by the bank's back-end computer program; querying, by the bank backend computer program, a distributed ledger in a distributed ledger network to determine whether the presented check has been previously presented or cleared; determining, by said bank's back-end computer program, that said presented check has not been previously presented or cleared; processing said presented check for deposit by said bank back-end computer program; and The text file for the presented check is written to the distributed ledger by the bank back-end computer program.
2. The method according to claim 1, wherein: The optical character recognition identifies a routing number of the presented check, an account number of the presented check, and a check number in the image of the presented check.
3. The method according to claim 2, wherein: The bank back-end computer program identifies one of a plurality of distributed ledgers to query based on the routing number of the presented check.
4. The method according to claim 1, wherein: The optical character recognition identifies a date in the image of the presented check.
5. The method according to claim 4, further comprising: The date is verified by the bank's back-end computer program to be within a specified time period.
6. The method according to claim 4, wherein: The bank backend computer program identifies one of a plurality of distributed ledgers to query based on the date of the presented check.
7. The method according to claim 1, wherein: The text file for the presented check written to the distributed ledger includes metadata identifying clearing activity.
8. The method according to claim 1, further comprising: The image of the presented check is written to the distributed ledger along with a watermark by the bank backend computer program, wherein the watermark includes metadata identifying clearing activity.
9. The method according to claim 1, wherein: The distributed ledger network includes a plurality of banks, each bank maintaining a copy of the distributed ledger.
10. The method according to claim 1, wherein: The distributed ledger includes a blockchain-based distributed ledger.
11. A method for check verification based on a distributed ledger, comprising: As part of the electronic check deposit process, an image of a presented check is received by a bank back-end computer program from a computer application executed by an electronic device; performing optical character recognition on said image of said presented check by said bank back-end computer program; Generating a text file based on the optical character recognition by the bank's back-end computer program; querying, by the bank backend computer program, a distributed ledger in a distributed ledger network to determine whether the presented check has been previously presented or cleared; a determination by the bank's back-end computer program that the presented check has been previously presented or cleared; and The electronic check deposit process is rejected by the bank's back-end computer program.
12. The method according to claim 11, wherein: The optical character recognition identifies a routing number of the presented check, an account number of the presented check, and a check number in the image of the presented check.
13. The method according to claim 12, wherein: The bank back-end computer program identifies one of a plurality of distributed ledgers to query based on the routing number of the presented check.
14. The method according to claim 11, wherein: The optical character recognition identifies a date in the image of the presented check.
15. The method according to claim 14, further comprising: The date is verified by the bank's back-end computer program to be within a specified time period.
16. The method according to claim 14, wherein: The bank backend computer program identifies one of a plurality of distributed ledgers to query based on the date of the presented check.
17. The method according to claim 11, wherein: The steps for declining the electronic check deposit process include: The computer application is notified of the rejection by the bank back-end computer program.
18. The method according to claim 11, further comprising: A customer profile of the customer associated with the computer application is updated by the banking back-end computer program based on the rejection.
19. The method according to claim 11, further comprising: Electronic deposits from said computer application are restricted by said bank back-end computer program based on said rejection.
20. The method according to claim 11, wherein: The distributed ledger network includes a plurality of banks, each bank maintaining a copy of the distributed ledger.