IP Library › Granted Patent US 12,482,040
Granted Patent B2
US 12,482,040 · App. 18/540,626 · Granted Nov 25, 2025

Distributed assets management platform

Inventors: Devesh Chourasiya (Mountain View, CA); Andrew Straussman (Plymouth, MN); Sumeet Bedi (Kirkland, WA); Ville-Jalmari Koskela (Redmond, WA)
Assignee: STRIPE, INC.
G06Q40/06G06Q40/04
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,482,040
App. No.
18/540,626
Filed
Dec 14, 2023
Granted
Nov 25, 2025
Kind
B2
Art Unit
3691
USPC
705/36R
Abstract

Disclosed herein are methods and systems for a digital platform to manage data related to the movement of assets between accounts. In one embodiment, the platform receives a continuous stream of messages, each indicating a transfer of assets between accounts. The platform verifies the messages to ensure that no digital information is missing. Once a message is verified as complete, the platform generates a liquidity event message to manage the regular transfer of assets between accounts, based on certain conditions (e.g., account balances). The liquidity event message is sent to another part of the platform, known as the liquidity engine, which then carries out the asset transfers as described in the message. Thereby, the workload of receiving, checking, completing, and acting on messages about asset transfers is bifurcated to ensure efficient and controlled movement of assets within the digital platform.

Claims (74)

1 . A method of managing data by a distributed assets management platform, the method comprising:

receiving, via an event messaging interface of the distributed assets management platform, a stream of event messages, wherein each event message of the stream of event messages comprises a plurality of data fields comprising a first data field comprising a unique identifier of the event message, one or more second data fields that define at least one asset movement between accounts of a commerce platform, and a third data field that identifies a service causing the at least one asset movement between the accounts;

for a first event message of the stream of event messages:

determining, by the event messaging interface, that the one or more second data fields of the first event message comprises first incomplete information and storing the first event message in a memory of the event messaging interface;

executing, by the event messaging interface, a lookup at a system that generated the event message that obtains the first information associated with the one or more second data fields and adds the first information to the first event message to transform the first event message into a completed event message:

transmitting, from the event messaging interface, the first event message to an assets interface of the distributed assets management platform;

in response to a determination by the assets interface that the first event message includes second incomplete information:

registering, by the assets interface with a hydration system of the distributed assets management platform, the unique identifier from the first data field and a fourth data field that comprises the second incomplete information associated with the first event message, and storing the first event message in a memory of the assets interface;

obtaining, by the hydration system, second information based on G) extracting the second information from a message having the unique identifier that is exchanged on an event messaging bus of the distributed assets management platform and/or (ii) generating a prediction of the second information based on the first information in the one or more second data fields; and

updating, by the hydration system, the at least one data field of the first event message with the second information in the memory

generating, by the assets interface, a liquidity event message b for a periodic movement of assets between the accounts of the commerce platform based on one or more conditions associated with balances of the accounts of the commerce platform, the assets interface further transmitting the liquidity event message to a liquidity engine of the distributed assets management platform; and

executing, by the liquidity engine, in response to receipt of the liquidity event message, the periodic movement of assets between the accounts of the commerce platform.

2 . The method of claim 1 , further comprising:

detecting, by the assets interface, an exchange exposure for at least one asset movement identified by the first event message;

generating, by the assets interface, an exchange event message that defines the exchange exposure; and

transmitting the exchange event message to an exchange platform, by the assets interface, the exchange event message causing the exchange platform to determine aggregated exchange exposure based on asset movements including the at least one asset movement identified by the first event message.

3 . The method of claim 2 , wherein the exchange exposure is detected at least in part on a source account and a destination account being associated with different currencies, a debit amount from the source account and a credit amount in the destination account being in different currencies, or a combination thereof.

4 . The method of claim 2 , further comprising:

executing, by the exchange platform, at least one asset exchange based at least on an amount and accounts associated with the detected exchange exposure.

5 . The method of claim 2 , wherein the distributed assets management platform comprises one or more instances of each of the assets interface, the hydration system, the liquidity engine, and the exchange platform, and wherein each of the one or more instances are executed by different processing resources of the distributed assets management platform.

