Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODOLOGY AND SYSTEM FOR A BLOCKCHAIN-BASED MOBILE MONEY GATEWAY
Document Type and Number:
WIPO Patent Application WO/2019/118173
Kind Code:
A1
Abstract:
This invention is directed to a methodology and system for a blockchain-based mobile money gateway for facilitating fast and secure blockchain-based funds transfer. According to an embodiment of the present invention, smart contracts may be triggered to execute in response to a consumer requesting remittance and the finance institution, which may or may not be on the blockchain network, verifying consumer information, such as funds availability. This successful execution may trigger another smart contract to execute the currency exchange on a relevant currency exchange server, also on the blockchain network. The successful currency exchange may then trigger the execution of another smart contract to transfer the exchanged funds to the blockchain mobile money gateway, also a participant on the blockchain network. Once the funds are transferred to the blockchain mobile money gateway, the funds may then be pushed to the mobile money account of the receiver.

Inventors:
JOHNSON SANDRA (US)
Application Number:
PCT/US2018/062726
Publication Date:
June 20, 2019
Filing Date:
November 28, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GLOBAL MOBILE FINANCE INC (US)
International Classes:
G06Q20/00
Foreign References:
US20170046709A12017-02-16
US20170237554A12017-08-17
US20170214675A12017-07-27
US20170243287A12017-08-24
Attorney, Agent or Firm:
SONG, Yisun et al. (US)
Download PDF:
Claims:
CLAIMS

1. A system for implementing a blockehain-based mobile money gateway for facilitating secure blockchain-based funds transfer, the system comprising:

a blockchain mobile money gateway that receives, from a mobile device, a transfer request from a requester to transfer funds to a recipient and responsive to the transfer request, executing a first smart contract to verify the requester’s financial information and confirm the requester’s funds availability at a finance processing server; and

a blockchain network that facilitates communication with the blockchain mobile money gateway and the finance processing server and a currency exchange server;

wherein upon verification of the requester’s financial information and confirmation of funds availability, invoking execution of a second smart contract to initiate a transfer of funds at the currency exchange server; and

wherein upon an exchange of funds in a target currency, invoking execution of a third smart contract on the blockchain mobile money gateway to receive the funds via the blockchain network.

2. The system of claim 1, wherein the funds are pushed into a mobile money account associated with the recipient.

3. The system of claim 1, further comprising a memory component that stores and manages customer account profiles associated with a financial institution.

4. The system of claim 3, wherein the account profiles comprise account numbers, funds available, and mobile telephone numbers.

5. The system of claim 1, wherein the transfer request to transfer funds involves a first currency to a second currency.

6. The system of claim 1, wherein the transfer request comprises a remittance request.

7. The system of claim 6, wherein the remittance request is associated with a finance institution, which is part of the blockchain network.

8. The system of claim 6, wherein the remittance request is associated with a finance institution, which is not part of the blockchain network.

9. A method for implementing a blockchain-based mobile money gateway for facilitating secure blockchain-based funds transfer, the method comprising the steps of:

receiving, from a mobile device, a transfer request from a requester to transfer funds to a recipient and responsive to the transfer request;

executing, via a blockchain mobile money gateway, a first smart contract to verify the requester’s financial information and confirm the requester’s funds availability at a finance processing server, wherein a blockchain network that facilitates communication with the blockchain mobile money gateway and the finance processing server and a currency exchange server;

upon verification of the requester’s financial information and confirmation of funds availability, invoking execution of a second smart contract to initiate a transfer of funds at the currency exchange server; and

upon an exchange of funds in a target currency, invoking execution of a third smart contract on the blockchain mobile money gateway to receive the funds via the blockchain network.

10. The method of claim 9, wherein the funds are pushed into a mobile money account associated with the recipient.

11. The method of claim 9, further comprising a memory component that stores and manages customer account profiles associated with a financial institution.

12. The method of claim 11, wherein the account profiles comprise account numbers, funds available, and mobile telephone numbers.

13. The method of claim 9, wherein the transfer request to transfer funds involves a first currency to a second currency.

14. The method of claim 9, wherein the transfer request comprises a remittance request.

15. The method of claim 14, wherein the remittance request is associated with a finance institution, which is part of the blockchain network.

16. The method of claim 14, wherein the remittance request is associated with a finance institution, which is not part of the blockchain network.

17. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out steps of:

receiving, from a mobile device, a transfer request from a requester to transfer funds to a recipient and responsive to the transfer request;

