IP Library Granted Patent US 12,536,513
Granted Patent B2
US 12,536,513 · App. 18/791,948 · Granted Jan 27, 2026

System and method for cryptographic transactions

Inventors: Karim Talal Hamasni (Toronto, CA); Stefan Mueller (Singapore, SG); Atilla Murat Firat (Toronto, CA)
Assignee: ROYAL BANK OF CANADA
G06Q20/0658G06Q20/065G06Q20/3678G06Q20/381G06Q20/3829G06Q20/389G06Q20/401H04L9/0894G06Q2220/00H04L9/50H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,536,513
App. No.
18/791,948
Granted
Jan 27, 2026
Kind
B2
Abstract

A system and method for handling crypto-asset transactions includes: receiving from a payment processing system an electronic transaction request including: a payment token corresponding to a payment identifier associated with the customer account, and a transaction amount in a fiat currency; determining current price data corresponding to a first crypto-asset and a second crypto-asset associated with the customer account; associating the electronic transaction request with at least one data processing task for executing at least one crypto-asset transaction; and when at least one crypto-asset confidence condition is satisfied based on the current price data of at least one of the first crypto-asset or the second crypto-asset, generating signals for providing, via the payment processing system, an indication that the electronic transaction request is authorized without waiting for confirmation of execution of the at least one crypto-asset transaction.

Claims (62)

1 . A system for handling crypto-asset transactions, the system comprising:

at least one memory; and

at least one processor communicably coupled to the at least one memory, the at least one memory including executable instructions which when executed by the at least one processor configure the system for:

receiving, from a payment processing system, an electronic transaction request including: a payment token corresponding to a payment identifier associated with a user account, and a transaction amount in a fiat currency;

determining current price data corresponding to a first crypto-asset and a second crypto-asset associated with the user account, the current price data associated with the first crypto-asset and the second crypto-asset based in part on data stored in respective distributed ledgers;

associating the electronic transaction request with at least one data processing task for executing at least one crypto-asset transaction, the at least one data processing task including a crypto-asset to be transacted or transferred from the user account, the crypto-asset comprising one of the first crypto-asset and the second crypto-asset; and

when at least one crypto-asset confidence condition is satisfied based on the current price data of at least one of the first crypto-asset or the second crypto-asset, generating signals for providing, via the payment processing system, an indication that the electronic transaction request is authorized, wherein the at least one crypto-asset confidence condition is satisfied when the crypto-asset in the data processing task is associated with a private key stored in the at least one memory.

2 . The system of claim 1 , wherein the instructions which when executed by the at least one processor configure the system for:

determining parameters for the at least one data processing task, the parameters identifying a quantity of at least one of the first crypto-asset and the second crypto-asset to be exchanged in the at least one crypto-asset transaction based on multicurrency optimization parameters.

3 . The system of claim 2 , wherein the instructions which when executed by the at least one processor configure the system for:

storing, in association with the user account in the at least one memory, a fiat cost value for each of the first crypto-asset and the second crypto-asset; and

defining the parameters identifying at least one of the first crypto-asset and the second crypto-asset based on:

determining a first difference between the current price data and the corresponding fiat cost value associated with the first crypto-asset;

determining a second difference between the current price data and the corresponding fiat cost value associated with the second crypto-asset; and

identifying the crypto-asset to be transacted from the first crypto-asset or the second crypto-asset based on a comparison of the first difference and the second difference.

4 . The system of claim 1 , wherein the private key is stored in association with the user account and the crypto-asset to be transacted comprises the first crypto-asset; and wherein the instructions which when executed by the at least one processor configure the system for:

generating the at least one data processing task for executing the at least one crypto-asset transaction, the at least one data processing task including: using the private key corresponding to a quantity of the first crypto-asset to be transferred and a first public key associated with a first pool account, the first pool account associated with the first crypto-asset, generating signals for initiating a cryptographic transfer of the quantity of the first crypto-asset to the first pool account.

5 . The system of claim 4 , wherein the instructions which when executed by the at least one processor configure the system for:

generating the at least one data processing task for executing the at least one crypto-asset transaction, wherein the at least one data processing task includes:

updating an internal system ledger to decrement a quantity of the first crypto-asset associated with the user account by a quantity to be transferred, and incrementing a quantity of first crypto-asset associated with a pool account by the quantity to be transferred.

6 . The system of claim 4 , wherein the instructions which when executed by the at least one processor configure the system for:

generating the at least one data processing task for executing the at least one crypto-asset transaction, the at least one data processing task including: using the private key corresponding to a quantity of the first crypto-asset to be transferred, generating signals for initiating a cryptographic transfer of the quantity of the first crypto-asset for at least the transaction amount in the fiat currency on the respective distributed ledger.

