IP Library Granted Patent US 11,436,673
Granted Patent B2
US 11,436,673 · App. 16/353,950 · Granted Sep 6, 2022

Consolidated order book from multiple asset exchanges

Inventors: Tron Black (Sandy, UT); Denny Becker (Salt Lake City, UT); Stephen Christensen (Salt Lake City, UT)
Assignee: tZERO IP, LLC
G06Q40/04G06Q40/06H04L9/0637H04L9/3239H04L9/50
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 11,436,673
App. No.
16/353,950
Granted
Sep 6, 2022
Kind
B2
Abstract

A system includes processor(s), memory(s) and a network interface that receives information regarding a plurality of order books from a plurality of asset exchanges. The processor(s) is configured to update a consolidated order book based on information regarding the plurality of order books for local orders received from users of the system. When a received new order does not match any order in the consolidated order book, the processor(s) is configured to place the new order in at least one of the consolidated order book, a separate local order book, or at least one of the plurality of order books of the plurality of asset exchanges. When the new order matches an order in the consolidated order book, the processor(s) is configured to: communicate a custodial order to the particular asset exchange.

Claims (110)

1. A system, comprising:

at least one processor;

at least one electronic memory communicatively coupled to the at least one processor; and

at least one network interface communicatively coupled to the at least one processor and configured to receive data regarding a plurality of order books from a plurality of asset exchanges via at least one network;

wherein the at least one processor executes instructions stored in the at least one electronic memory, which causes the at least one processor to:

receive the data regarding the plurality of order books for the plurality of asset exchanges from the at least one network interface;

store a consolidated order book in the at least one electronic memory;

update the consolidated order book in real-time based on the data regarding the plurality of order books for the plurality of asset exchanges and for local orders received from users;

track any resting orders on the plurality of order books from the plurality of asset exchanges and any local resting orders resulting from the local orders received from the users;

store custodial assets of the system in an escrow account for a plurality of users of the system;

receive a new order for a first quantity of at least one blockchain-implemented asset from a user;

determine that the new order matches an order in the consolidated order book that corresponds to a particular order on a particular order book of a particular asset exchange of the plurality of asset exchanges;

in response to determining that the new order matches the order in the consolidated order book that corresponds to the particular order on the particular order book, consolidate the new order and at least one other order into a custodial order for a second quantity of the at least one blockchain-implemented asset;

send the custodial order to the particular asset exchange to attempt to match the new order on the particular asset exchange using the custodial assets for the user;

receive a failure notification for the custodial order from the particular asset exchange; and

in response to receiving the failure notification, place the order in at least one of the consolidated order book, a separate local order book, or at least one of the plurality of order books of the plurality of asset exchanges.

2. The system of claim 1 , wherein the instructions further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order does not match to any order on the consolidated order book; and

place the second order in the separate local order book.

3. The system of claim 1 , wherein the instructions further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order does not match to any order on the consolidated order book; and

place the second order in a chosen order book of a chosen asset exchange.

4. The system of claim 1 , wherein the instructions further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order does not match to any order on the consolidated order book;

place the second order in the consolidated order book;

receive a second failure notification for a second custodial order from the particular asset exchange; and

place the second order in the consolidated order book.

5. The system of claim 1 , wherein the instructions are further executable to cause the at least one processor to generate the consolidated order book based on the data regarding the plurality of order books for the plurality of asset exchanges and for the local orders received from the users of the system.

6. The system of claim 1 , wherein the instructions further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order matches a second particular order on a second particular asset exchange;

generate and send a second custodial order, for the second order and the second particular order, to the second particular asset exchange; and

remove the second order from the consolidated order book corresponding to the second particular order on the second particular asset exchange through an update of the consolidated order book based on the data regarding the plurality of order books for the plurality of asset exchanges, including a second particular order book with the second particular order.

7. The system of claim 1 , wherein the instructions further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order matches a second particular order on a second particular asset exchange;

generate and send a second custodial order, for the second order and the second particular order, to the second particular asset exchange;

update, after the second order is matched to the second particular order, the consolidated order book to show that the second particular order had already been removed from the particular order book of the particular asset exchange; and

receive a second failure notification for the second custodial order from the second particular asset exchange.

8. The system of claim 1 , wherein the particular asset exchange records executed transactions on a distributed ledger.

9. The system of claim 8 , wherein the distributed ledger is a blockchain.

10. The system of claim 1 , wherein at least one of the plurality of asset exchanges exchanges at least one of: at least one cryptocurrency, at least one digital currency, at least one fiat currency, or at least one commodity currency.

11. The system of claim 1 , wherein at least one of the plurality of asset exchanges exchanges at least one of: at least one security, at least one bond, at least one commodity, at least one real estate, and at least one personal property, at least one fund, at least one currency fund, at least one exchange traded fund, at least one mutual fund, at least one index fund, at least one bond fund, at least one commodity fund, or at least one real estate fund.

12. The system of claim 1 , wherein the instructions, when executed, further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order partially matches a first plurality of orders in the consolidated order book that correspond to a second plurality of orders on at least one particular order book of at least one particular asset exchange of the plurality of asset exchanges, which orders if executed would effectively result in a complete match; and

communicate a plurality of custodial orders to the at least one particular asset exchange for the second order and the second plurality of orders on the at least one particular order book of the at least one particular asset exchange.

13. The system of claim 12 , wherein the instructions, when executed, further cause the at least one processor to:

in response to receiving a notification that a plurality of transactions of the plurality of custodial orders and the second plurality of orders on the at least one particular order book were executed, remove the second order from the consolidated order book corresponding to the second plurality of orders on the at least one particular order book.

14. The system of claim 12 , wherein the instructions, when executed, further cause the at least one processor to:

in response to receiving a notification that only a subset of the plurality of custodial orders were matched and executed at the at least one particular asset exchange, adjust the second order in the consolidated order book based on the subset of the plurality of custodial orders that were matched and executed.

15. The system of claim 1 , wherein the instructions, when executed, further cause the at least one processor to:

receive a second order from one of the users;

determine that the second order matches a single order in the consolidated order book and partially matches a first plurality of orders in the consolidated order book that correspond to a second plurality of orders on at least one particular order book of at least one particular asset exchange of the plurality of asset exchanges, which orders if executed would effectively result in a complete match; and

communicate a plurality of custodial orders to the at least one particular asset exchange for the second order with the second plurality of orders on the at least one particular order book of the at least one particular asset exchange.

16. A method for utilizing a consolidated order book with a plurality of asset exchanges, wherein the method is performed by a consolidated order book computing device, the method comprising:

receiving data regarding a plurality of order books from the plurality of asset exchanges via at least one network;

storing the consolidated order book in at least one electronic memory;

updating the consolidated order book in real-time based on the data regarding the plurality of order books for the plurality of asset exchanges and for local orders received from users;

tracking any resting orders on the plurality of order books from the plurality of asset exchanges and any local resting orders resulting from the local orders received from the users;

storing custodial assets in an escrow account for a plurality of users and track individual assets within the custodial assets for the plurality of users;

receiving a new order for a first quantity of at least one blockchain-implemented asset from a user;

determining that the new order matches an order in the consolidated order book that corresponds to a particular order on a particular order book of a particular asset exchange of the plurality of asset exchanges;

in response to determining that the new order matches the order in the consolidated order book that corresponds to the particular order on the particular order book, consolidating the new order and at least one other order into a custodial order for a second quantity of the at least one blockchain-implemented asset;

sending the custodial order to the particular asset exchange to attempt to match the new order on the particular asset exchange using the custodial assets for the user;

receiving a failure notification for the custodial order from the particular asset exchange; and

in response to receiving the failure notification, placing the new order in at least one of the consolidated order book, a separate local order book, or at least one of the plurality of order books of the plurality of asset exchanges.

17. The method of claim 16 , further comprising:

 receiving a second order from one of the users;

determining that the second order does not match to any order on the consolidated order book; and

placing the second order in the separate local order book.

18. The method of claim 16 , further comprising:

 receiving a second order from one of the users;

determining that the second order does not match to any order on the consolidated order book;

placing the second order in a chosen order book of a chosen asset exchange by placing the second order at the chosen asset exchange; and

when the custodial order does not match the particular order on the particular asset exchange, placing the second order in the chosen order book of the chosen asset exchange by placing the second order at the chosen asset exchange.

19. The method of claim 16 , further comprising:

receiving a second order from one of the users;

determining that the second order does not match to any order on the consolidated order book;

placing the second order in the consolidated order book;

receiving a second failure notification for a second custodial order from the particular asset exchange; and

placing the second order in the consolidated order book.

20. A system, comprising:

a consolidated order book computing device, comprising:

at least one processor;

at least one electronic memory communicatively coupled to the at least one processor; and

at least one network interface communicatively coupled to the at least one processor and configured to receive data regarding a plurality of order books from a plurality of asset exchanges via at least one network;

wherein the at least one processor executes instructions stored in the at least one electronic memory, which causes the at least one processor to:

receive the data regarding the plurality of order books for the plurality of asset exchanges from the at least one network interface;

store a consolidated order book in the at least one electronic memory;

update the consolidated order book in real-time based on the data regarding the plurality of order books for the plurality of asset exchanges and for local orders received from users;

track any resting orders on the plurality of order books from the plurality of asset exchanges and any local resting orders resulting from the local orders received from the users;

store custodial assets of the system in an escrow account for a plurality of users of the system and track individual assets within the custodial assets for the plurality of users;

receive a new order for a first quantity of at least one blockchain-implemented asset from a user;

determine that the new order matches an order in the consolidated order book that corresponds to a particular order on a particular order book of a particular asset exchange of the plurality of asset exchanges;

in response to determining that the new order matches the order in the consolidated order book that corresponds to the particular order on the particular order book, consolidate the new order and at least one other order into a custodial order for a second quantity of the at least one blockchain-implemented asset;

send the custodial order to the particular asset exchanges to attempt to match the new order on the particular asset exchange using the custodial assets for the user;

an exchange computing device, comprising:

at least one second processor;

at least one second memory communicatively coupled to the at least one second processor;

at least one second network interface communicatively coupled to the at least one second processor;

wherein the at least one second processor executes second instructions stored in the at least one second memory, which causes the at least one second processor to:

send notification of changes to the particular order book to the consolidated order book computing device to update the consolidated order book;

receive the custodial order from the consolidated order book computing device;

determine that the custodial order does not match any order in the particular order book; and

send a failure notification, to the consolidated order book computing device, indicating a failure to match the custodial order with any orders in the particular order book;

wherein the instructions further cause the at least one processor to place, in response to receiving the failure notification, the new order in at least one of the consolidated order book, a separate local order book, or at least one of the plurality of order books of the plurality of asset exchanges.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2021
From: TZERO GROUP, INC.
To: TZERO IP, LLC
Reel/Frame 055730/0216 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2021
From: MEDICI VENTURES, INC.
To: TZERO GROUP, INC.
Reel/Frame 055718/0986 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2021
From: BLACK, TRON; BECKER, DENNY; CHRISTENSEN, STEPHEN
To: MEDICI VENTURES, INC.
Reel/Frame 055448/0435 →
Continuity (2)
Provisional Application 62643638 · Mar 15, 2018
Related Publication 20190287174A1 · Sep 19, 2019