executing, via a blockchain mobile money gateway, a first smart contract to verify the requester’s financial information and confirm the requester’s funds availability at a finance processing server, wherein a blockchain network that facilitates communication with the blockchain mobile money gateway and the finance processing server and a currency exchange server;

upon verification of the requester’s financial information and confirmation of funds availability, invoking execution of a second smart contract to initiate a transfer of funds at the currency exchange server; and

upon an exchange of funds in a target currency, invoking execution of a third smart contract on the blockchain mobile money gateway to receive the funds via the blockchain network.

18. The computer-readable medium of claim 17, wherein the funds are pushed into a mobile money account associated with the recipient.

19. The computer-readable medium of claim 17, wherein the transfer request to transfer funds involves a first currency to a second currency.

20. The computer-readable medium of claim 17, wherein the transfer request comprises a remittance request.

Description:
METHODOLOGY AND SYSTEM FOR A BLOCKCHAIN-BASED

MOBILE MONEY GATEWAY

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application 62/597,341, filed

December 11, 2017, the contents of which are incorporated herein in its entirety.

FIELD OF THE INVENTION

[0002] The disclosed teachings relate generally to leveraging a blockchain network to facilitate the global remittance of funds. Participants in the blockchain include finance institutions, currency exchange service providers and an innovative mobile money gateway for mobile money transfers.

BACKGROUND

[0003] Remittance solutions are a vital component of the financial infrastructure in developing countries. Many people in these countries depend upon family members and friends in the west to send money home to make ends meet. There are several issues with current global remittance solutions, including high fees, slow transaction times, security, and accessibility. While partnerships between providers, such as Viber, Western Union, WeChat, enable mobile apps to play a larger role in this space, they do not address the issues of high costs, security and some forms of accessibility. For example, current providers offer a mobile app that is associated with a bank account; however, most of the population of sub-Saharan Africa (SSA) is unbanked. In fact, more citizens in SSA own mobile devices than bank accounts. The number of unique subscribers is expected to reach approximately 500 million by the year 2020. Mobility is driving innovation and digital and financial inclusion in SSA. For example, m-Pesa is a popular mobile money solution in Kenya.

[0004] Current systems do not address the issues associated with an end-to-end global remittance solution.

[0005] These and other drawbacks exist.

SUMMARY OF THE INVENTION

[0006] Accordingly, one aspect of the invention is to address one or more of the drawbacks set forth above. According to an embodiment of the present invention, a system for implementing a blockchain-based mobile money gateway for facilitating secure blockchain- based funds transfer comprises: a blockchain mobile money gateway that receives, from a mobile device, a transfer request from a requester to transfer funds to a recipient and responsive to the transfer request, executing a first smart contract to verify the requester’s financial information and confirm the requester’s funds availability at a finance processing server; and a blockchain network that facilitates communication with the blockchain mobile money gateway and the finance processing server and a currency exchange server; wherein upon verification of the requester’s financial information and confirmation of funds availability, invoking execution of a second smart contract to initiate a transfer of funds at the currency exchange server; and wherein upon an exchange of funds in a target currency, invoking execution of a third smart contract on the blockchain mobile money gateway to receive the funds via the blockchain network.

[0007] According to another embodiment of the present invention, a computer implemented method implements a blockchain-based mobile money gateway for facilitating secure blockchain-based funds transfer. The method comprises the steps of: receiving, from a mobile device, a transfer request from a requester to transfer funds to a recipient and responsive to the transfer request; executing, via a blockchain mobile money gateway, a first smart contract to verify the requester’s financial information and confirm the requester’s funds availability at a finance processing server, wherein a blockchain network that facilitates communication with the blockchain mobile money gateway and the finance processing server and a currency exchange server; upon verification of the requester’s financial information and confirmation of funds availability, invoking execution of a second smart contract to initiate a transfer of funds at the currency exchange server; and upon an exchange of funds in a target currency, invoking execution of a third smart contract on the blockchain mobile money gateway to receive the funds via the blockchain network.

[0008] According to another embodiment of the present invention, a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out steps of: receiving, from a mobile device, a transfer request from a requester to transfer funds to a recipient and responsive to the transfer request; executing, via a blockchain mobile money gateway, a first smart contract to verify the requester’s financial information and confirm the requester’s funds availability at a finance processing server, wherein a blockchain network that facilitates communication with the blockchain mobile money gateway and the finance processing server and a currency exchange server; upon verification of the requester’s financial information and confirmation of funds availability, invoking execution of a second smart contract to initiate a transfer of funds at the currency exchange server; and upon an exchange of funds in a target currency, invoking execution of a third smart contract on the blockchain mobile money gateway to receive the funds via the blockchain network.