7 . The system of claim 1 , wherein the at least one crypto-asset confidence condition includes a condition that a product of a quantity of the first crypto-asset associated with the user account and the current price data is greater than a threshold value based on the transaction amount.

8 . The system of claim 2 wherein the multicurrency optimization parameters define a user-specified availability of the first or the second crypto-asset to be transferred.

9 . The system of claim 2 , wherein the multicurrency optimization parameters define priority values of the first or the second crypto-asset to be transferred, the priority values defining a priority sequence in which the first and the second crypto-assets are to be selected for transferred.

10 . The system of claim 2 , wherein the instructions which when executed by the at least one processor configure the system for: identifying a quantity of first crypto-asset and a quantity of the second crypto-asset to offset a positive difference between the current price and the corresponding fiat cost value associated with the first crypto-asset by a negative difference between the current price and the corresponding fiat cost value associated with the second crypto-asset.

11 . The system of claim 4 , wherein the instructions which when executed by the at least one processor configure the system for:

upon determining that a recipient account associated with the electronic transaction is configured to handle the first crypto-asset, generating the at least one data processing task for executing the at least one crypto-asset transaction, wherein the at least one data processing task includes:

updating an internal system ledger to decrement a quantity of the first crypto-asset associated with the user account by a quantity to be transferred, and incrementing a quantity of first crypto-asset associated with the recipient account by the quantity to be transferred.

12 . The system of claim 7 , wherein the threshold value is updated in real time or periodically based on one or more monitored market conditions.

13 . A computer-implemented method for handling crypto-asset transactions, the method comprising:

receiving, from a payment processing system, an electronic transaction request including: a payment token corresponding to a payment identifier associated with a user account, and a transaction amount in a fiat currency;

determining current price data corresponding to a first crypto-asset and a second crypto-asset associated with the user account, the current price data associated with the first crypto-asset and the second crypto-asset based in part on data stored in respective distributed ledgers;

associating the electronic transaction request with at least one data processing task for executing at least one crypto-asset transaction, the at least one data processing task including a crypto-asset to be transacted or transferred from the user account, the crypto-asset comprising one of the first crypto-asset and the second crypto-asset; and

when at least one crypto-asset confidence condition is satisfied based on the current price data of at least one of the first crypto-asset or the second crypto-asset, generating signals for providing, via the payment processing system, an indication that the electronic transaction request is authorized, wherein the at least one crypto-asset confidence condition is satisfied when the crypto-asset in the data processing task is associated with a private key stored in at least one memory.

14 . The method of claim 13 , further comprising:

determining parameters for the at least one data processing task, the parameters identifying a quantity of at least one of the first crypto-asset and the second crypto-asset to be exchanged in the at least one crypto-asset transaction based on multicurrency optimization parameters.

15 . The method of claim 14 , further comprising:

storing, in association with the user account in the at least one memory, a fiat cost value for each of the first crypto-asset and the second crypto-asset; and

defining the parameters identifying at least one of the first crypto-asset and the second crypto-asset based on:

determining a first difference between the current price data and the corresponding fiat cost value associated with the first crypto-asset;

determining a second difference between the current price data and the corresponding fiat cost value associated with the second crypto-asset; and

identifying the crypto-asset to be transacted from the first crypto-asset or the second crypto-asset based on a comparison of the first difference and the second difference.

16 . The method of claim 13 , wherein the private key is stored in association with the user account and the crypto-asset to be transacted comprises the first crypto-asset; and the method further comprises:

generating the at least one data processing task for executing the at least one crypto-asset transaction, the at least one data processing task including: using the private key corresponding to a quantity of the first crypto-asset to be transferred and a first public key associated with a first pool account, the first pool account associated with the first crypto-asset, generating signals for initiating a cryptographic transfer of the quantity of the first crypto-asset to the first pool account.

17 . The method of claim 16 , further comprising:

generating the at least one data processing task for executing the at least one crypto-asset transaction, wherein the at least one data processing task includes: updating an internal system ledger to decrement a quantity of the first crypto-asset associated with the user account by a quantity to be transferred, and incrementing a quantity of first crypto-asset associated with a pool account by the quantity to be transferred.

18 . The method of claim 16 , further comprising:

generating the at least one data processing task for executing the at least one crypto-asset transaction, the at least one data processing task including: using the private key corresponding to a quantity of the first crypto-asset to be transferred, generating signals for initiating a cryptographic transfer of the quantity of the first crypto-asset for at least the transaction amount in the fiat currency on the respective distributed ledger.

19 . The method of claim 13 , wherein the at least one crypto-asset confidence condition includes a condition that a product of a quantity of the first crypto-asset associated with the user account and the current price data is greater than a threshold value based on the transaction amount.

