US 11,961,136 B2
Efficient, accurate, and secure transfers of internally-custodied digital assets
Nicolas Frederic Cabrera, Atlanta, GA (US); Jeffrey Scott Pittelkau, Montgomery, AL (US); Nikolais Linsteadt, Applegate, CA (US); Joseph Arthur Revnes, Atlanta, GA (US); Brian Daniel Cooper, Marietta, GA (US); William Matthau, Laguna Niguel, CA (US); Christopher Michael Petersen, Lakeway, TX (US); Yamini Bistesh Sagar, Alpharetta, GA (US); Utkarsh Agarwal, Tucson, AZ (US); Tim Kuchlein, Cupertino, CA (US); Bharath Lakshmanan, San Ramon, CA (US); William Andrew Bryant, Alpharetta, GA (US); Stephen Paul Saucier, Atlanta, GA (US); Deepak Kumar, Marietta, GA (US); Anil Jaiswal, Marietta, GA (US); Byungkwon Jeon, Cumming, GA (US); and Balaji Devarasetty, Atlanta, GA (US)
Assigned to BAKKT MARKETPLACE, LLC, Atlanta, GA (US)
Filed by Bakkt Marketplace, LLC, Atlanta, GA (US)
Filed on Aug. 20, 2021, as Appl. No. 17/407,888.
Claims priority of provisional application 63/199,245, filed on Dec. 16, 2020.
Prior Publication US 2022/0188780 A1, Jun. 16, 2022
Int. Cl. G06Q 20/06 (2012.01); G06Q 20/10 (2012.01); G06Q 20/26 (2012.01); G06Q 20/38 (2012.01); G06Q 20/40 (2012.01); G06Q 40/02 (2023.01)
CPC G06Q 40/02 (2013.01) [G06Q 20/065 (2013.01); G06Q 20/102 (2013.01); G06Q 20/26 (2013.01); G06Q 20/381 (2013.01); G06Q 20/4037 (2013.01); G06Q 20/405 (2013.01)] 14 Claims
OG exemplary drawing
 
8. A system comprising one or more memory storage areas and one or more processors, the system configured for:
receiving a data object originating from a first client device associated with a first end user and defining a cryptocurrency digital asset transfer between the first end user and a second end user, wherein the data object indicates a cryptocurrency digital asset and a defined number of cryptocurrency digital asset units for the cryptocurrency digital asset transfer;
retrieving, from a first off-chain exchange, a first account balance data object corresponding to a first cryptocurrency digital asset user account associated with the first end user and a second account balance data object corresponding to a second cryptocurrency digital asset user account associated with the second end user, wherein (a) the first account balance data object is retrieved using a first federated identifier token (1) associated with the first end user and (2) configured to identify a plurality of cryptocurrency digital asset user accounts associated with the first end user and managed by at least the first off-chain exchange and a second off-chain exchange, and (b) the second account balance data object is retrieved using a second federated identifier token (1) associated with the second end user and (2) configured to identify a plurality of cryptocurrency digital asset user accounts associated with the second end user and managed by at least the first off-chain exchange and the second off-chain exchange;
identifying, by the first off-chain exchange, one or more transfer conditions for the cryptocurrency digital asset transfer associated with the first cryptocurrency digital asset user account using the first federated identifier token;
identifying, by the first off-chain exchange, one or more transfer conditions for the cryptocurrency digital asset transfer associated with the second cryptocurrency digital asset user account using the second federated identifier token;
responsive to determining, by the first off-chain exchange, that the cryptocurrency digital asset transfer satisfies the one or more transfer conditions for the cryptocurrency digital asset transfer associated with the first cryptocurrency digital asset user account and the one or more transfer conditions for the cryptocurrency digital asset transfer associated with the second cryptocurrency digital asset user account and that the first cryptocurrency digital asset user account and the second cryptocurrency digital asset user account are managed by the first off-chain exchange:
executing, by the first off-chain exchange, a first off-chain transaction to debit a first number of cryptocurrency digital asset units from the first cryptocurrency digital asset user account associated with the first end user, and
executing, by the first off-chain exchange, a second off-chain transaction to credit a second number of cryptocurrency digital asset units to the second cryptocurrency digital asset user account associated with the second end user, wherein the first number of cryptocurrency digital asset units and the second number of cryptocurrency digital asset units are each determined based at least in part on the defined number of cryptocurrency digital asset units;
responsive to determining, by the first off-chain exchange, that the cryptocurrency digital asset transfer does not satisfy the one or more transfer conditions for the cryptocurrency digital asset transfer associated with the first cryptocurrency digital asset user account:
generating and transmitting, to the second off-chain exchange, an account query comprising the first federated identifier token associated with the first end user;
receiving, from the second off-chain exchange, an account query response comprising a third account balance data object corresponding to a third cryptocurrency digital asset user account associated with the first end user and managed by the second off-chain exchange;
identifying, by the second off-chain exchange, one or more transfer conditions for the cryptocurrency digital asset transfer associated with the third cryptocurrency digital asset user account using the first federated identifier token;
responsive to determining, by the second off-chain exchange, that the cryptocurrency digital asset transfer satisfies the one or more transfer conditions for the cryptocurrency digital asset transfer associated with the third cryptocurrency digital asset user account:
executing, by the second off-chain exchange, a third off-chain transaction to debit the first number of cryptocurrency digital asset units from the third cryptocurrency digital asset user account associated with the first end user; and
generating and transmitting, by the second off-chain exchange, a transfer execution API query to the first off-chain exchange identifying the second cryptocurrency digital asset user account, wherein the transfer execution API query is configured to cause the second number of cryptocurrency digital asset units to be credited to a central operating account of the first off-chain exchange via an on-chain transaction, wherein the second number of cryptocurrency digital asset units are credited to the second cryptocurrency digital asset user account via an off-chain transaction executed by the first off-chain exchange, wherein the first number of cryptocurrency digital asset units and the second number of cryptocurrency digital asset units are each determined based at least in part on the defined number of cryptocurrency digital asset units for the cryptocurrency digital asset transfer;
subsequent to executing the first off-chain transaction or the third off-chain transaction to debit the first number of cryptocurrency digital asset units from the first or the third cryptocurrency digital asset user account, respectively,
updating the first account balance data object or the third account balance data object to describe a resulting balance of the first cryptocurrency digital asset user account or a resulting balance of the third cryptocurrency digital asset user account; and
updating the second account balance data object to describe a resulting balance of the second cryptocurrency digital asset user account.