[0009] The computer implemented system, method and medium described herein provide unique advantages to entities, organizations, merchants and other users ( e.g ., consumers, etc.), according to various embodiments of the invention. According to an embodiment of the present invention, Blockchain technology may be leveraged to reduce the global remittance transaction fees. Distributed ledger technology (DLT) can reform and transform the delivery of public and private services in many fields of endeavor, including finance. It is a technology-focused method for storing, recording and transferring digital assets. It is also the foundation technology for cryptocurrency, and has the advantages of security and efficiency. The innovative mobile money gateway provides reduction in fees, increased security and further offer the accessibility convenience provided by mobile money. These and other advantages will be described more fully in the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to facilitate a fuller understanding of the present inventions, reference is now made to the appended drawings. These drawings should not be construed as limiting the present inventions, but are intended to be exemplary only.

[0011] FIG. 1 is a schematic block diagram illustrating an exemplary system 100 for processing electronic transactions in accordance with an embodiment of the present invention.

[0012] FIG. 2 is a schematic block diagram illustrating a blockchain mobile money gateway 106 for the processing of electronic transactions, in accordance with an embodiment of the present invention.

[0013] FIG. 3 is a schematic block diagram illustrating an embodiment of a finance processing server for the processing of electronic transactions, in accordance with an embodiment of the present invention. [0014] FIG. 4 is a schematic block diagram illustrating one embodiment of a currency exchange server for the processing of electronic transactions in accordance with one embodiment of the present invention.

[0015] FIG. 5 is flow chart illustrating an embodiment of the blockchain mobile money environment for the processing of electronic transactions, in accordance with an embodiment of the present invention.

[0016] FIG. 6 illustrates a verification processing system and process for the processing of verification and funds availability requests in the system, according to an embodiment of the present invention.

[0017] FIG. 7 illustrates a currency exchange processing system and process for the processing of currency exchanges in the system, according to an embodiment of the present invention.

[0018] FIG. 8 illustrates a remittance payment processing system and process for the processing of remittance payments in the system, according to an embodiment of the present invention.

DESCRIPTION OF EMBODIMENTS OF THE INVENTION

[0019] The following description is intended to convey an understanding of the present invention by providing specific embodiments and details. It is understood, however, that the present invention is not limited to these specific embodiments and details, which are exemplary only. It is further understood that one possessing ordinary skill in the art, in light of known systems and methods, would appreciate the use of the invention for its intended purposes and benefits in any number of alternative embodiments, depending upon specific design and other needs.

[0020] According to an embodiment of the present invention, Blockchain refers to a ledger of facts, replicated across several computers assembled in a peer-to-peer network. Facts can be anything from a monetary transaction to content signature. Members of the network may or may not be anonymous entities called nodes. Communication inside the network takes advantage of cryptography to securely identify the sender and receiver. When a node wants to add a fact to the ledger, a consensus forms in the network to determine where this fact should appear in the ledger; this consensus is called a block. [0021] According to an embodiment of the present invention, Smart Contract enables the exchange of money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman. It may be executed as part of processing a transaction in a blockchain network. A smart contract may also be denoted chaincode.

[0022] Consumer Account generally refers to an account owned by a consumer and used by a money service business (MSB) for money processing. It may or may not be a financial account.

[0023] Finance Transaction Account generally refers to a financial account owned by a consumer from which funds may be used to transmit to a currency exchange for global remittance.

[0024] Currency Exchange (FX) Account generally refers to a financial account that temporarily holds funds transferred into, and out of, a currency exchanged. It may be used to temporarily hold funds processed by the FX.

[0025] Remittance Account generally refers to a financial holding account that is part of the blockchain mobile money gateway. It may be used to temporarily hold funds processed by and transferred from the currency exchange before pushing to the mobile money account of a recipient, and vice versa.

[0026] Money Services Business (MSB) may represent an entity doing business in one or more of the following capacities: 1) currency dealer or exchanger; 2) check casher; 3) issuer of traveler’s checks, money orders or stored value; 4) seller or redeemer of traveler’s checks, money orders or stored value; 5) money transmitter; or 6) a postal service. It is not a bank or other entity registered with, and regulated and examined by a country’s financial regulators.

[0027] Mobile Network Operator (MNO) may represent a wireless service provider, wireless carrier or other provider that provides wireless services to customers. The provider may also own or control infrastructure needed to sell and provide such services.