20 . The method of claim 19 , wherein the threshold value is updated in real time or periodically based on one or more monitored market conditions.

21 . The method of claim 14 , wherein the multicurrency optimization parameters define a user-specified availability of the first or the second crypto-asset to be transferred.

22 . The method of claim 14 , wherein the multicurrency optimization parameters define priority values of the first or the second crypto-asset to be transferred, the priority values defining a priority sequence in which the first and the second crypto-assets are to be selected for transferred.

23 . The method of claim 14 , further comprising: identifying a quantity of first crypto-asset and a quantity of the second crypto-asset to offset a positive difference between the current price and the corresponding fiat cost value associated with the first crypto-asset by a negative difference between the current price and the corresponding fiat cost value associated with the second crypto-asset.

24 . The method of claim 17 , further comprising:

upon determining that a recipient account associated with the electronic transaction is configured to handle the first crypto-asset, generating the at least one data processing task for executing the at least one crypto-asset transaction, wherein the at least one data processing task includes:

updating an internal system ledger to decrement a quantity of the first crypto-asset associated with the user account by a quantity to be transferred, and incrementing a quantity of first crypto-asset associated with the recipient account by the quantity to be transferred.

25 . A non-transitory, computer-readable medium or media having stored thereon, computer readable instructions which when executed by at least one processor configured the at least one processor for:

receiving, from a payment processing system, an electronic transaction request including: a payment token corresponding to a payment identifier associated with a user account, and a transaction amount in a fiat currency;

determining current price data corresponding to a first crypto-asset and a second crypto-asset associated with the user account, the current price data associated with the first crypto-asset and the second crypto-asset based in part on data stored in respective distributed ledgers;

associating the electronic transaction request with at least one data processing task for executing at least one crypto-asset transaction, the at least one data processing task including a crypto-asset to be transacted or transferred from the user account, the crypto-asset comprising one of the first crypto-asset and the second crypto-asset; and

when at least one crypto-asset confidence condition is satisfied based on the current price data of at least one of the first crypto-asset or the second crypto-asset, generating signals for providing, via the payment processing system, an indication that the electronic transaction request is authorized, wherein the at least one crypto-asset confidence condition is satisfied when the crypto-asset in the data processing task is associated with a private key stored in at least one memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2024
From: HAMASNI, KARIM TALAL; MUELLER, STEFAN; FIRAT, ATILLA MURAT
To: ROYAL BANK OF CANADA
Reel/Frame 068159/0621 →
Continuity (5)
Continuation 18199101 · May 18, 2023
Continuation 16373471 · Apr 2, 2019
Provisional Application 62651342 · Apr 2, 2018
Provisional Application 62651339 · Apr 2, 2018
Related Publication 20240394672A1 · Nov 28, 2024
References Cited (24)
US 9892460B1 · Winklevoss et al. · 2018 [cited by applicant]
US 10346815B2 · Glover et al. · 2019 [cited by applicant]
US 10909509B1 · Kurani · 2021 [cited by applicant]
US 11354738B1 · Kurani · 2022 [cited by examiner]
US 11522700B1 · Auerbach et al. · 2022 [cited by applicant]
US 20150170112A1 · Decastro · 2015 [cited by applicant]
US 20150262140A1 · Armstrong · 2015 [cited by examiner]
US 20150324764A1 · Van Rooyen et al. · 2015 [cited by applicant]
US 20150332256A1 · Minor · 2015 [cited by examiner]
US 20160335628A1 · Weigold · 2016 [cited by applicant]
US 20160342978A1 · Davis · 2016 [cited by examiner]
US 20170140371A1 · Forzley · 2017 [cited by examiner]
US 20170300978A1 · Narasimhan et al. · 2017 [cited by applicant]
US 20180089760A1 · Stradling et al. · 2018 [cited by applicant]
US 20190026733A1 · Van Bemmelen · 2019 [cited by applicant]
US 20190236593A1 · Vorobyev · 2019 [cited by examiner]
US 20190289019A1 · Thekadath et al. · 2019 [cited by applicant]
US 20200097953A1 · Islam · 2020 [cited by examiner]
“Western Union Co at Barclays Emerging Payments Forum—Final”, Mar. 14, 2018, 10 pages (Year: 2018). [cited by examiner]
U.S. Appl. No. 16/373,471, filed Apr. 2, 2019. [cited by applicant]
U.S. Appl. No. 18/199,101, filed May 18, 2023. [cited by applicant]
U.S. Appl. No. 16/373,204, filed Apr. 2, 2019. [cited by applicant]
U.S. Appl. No. 17/962,097, filed Oct. 7, 2022. [cited by applicant]
Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, 2008, www.bitcoin.org. [cited by applicant]