6 . The method of claim 1 , further comprising:

for the first event message of the stream of event messages:

in response to a determination that the first event message includes complete information, generating, by the assets interface, the liquidity event message from the complete information of the first event message for the periodic movement of assets between the accounts of the commerce platform.

7 . The method of claim 1 , wherein the first event message of the stream of event messages comprises a globally unique identifier generated by a first service causing generation of the first event message.

8 . The method of claim 7 , further comprising:

monitoring, by the hydration system, a second stream of messages exchanged between services of the commerce platform to identify when a message in the second stream of messages includes second information corresponding to the at least one data field;

transmitting, by the hydration system to the assets interface, the second information for the at least one data field; and

updating the at least one data field with the second information.

9 . The method of claim 1 , wherein a second event message received via the event messaging interface is a second completed event message when the second event message includes at least a source account, a destination account, a debit amount and a credit amount.

10 . A non-transitory machine readable medium having instructions stored thereon, which when executed by a processing system, causes the processing system to perform operations of a distributed assets management platform, the operations comprising:

receiving, at via an event messaging interface of the distributed assets management platform, a stream of event messages, wherein each event message of the stream of event messages comprises a plurality of data fields comprising a first data field comprising a unique identifier of the event message, one or more second data fields that define at least one asset movement between accounts of a commerce platform, and a third data field that identifies a service causing the at least one asset movement between the accounts;

for a first event message of the stream of event messages:

determining, by the event messaging interface, that the one of more second data fields of the first event message comprises first incomplete information and storing the first event message in a memory of the event messaging interface;

executing, by the event messaging interface, a lookup at a system that generated the event message that obtains the first information associated with the one or more second data fields and adds the first information to the first event message to transform the first event message into a completed event message;

transmitting, from the event messaging interface, the first event message to an assets interface of the distributed assets management platform;

in response to a determination by the assets interface that the first event message includes second incomplete information:

registering, by the assets interface with a hydration system of the distributed assets management platform, the unique identifier from the first data field and at fourth data field of that comprises the second incomplete information associated with the first event message, and storing the first event message in a memory of the assets interface;

obtaining, by the hydration system, second information based on G) extracting the second information from a message having the unique identifier that is exchanged on an event messaging bus of the distributed assets management platform and/or (ii) generating a prediction of the second information based on the first information in the one or more second data fields; and

updating, by the hydration system, the at least one data field of the first event message with updated the second information in the memory;

generating, by the assets interface, a liquidity event message for a periodic movement of assets between the accounts of the commerce platform based on one or more conditions associated with balances of the accounts of the commerce platform, the assets interface further transmitting the liquidity event message to a liquidity engine of the distributed assets management platform; and

executing, by the liquidity engine, in response to receipt of the liquidity event message, the periodic movement of assets between the accounts of the commerce platform.

11 . The non-transitory machine readable medium of claim 10 , further comprising:

detecting, by the assets interface, an exchange exposure for at least one asset movement identified by the first event message;

generating, by the assets interface, an exchange event message that defines the exchange exposure; and

transmitting the exchange event message to an exchange platform, by the assets interface, the exchange event message causing the exchange platform to determine aggregated exchange exposure based on asset movements including the at least one asset movement identified by the first event message.

12 . The non-transitory machine readable medium of claim 11 , wherein the exchange exposure is detected at least in part on a source account and a destination account being associated with different currencies, a debit amount from the source account and a credit amount in the destination account being in different currencies, or a combination thereof.

13 . The non-transitory machine readable medium of claim 11 , the operations comprising:

executing, by the exchange platform, at least one asset exchange based at least on an amount and accounts associated with the detected exchange exposure.

14 . The non-transitory machine readable medium of claim 11 , wherein the distributed assets management platform comprises one or more instances of each of the assets interface, the hydration system, the liquidity engine, and the exchange platform, and wherein each of the one or more instances are executed by different processing resources of the distributed assets management platform.

15 . The non-transitory machine readable medium of claim 10 , the operations further comprising:

for the first event message of the stream of event messages:

in response to a determination that the first event message includes complete information, generating, by the assets interface, the liquidity event message from the complete information of the first event message for the periodic movement of assets between the accounts of the commerce platform.

16 . A system, comprising:

a non-transitory memory storing instructions; and

a processing system coupled with the memory and configured to execute the instructions causing the system to perform operations, the operations comprising:

receiving, via an event messaging interface of the distributed assets management platform, a stream of event messages, wherein each event message of the stream of event messages comprises a plurality of data fields comprising a first data field comprising a unique identifier of the event message, one or more second data fields that define at least one asset movement between accounts of a commerce platform, and a third data field that identifies a service causing the at least one asset movement between the accounts;

for a first event message of the stream of event messages:

determining, by the event messaging interface, that the one or more second data fields of the first event message comprises first incomplete information and storing the first event message in a memory of the event messaging interface;

executing by the event messaging interface, a lookup at a system that generated the event message that obtains the first information associated with the one or more second data fields and adds the first information to the first event message to transform the first event message into a completed event message;

transmitting, from the event messaging interface, the first event message to an assets interface of the distributed assets management platform;

in response to a determination by the assets interface that the first event message includes second incomplete information:

registering, by the assets interface with a hydration system of the distributed assets management platform, the unique identifier from the first data field and a fourth data field of that comprises the second incomplete information associated with the first event message, and storing the first event message in a memory of the assets interface;

obtaining, by the hydration system, second information based on (i) extracting the second information from a message having the unique identifier that is exchanged on an event messaging bus of the distributed assets management platform and/or (ii) generating a prediction of the second information based on the first information in the one or more second data fields, and

updating, by the hydration system, the at least one data field of the first event message with the second information in the memory;

generating, by the assets interface, a liquidity event message for a periodic movement of assets between the accounts of the commerce platform based on one or more conditions associated with balances of the accounts of the commerce platform, the assets interface further transmitting the liquidity event message to a liquidity engine of the distributed assets management platform; and

executing, by the liquidity engine, in response to receipt of the liquidity event message, the periodic movement of assets between the accounts of the commerce platform.

17 . The system of claim 16 , the operations further comprising:

detecting, by the assets interface, an exchange exposure for at least one asset movement identified by the first event message;

generating, by the assets interface, an exchange event message that defines the exchange exposure; and

transmitting the exchange event message to an exchange platform, by the assets interface, the exchange event message causing the exchange platform to determine aggregated exchange exposure based on asset movements including the at least one asset movement identified by the first event message.

18 . The system of claim 17 , wherein the exchange exposure is detected at least in part on a source account and a destination account being associated with different currencies, a debit amount from the source account and a credit amount in the destination account being in different currencies, or a combination thereof.

19 . The system of claim 17 , the operations further comprising:

executing, by the exchange platform, at least one asset exchange based at least on an amount and accounts associated with the detected exchange exposure.

20 . The system of claim 17 , wherein the distributed assets management platform comprises one or more instances of each of the assets interface, the hydration system, the liquidity engine, and the exchange platform, and wherein each of the one or more instances are executed by different processing resources of the distributed assets management platform.