[0028] FIG. 1 is a schematic block diagram illustrating an exemplary system 100 for processing electronic transactions in accordance with an embodiment of the present invention. According to an embodiment of the present invention, the system 100 may include a consumer 102 with a smart phone 104 (or other mobile device), a blockchain mobile money gateway 106, a finance processing server 108, a blockchain network 110, and a currency exchange server 112, which are described below.

[0029] According to an embodiment of the present invention, the system 100 may represent a network data processing system with a network of computers in which the illustrative embodiments may be implemented. The system 100 includes a consumer 102 with a smart phone 104. The consumer represents a person, a software program, a virtual program or any other entity that has possession of, can emulate, or other otherwise issue commands to execute an electronic program on the smart phone 104. This may include a remittance app executing on the smart phone 104. The system 100 may include a blockchain mobile money gateway 106 which accepts and processes commands from the mobile app executing on the smart phone 104. The blockchain mobile money gateway 106 typically includes one or more processors and may include a mainframe computer, a workstation, a desktop computer, a computer system in a computer rack, and the like.

[0030] A server-side remittance app executing on the blockchain mobile money gateway

106 may invoke the execution of a smart contract in response to a request to transfer funds to a recipient in another country. The smart contract execution leverages the blockchain network 110 to invoke a smart contract executing on the finance processing server 108 to verify the requester’s finance information and confirm it has funds for the transfer. Once the finance processing server 108 verifies the request and confirms availability of funds, it may invoke the execution of a smart contract on the currency exchange server 112 via the blockchain network 110. This enables the currency exchange server 112 to initiate, via the blockchain network 110, the transfer of consumer 102 (sender) funds from the finance processing server 108 to the currency exchange server 112. When the funds are received by the currency exchange server 112, it may exchange the sender funds for the receiver funds in the targeted currency and further invoke a smart contract executing on the blockchain mobile money gateway 106 to transfer the receiver funds from the currency exchange server 112 to the blockchain mobile money gateway 106 via the blockchain network 110. The blockchain mobile money gateway 106 may receive the funds via the blockchain network 110 and then initiate a transfer to push the receiver funds to the mobile money account of the recipient. [0031] According to another embodiment of the present invention, the blockchain mobile money gateway 106 may request the consumer 102 account verification and availability of funds outside of the blockchain network 110. Once the handshaking for consumer 102 verification and funds availability between the finance processing server 108 and the blockchain mobile money gateway 106 completes, then the blockchain mobile money gateway 106 may invoke a smart contract to execute, via the blockchain network 110 the transfer of funds from the finance processing server 108 to the currency exchange server 112. Other variations and embodiments will be apparent to persons having skill in the relevant art.

[0032] FIG. 2 is a schematic block diagram illustrating a blockchain mobile money gateway 106 for the processing of electronic transactions, in accordance with an embodiment of the present invention. The mobile app client executing on the smart phone 104 may issue a command, such as a transaction request, that may be received by the blockchain mobile money gateway 106 through the receiving device 210. The receiving device 210 may be configured to receive data over one or more network protocols. In some instances, the receiving device 210 may be configured to receive data from consumers 102, computing devices, finance processing servers 108, blockchain networks, currency exchange servers 112 and other entities via alternative networks, such as the Internet. In some embodiments, the receiving device 210 may include multiple devices, such as different receiving devices for receiving data over different networks. The receiving device 210 may electronically receive data signals that are transmitted, where data may be superimposed on the data signal and decoded, parsed, read, and otherwise obtained via receipt of the data signal by the receiving device 210. In some instances, the receiving device 210 may include a parsing module for parsing the received data signal to obtain the data superimposed thereon. For example, the receiving device 210 may include a parser program configured to receive and transform the received data signal into usable input for the functions performed by the processing device to carry out the methods and systems described herein.

[0033] The receiving device 210 communicates the request to the execution module 212 via the communication module 204. The execution module 212 may include one or more computational engines, which may be one or more processors of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, implement the features specified in the flowchart and/or block diagram block or blocks or descriptions herein.

[0034] The communication module 204 may be configured to transmit data between modules, engines, databases, memories, and other components of the blockchain mobile money gateway 106 for use in performing the features discussed herein. The communication module 204 may include one or more communication types and utilize various communication methods for communications within a computing device. For example, the communication module may be include a bus, contact pin connectors, wires, etc. In some embodiments, the communication module 204 may also be configured to communicate between internal components of the blockchain mobile money gateway 106 and external components of the blockchain mobile money gateway 106, such as externally connected databases, display devices, input devices, etc.

