CPC G06Q 20/381 (2013.01) [G06Q 20/38 (2013.01); G06Q 20/389 (2013.01); H04L 9/3268 (2013.01); H04L 2209/56 (2013.01)] | 16 Claims |
1. A method of processing a payment comprising:
performing a user registration process comprising:
receiving a user network account registration request comprising user data from the user comprising a user name, a user telephone number, and a user e-mail address from client software running on a user device, the user device being a computerized device, the client software being configured to send and receive messages associated with the user telephone number;
generating a user network account comprising the user data;
sending a first verification code to the user telephone number and a second verification code to the user e-mail address;
receiving the first and second verification codes from the client software;
receiving a transaction, from the client software, signed by a user master key generated by the client software, to create a sealed user record contract, the sealed user record contract comprising hashed user data, being the product of application of a one-way hashing function to the user data; and
recording the sealed user record contract to a blockchain network, producing a sealed user record contract address; and
adding the sealed user record contract address to the user network account;
receiving a request for a user virtual account number from the user;
identifying the user network account associated with the user;
generating a user virtual account number responsive to the request for a virtual account number from the user;
recording a mapping of the user virtual account number to the user network account to a list of mappings on the blockchain network;
sending the user virtual account number to the user;
receiving a payment lookup request comprising the user virtual account number, a receiver network account address, and a payment value from a receiver user;
identifying the user network account on the blockchain network responsive to the user virtual account number;
sending a payment authorization request to the user associated with the user virtual account number responsive to the payment lookup request;
receiving a payment authorization indication from the user;
transferring ownership of an in-network token of a value responsive to the payment value from the user network account to the receiver network account responsive to the payment authorization indication;
sending a debit request to an external financial account associated with the user, defined as a user financial account, to transfer fiat currency to a currency exchange in an amount responsive to the value of the transferred in-network token;
receiving a debit response from the user financial account via the blockchain network indicating:
the user financial account transferred a first fiat currency to the currency exchange;
the currency exchange exchanged the first fiat currency to a first tethered token; and
the currency exchange transferred ownership of the first tethered token by recording a token contract to the blockchain network;
exchanging the first tethered token for a global token;
exchanging the global token for a second tethered token;
sending a credit request to an external financial account associated with the receiver, defined as a receiver financial account, to transfer value from the first tethered token to the receiver financial account, the credit request comprising recording a transfer of ownership of the second tethered token to the receiver;
receiving a credit response from the receiver financial account via the blockchain network indicating:
the currency exchange exchanged the value of the second tethered token to a second fiat currency, defining credit fiat value; and
the currency exchange transferred the credit fiat value to the receiver financial account;
wherein a fiat currency of the user financial account is a first fiat currency and the receiver financial account is a second fiat currency different from the first fiat currency;
wherein the first tethered token is tethered to the first fiat currency; and
wherein the second tethered token is tethered to the second fiat currency.
|