Assignments (3)
CHANGE OF NAME Recorded Mar 6, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 075033/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2024
From: CHOURASIYA, DEVESH; STRAUSSMAN, ANDREW; BEDI, SUMEET
To: STRIPE, INC.
Reel/Frame 066731/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2024
From: KOSKELA, VILLE-JALMARI
To: STRIPE, INC.
Reel/Frame 066133/0587 →
Continuity (1)
Related Publication 20250200662A1 · Jun 19, 2025
References Cited (58)
US 5224162A · Okamoto et al. · 1993 [cited by applicant]
US 7047404B1 · Doonan et al. · 2006 [cited by applicant]
US 8014762B2 · Chmaytelli et al. · 2011 [cited by applicant]
US 8645213B2 · Granbery et al. · 2014 [cited by applicant]
US 9735965B1 · Shavell · 2017 [cited by applicant]
US 10460298B1 · Ran et al. · 2019 [cited by applicant]
US 20030158960A1 · Engberg · 2003 [cited by applicant]
US 20060065717A1 · Hurwitz et al. · 2006 [cited by applicant]
US 20060143231A1 · Boccasam et al. · 2006 [cited by applicant]
US 20060174352A1 · Thibadeau · 2006 [cited by applicant]
US 20070100748A1 · Dheer · 2007 [cited by applicant]
US 20080071625A1 · Arumugam · 2008 [cited by applicant]
US 20090083181A1 · Bishop · 2009 [cited by applicant]
US 20090132813A1 · Schibuk · 2009 [cited by applicant]
US 20090234660A1 · Berneman et al. · 2009 [cited by applicant]
US 20110231272A1 · Englund et al. · 2011 [cited by applicant]
US 20120150714A1 · Agbor · 2012 [cited by examiner]
US 20120191579A1 · Ahn et al. · 2012 [cited by applicant]
US 20120260322A1 · Logan et al. · 2012 [cited by applicant]
US 20130103576A1 · Ackley · 2013 [cited by applicant]
US 20130144731A1 · Baldwin et al. · 2013 [cited by applicant]
US 20130238489A1 · Bouey et al. · 2013 [cited by applicant]
US 20130238490A1 · Bouey et al. · 2013 [cited by applicant]
US 20130268440A1 · Tierney et al. · 2013 [cited by applicant]
US 20130332324A1 · Mischell et al. · 2013 [cited by applicant]
US 20140129432A1 · Hanson et al. · 2014 [cited by applicant]
US 20140270172A1 · Peirce · 2014 [cited by applicant]
US 20140316983A1 · Block et al. · 2014 [cited by applicant]
US 20150154570A1 · Dheer · 2015 [cited by applicant]
US 20160292788A1 · Grasso · 2016 [cited by examiner]
US 20160321625A1 · Gilliam et al. · 2016 [cited by applicant]
US 20180068389A1 · Pessin · 2018 [cited by applicant]
US 20180096329A1 · Hamilton et al. · 2018 [cited by applicant]
US 20180158116A1 · Hoang et al. · 2018 [cited by applicant]
US 20180330342A1 · Prakash · 2018 [cited by applicant]
US 20190180351A1 · Seabaugh et al. · 2019 [cited by applicant]
US 20190266607A1 · Mori et al. · 2019 [cited by applicant]
US 20190378100A1 · Muthu et al. · 2019 [cited by applicant]
US 20190378132A1 · Gilliam et al. · 2019 [cited by applicant]
US 20200051170A1 · Lutnick · 2020 [cited by applicant]
US 20200151726A1 · Song et al. · 2020 [cited by applicant]
US 20200226687A1 · Krishna · 2020 [cited by examiner]
US 20210224759A1 · Zorzano Blasco · 2021 [cited by applicant]
US 20220188917A1 · Petersen et al. · 2022 [cited by applicant]
US 20220398646A1 · Saunders · 2022 [cited by applicant]
US 20230021606A1 · Zhang et al. · 2023 [cited by applicant]
US 20230214832A1 · Hu · 2023 [cited by applicant]
International search Report and written opinion received for PCT application No. PCT/US24/60207, mailed on Apr. 11, 2025, 19 pages. [cited by applicant]
Du, Lingling, “Financial Decision Support System Research Based on Data Warehouse,” 2009 International Conference on Information Management, Innovation Management and Industrial Engineering, IEEE, Computer Society, 2009… [cited by applicant]
Li et al., “How people select their payment methods in online auctions? An exploration of eBay transactions,” Proceedings of the 37th Hawaii International Conference on System Sciences, 2004, pp. 1-10. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 18/540,619, mailed on May 5, 2025, 8 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 18/540,634, mailed on Apr. 14, 2025, 16 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 18/540,638, mailed on May 8, 2025, 12 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 18/540,639, mailed on Apr. 9, 2025, 8 pages. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 18/540,633, mailed Jul. 31, 2025, 35 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/540,638, mailed Sep. 15, 2025, 18 pages. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 18/540,638, mailed Sep. 17, 2025, 8 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 18/540,634, mailed Sep. 17, 2025, 20 pages. [cited by applicant]