[0035] The blockchain mobile money gateway 106 may include an account database 206.

The account database 206 may be configured to store a plurality of consumer 102 account profiles 208 using a suitable data storage format and schema. The account database 206 may be a relational database that utilizes structured query language for the storage, identification, modifying, updating, accessing, etc. of structured data sets stored therein. Each consumer 102 account profile 208 may be a structured data set configured to store data related to a transaction account. Each consumer 102 account profile 208 may include at least a primary account number, an account balance, a postal mailing address, an email address, an international mobile telephone number, an account balance, sender country, sender currency, receiver currency, receiver currency, timestamp, date or any additional information that may be used for know-your- customer (KYC) and anti-money laundering (AML) regulations. In some instances, the consumer 102 account profile 208 may also include additional identification information, such as an identification value to be used in allocation requests and other data exchanges. The consumer account profiles 208 may also include additional information suitable for consumer service programs, consumer and vendor optimizations, and regulations, such as product data, offer data, loyalty data, reward data, usage data, currency-exchange data, mobile money data, fraud scoring, validity of funds, and transaction/account controls. The consumer account profile 208 may also include additional information suitable for performing the functions discussed herein, such as communication details for transmitting smart contract requests and transactions to the consumer 102, the finance processing server 108 or the currency exchange server 112 through the blockchain network 110.

[0036] Depending upon the request, the execution module 212 may then query the account database 206 to determine the existence of a consumer 102 account profile 208, which is stored in the memory 218 of the blockchain mobile money gateway 106. The memory 218 may be configured to store data for use by the blockchain mobile money gateway 106 in performing the functions discussed herein. The memory 218 may be configured to store data using suitable data formatting methods and schema and may be any suitable type of memory, such as read-only memory, random access memory, etc. The memory 218 may include, for example, currency and geographic location associations, international telephone number and mobile network operator (MNO) associations, encryption keys and algorithms, communication protocols and standards, data formatting standards and protocols, program code for execution modules and application programs of the processing device, and other data that may be suitable for use by the blockchain mobile money gateway 106 in performance of the functions disclosed herein as will be apparent to persons having skill in the relevant art.

[0037] If a consumer account profile 208 does not exist, then the execution module 212 may proceed to create the consumer account profile 208. Those who are skilled in the art will understand the various embodiments needed for consumer account profile 208 creation. Once the execution module 212 verifies a valid consumer account profile 208, it may proceed to invoke a smart contract2 represented by 314 to execute on the relevant finance processing server 108 via the blockchain network 110. This may be done by the execution module 212 issuing the smart contract execution request to the communication module 204 and on to the transmitting device 216 and the finance processing server 108 through the blockchain network 110.

[0038] The transmitting device 216 may be configured to transmit data over one or more networks via one or more network protocols. In some embodiments, the transmitting device 216 may be configured to transmit data to consumers 102, computing devices, finance processing servers 108, blockchain networks 110, and other entities via alternative networks such as the Internet. In some embodiments, the transmitting device 216 may include multiple devices, such as different transmitting devices for transmitting data over different networks. The transmitting device 216 may electronically transmit data signals that have data superimposed that may be parsed by a receiving computing device. In some instances, the transmitting device 218 may include one or more modules for superimposing, encoding, and otherwise formatting data into data signals suitable for transmission.

[0039] The transmitting device may be configured to electronically transmit data signals to blockchain networks 110 or computing nodes associated herewith, which may be superimposed with blockchain transactions as records of mobile money currency exchange for posting to a corresponding blockchain. In some embodiments, the transmitting device 216 may be further configured to electronically transmit data signals to computing devices associated with a consumer 102.

[0040] The execution module 212 may also include a smart contractl represented by 214.

The smart contract may represent a computer program product, as previously described, that is executed by participants (nodes) in the blockchain. The smart contractl represented by 214 may be invoked when the currency exchange server 112 completes a currency exchange. The receiving device 210 may receive the request via the blockchain network 110 and communicate it to the execution module 212 via the communication module 204. The smart contractl represented by 214 may complete by depositing the receiver funds into the MSB account 224. The MSB account 224 information may be stored in account database 206. The account database 206 may be configured to store a plurality of MSB account 224 profiles using a suitable data storage format and schema. The account database 206 may be a relational database that utilizes structured query language for the storage, identification, modifying, updating, accessing, etc. of structured data sets stored therein. Each MSB account 224 profile may be a structured data set configured to store data related to a transaction account. Each MSB account 224 profile may include at least the recipient’s name, international mobile telephone number, amount of funds to be received, MNO, receiver currency, receiver country, sender’s name and contact information, timestamp, date, and any additional information that may be required for know-your-customer (KYC) and anti-money laundering (AML) regulations. In some instances, the MSB account 224 profile may also include additional identification information, such as an identification value to be used in allocation requests and other data exchanges. The MSB account 224 profile may also include additional information suitable for consumer 102 and receiver service programs, consumer 102, receiver and vendor optimizations, and regulations, such as product data, offer data, loyalty data, reward data, usage data, currency-exchange data, mobile money data, fraud scoring, validity of funds, and transaction/account controls. The MSB account 224 profile may also include additional information suitable for performing the functions discussed herein, such as communication details for transmitting smart contract requests and transactions to the recipient, the finance processing server 108 or the currency exchange server 112 through the blockchain network 110.

[0041] Once the smart contract 1 214 completes, the execution module 212 may execute the MNO mobile money 220 program to push the funds to the intended receiver’s mobile money account.

[0042] The MNO mobile money program 220 may represent a server-based computer program, as discussed above. The MNO mobile money program 220 may access the MNO profiles 222 via the communication module 204. The account database 206 may be configured to store a plurality of MNO profiles 222 using a suitable data storage format and schema. The account database 206 may be a relational database that utilizes structured query language for the storage, identification, modifying, updating, accessing, etc. of structured data sets stored therein. Each MNO profile 222 may be a structured data set configured to store data related to a MNO. Each MNO profile 222 may include at least the name of the MNO operator, country or countries of operation, MNO-specific information for pushing and pulling data from mobile money accounts, MNO customer account information and regulations, MNO fees, MNO API information, required KYC and AML information for regulations, and other relevant information. The MNO profile 222 may also include additional information suitable for performing the functions discussed herein, such as communication details for pushing and pulling receiver funds, communicating with the currency exchange server 112 or the blockchain network 110.

[0043] FIG. 3 is a schematic block diagram illustrating an embodiment of a finance processing server 108 for the processing of electronic transactions, in accordance with an embodiment of the present invention. The blockchain mobile money gateway 106, may invoke a smart contract2 represented by 314 to execute on the finance processing server 108 because of a transaction request issued by the consumer 102 on their smart phone 104. The smart contract2 314 may represent a computer program product that is executed by participants (nodes) in the blockchain.

[0044] The invocation request may be received by the finance processing server 108 through the receiving device 310. This receiving device 310 may include components, and functions, such as receiving device 210. The device may communicate the request to the execution module 312 via the communication module 304. Execution module 312 may include components, and functions, such as execution module 212. The communication module 304 may be configured to transmit data between modules, engines, databases, memories, and other components of the finance processing server 108 for use in performing the functions discussions herein. The communication module 304 may include one or more communication types and utilize various communication methods for communications within a computing device. For example, the communication module may include a bus, contact pin connectors, wires, etc. According to an embodiment of the present invention, the communication module 304 may also be configured to communicate between internal components of the finance processing server 108 and external components of the finance processing server 108, such as externally connected databases, display devices, input devices, etc.

[0045] The finance processing server 108 may include an account database 306. The account database 306 may be configured to store a plurality of finance transaction account profiles 308 using a suitable data storage format and schema. For example, the account database 306 may be a relational database that utilizes structured query language for the storage, identification, modifying, updating, accessing, etc. of structured data sets stored therein. Each finance transaction account profile 308 may be a structured data set configured to store data related to a transaction account. Each finance transaction account profile 308 may include at least a primary account number, an account balance, a postal mailing address, an email address, an international mobile telephone number, an account balance, country, currency, timestamp, date or any additional information that may be required for know-your-customer (KYC) and anti-money laundering (AML) regulations. In some instances, the finance transaction account profile 308 may also include additional identification information, such as an identification value to be used in allocation requests and other data exchanges. The finance transaction account profile 308 may also include additional information suitable for consumer 102 service programs, consumer 102 and vendor optimizations, and regulations, such as product data, offer data, loyalty data, reward data, usage data, currency-exchange data, mobile money data, fraud scoring, validity of funds, and transaction/account controls. The finance transaction account profile 308 may also include additional information suitable for performing the functions discussed herein, such as communication details for transmitting smart contract requests and transactions to the consumer 102, the blockchain mobile money gateway 106 or the currency exchange server 112 through the blockchain network 110.

[0046] Depending upon the request, the execution module 312 may then query the account database 306 to determine the existence of a finance transaction account profile 308 for the consumer 102. The account database 306 may contain a plurality of finance transaction account profiles 308. The finance transaction account profile 308 may be stored in the memory 318 of the finance processing server 108. The memory 318 may include components, and functions, like memory 218, as discussed above. Once the execution module 312 verifies a valid finance transaction account profile 308 for the consumer 102, and the amount of funds requested are available for transfer, then it may trigger a request through the communication module 304 and on to the transmitting device 316 to the currency exchange server 112 through the blockchain network 110. The transmitting device 316 may include components, and functions, like transmitting device 216, as discussed above.

[0047] FIG. 4 is a schematic block diagram illustrating one embodiment of a currency exchange server 112 for the processing of electronic transactions in accordance with one embodiment of the present invention. The smart contract2 represented by 314 may invoke the execution of the smart contract3 represented by 414 by sending the request to the receiving device 410, through the communication module 404 and the execution module 412. The receiving device 410, communication module 404 and execution module 412 may include components, and function, like receiving device 310, communication module 304 and execution module 312, respectively, as discussed above. The smart contract3 414 may represent a computer program product, as previously described, that is executed by participants (nodes) in the blockchain.

[0048] The currency exchange server 112 may include an account database 406. The account database 406 may be configured to store a plurality of currency exchange (FX) account profiles 408 using a suitable data storage format and schema. The account database 406 may be a relational database that utilizes structured query language for the storage, identification, modifying, updating, accessing, etc. of structured data sets stored therein. Each FX account profile 408 may be a structured data set configured to store data related to a transaction account. Each FX account profile 408 may include at least a primary account number, an account balance, a postal mailing address, an email address, an international mobile telephone number, an account balance, sender country, sender currency, receiver currency, receiver currency, timestamp, date or any additional information that may be required for know-your-customer (KYC) and antimoney laundering (AML) regulations. In some instances, the FX account profile 408 may also include additional identification information, such as an identification value to be used in allocation requests and other data exchanges. The FX account profile 408 may also include additional information suitable for consumer 102 service programs, consumer 102 and vendor optimizations, and regulations, such as product data, offer data, loyalty data, reward data, usage data, currency-exchange data, mobile money data, fraud scoring, validity of funds, and transaction/account controls. The FX account profile 208 may also include additional information suitable for performing the functions discussed herein, such as communication details for transmitting smart contract requests and transactions to the consumer 102, the finance processing server 108 or the blockchain mobile money gateway 106 through the blockchain network 110.

[0049] Depending upon the request, the execution module 412 may then query the account database 406 to determine the existence of an FX account profile 408 for the consumer 102. The account database 406 may contain a plurality of FX account profiles 408. The FX account profile 408 may be stored in the memory 418 of the currency exchange server 112. The memory 418 may include components, and functions, like memory 218, as described above. The execution module 412 may invoke the smart contract3 represented by 414 to exchange the currency. Upon completion, it may trigger a request through the communication module 404 and the transmitting device 416 to the blockchain mobile money gateway 106 through the blockchain network 110. The transmitting device 416 may include components, and functions, like transmitting device 216, as discussed above. [0050] FIG. 5 is flow chart illustrating an embodiment of the blockchain mobile money environment 100 for the processing of electronic transactions, in accordance with an embodiment of the present invention. At 502, when a consumer 102 leverages its smart phone 104 to remit funds internationally, it may processed by the blockchain mobile money gateway 106. Part of this processing may include ensuring that the consumer is registered with the remittance service, etc. Next, at 504, blockchain mobile money gateway 106 may invoke a smart contract execution on the finance processing server 108 for account verification and availability. When this task is completed, the finance processing server 108 may invoke a smart contract execution on the currency exchange server 112 to conduct an exchange from the sender currency to the receiver currency, at 506. When this completes, at 508, a smart contract execution may be invoked on the blockchain mobile money gateway 106 to transfer funds from the currency exchange server 112 to the blockchain mobile money gateway 106 in the already exchanged currency. At 510, the blockchain mobile money gateway 106 may execute the transfer of the receiver’s funds into its mobile money account for the relevant MNO.

[0051] According to an embodiment of the present invention, a smart contract may execute on all nodes in the blockchain. There are specific code components in the smart contract to determine which of the nodes executing the smart contract are to handle the funds (e.g., exchange currency, transfer exchanged currency to blockchain mobile money gateway, etc.). The specifics of this determination are described in further detail in U.S. Provisional Application 62/670,563, filed May 11 ,2018, the contents of which are incorporated by reference herein in its entirety.

[0052] An embodiment of the present invention is directed to a Blockchain Remittance

Transaction Processing System and Process. The blockchain remittance transaction processing system and process are illustrated in FIG. 6, FIG. 7, and FIG. 8. It will be apparent to those skilled in the relevant art that these processes, described below, may be incorporated into the processes illustrated in FIG. 5 discussed above, with respect to the step or steps involved in the processing of a blockchain remittance transaction. In addition, the entities discussed herein for performing processes 600, 700 and 800 may include one or more computing devise or systems configured to perform the functions discussed below. [0053] FIG. 6 illustrates a verification processing system and process 600 for the processing of verification and funds availability requests in the system, according to an embodiment of the present invention. The process 600 and steps included therein may be performed by one or more components of the system discussed above 100, including the consumer 102, smart phone 104, blockchain mobile money gateway 106, finance processing server 108, the blockchain network 110, etc.

[0054] As shown in FIG. 6, the blockchain mobile money gateway 106, after receiving a request from the consumer 102 to remit funds, may initiate a transaction processing request via its processing module 610. In step 630, the blockchain mobile money gateway 106 may invoke a smart contract ( e.g ., chaincode) to request the verification and availability of the consumer’s finance account with its bank. While the nodes participating in the blockchain network 110 may execute the chaincode, the finance processing server 112 of the relevant bank may represent the entity to execute this chaincode. Part of the chaincode invocation may include the bank, credit card company, or relevant financial entity associated with the consumer’ s finance account. The finance processing server 112 may process the transaction 620 by receiving the verification and availability request 632 because of executing the chaincode and determining it is the relevant entity. It may verify the consumer’s 102 account and the availability of funds requested. The next step may include sending a request to exchange currency 634, by invoking chaincode, via the blockchain network 110.

[0055] FIG. 7 illustrates a currency exchange processing system and process 700 for the processing of currency exchanges in the system, according to an embodiment of the present invention. The process 700 and steps included therein may be performed by one or more components of a system discussed above 100, including the finance processing server 108, the currency exchange server 112, the blockchain mobile money gateway 106, the blockchain network 110, etc. The currency exchange server 112 may process the transaction 710 by receiving the currency exchange request 634 because of executing the chaincode and determining it is the relevant entity (as described in U.S. Provisional Application 62/670,563, filed May 11 ,2018, the contents of which are incorporated by reference herein in its entirety). It may then perform the currency exchange. The next step may include sending a request to transfer the exchanged funds 734, by invoking chaincode, via the blockchain network 110. [0056] FIG. 8 illustrates a remittance payment processing system and process 800 for the processing of remittance payments in the system, according to an embodiment of the present invention. The process 800 and steps included therein may be performed by one or more components of a system discussed above 100, including the currency exchange server 112, blockchain mobile money gateway 106, blockchain network 110, etc. The blockchain mobile money gateway 106 may process the transaction 810 by receiving the currency exchange request 734 because of executing the chaincode and determining it is the relevant entity (see associated patent application for the specifics of this determination). It may receive the funds transferred from the currency exchange server 112. The next step may include depositing the exchanged funds 834 into the recipient’s 102 mobile money account by leveraging the APIs provided by their smart phone’s 104 MNO.

[0057] Reference throughout this specification to“one embodiment,”“an embodiment,” or similar language means that a feature, structure, or characteristic described about the embodiment is included in at least one embodiment. Thus, appearances of the phrases“in one embodiment,”“in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment, but mean“one or more but not all embodiments” unless expressly specified otherwise. The terms “including,” “comprising,” “having,” and variations thereof mean“including but not limited to” unless expressly specified otherwise. An enumerated listing of items does not imply that any or all the items are mutually exclusive and/or mutually inclusive, unless expressly specified otherwise. The terms“a,”“an,” and“the” also refer to“one or more” unless expressly specified otherwise.

[0058] Furthermore, the described features, advantages, and characteristics of the embodiments may be combined in any suitable manner. One skilled in the relevant art will recognize that the embodiments may be practiced without one or more of the specific features or advantages of an embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments.

[0059] The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. [0060] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0061] Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.

[0062] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the“C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, to perform aspects of the present invention.

[0063] Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

[0064] These computer readable program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.

[0065] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

[0066] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0067] Many of the functional units described in this specification have been labelled as modules, to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.

[0068] Modules may also be implemented in software for execution by various types of processors. An identified module of program instructions may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.

[0069] Furthermore, the described features, structures, or characteristics of the embodiments may be combined in any suitable manner. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments. One skilled in the relevant art will recognize, however, that embodiments may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of an embodiment.