IP Library Granted Patent US 10,445,698
Granted Patent B2
US 10,445,698 · App. 15/640,276 · Granted Oct 15, 2019

System and method for forming, storing, managing, and executing contracts

Inventor: Peter Geoffrey Lerato Hunn (Dallas, TX)
Assignee: Clause, Inc.
G06Q10/10G06F16/219G06F16/93G06F17/211G06F17/24G06F21/645G06Q30/0283G06T11/206G06Q2220/00
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 10,445,698
App. No.
15/640,276
Granted
Oct 15, 2019
Kind
B2
Abstract

A system and method for computable contracts that includes a contract management system accessible by involved parties, managing a formation stage of a contract document by obtaining object components, assembling a contract object graph from the object components, and committing the contract object graph to post formation execution; and in an execution environment during a post-formation stage, executing the contract object graph where instances of execution include receiving a contract state update, and appending at least one update object component to the contract object graph in accordance with the contract state update. Variations of the system and method may apply peer-to-peer negotiation and execution, use a cryptographic directed acyclic contract object graph, and/or interface with distributed ledgers.

Claims (43)

1. A method for facilitating a secure and auditable computable contract comprising:

in a contract management system operable within a computing system comprised of at least one processor and accessible by involved parties through a computer interface, managing a formation stage of a contract document comprising:

obtaining object components of the contract document by translating the contract document into object components that are data representations,

assembling a contract object graph from the object components, wherein the contract object graph is stored in a computer-readable storage medium and wherein the contract object graph is a directed acyclic graph with the object components having embedded hash links connecting the object components,

committing the contract object graph to post formation execution; and

in an execution environment comprised of at least one processor and during a post formation stage, executing the contract object graph where instances of execution comprise:

receiving a contract state update through the execution environment, and

appending at least one appended object component to the contract object graph in accordance with the contract state update and with a cryptographic hash identifier, wherein the appended object component is stored in the computer-readable storage medium.

2. The method of claim 1 , wherein obtaining object components comprises obtaining at least a subset of clause objects, and wherein assembling the contract object graph comprises assembling the contract object graph as a tree organization containing the clause objects.

3. The method of claim 2 , wherein the clause objects include natural language clause objects, executable clause objects, and hybrid clause objects.

4. The method of claim 2 , wherein at least a subset of clause objects are programmable clauses that include configured logic and at least one variable.

5. The method of claim 1 , further comprising referencing an element of the contract object graph in a transaction of a distributed ledger.

6. The method of claim 1 , further comprising driving execution of code executable on a distributed ledger system from the contract object graph.

7. The method of claim 1 , wherein obtaining object components comprises obtaining object components from a contract repository.

8. The method of claim 1 , wherein, in a first instance of execution, receiving the contract state update comprises detecting outbound communication of data to a first distributed ledger system; and wherein, in a second instance of execution, receiving the contract state update comprises detecting outbound communication of data to a second distributed ledger system that is distinct from the first distributed ledger.

9. The method of claim 1 , wherein obtaining the object components comprises receiving object components from a contract repository; and wherein managing the formation stage comprises exchanging cryptographically signed commits between the involved parties and thereby synchronizing the contract repository with repositories of the involved parties.

10. The method of claim 1 , wherein committing the graph to post-formation execution comprises executing signatures of the contract object graph by contracting parties.

11. The method of claim 1 , wherein executing the contract object graph comprises: a first instance of executing the contract object graph that comprises receiving a data-initiated state update through a computer system integration, a second instance of executing the contract object graph that comprises receiving a party-initiated state update initiated through the computer interface of the contract management system, a third instance of executing the contract object graph that comprises receiving a hybrid state update resulting from received data input and sign-off of at least one party through the computer interface of the contract management system.

12. The method of claim 1 , wherein the contract state update is a data-initiated state update.

13. The method of claim 12 , wherein the data-initiated state update results from receiving data from an outside data source; and wherein the at least one appended object component defines altered logic in execution of the contract object graph.

14. The method of claim 13 , wherein the at least one appended object component is part of a pricing clause object where the altered logic alters an active pricing variable.

15. The method of claim 13 , wherein receiving data from the outside data source comprises receiving data from a distributed ledger.

16. The method of claim 12 , wherein the data-initiated state update results from outbound communication of data to a data destination; and wherein the update object records the outbound communication of data in the contract object graph.

17. The method of claim 16 , wherein receiving the contract state update comprises detecting a transaction on an outside distributed ledger; and wherein the update object records the transaction in an appended object component of the contract object graph.

18. The method of claim 16 , wherein the appended object component records outbound communication of data through an API of an outside service.

19. The method of claim 1 , wherein instances of execution further comprise cryptographically validating the contract state update prior to appending the update object.

20. The method of claim 1 , wherein at least executing the contract object graph comprises executing the contract object graph through a decentralized computing infrastructure.

21. The method of claim 20 , wherein the decentralized computing infrastructure, is a peer-to-peer network.

22. The method of claim 20 , wherein peers of the peer-to-peer network hold a copy of the contract object graph; and further comprising transitioning state through state update messaging.

23. The method of claim 1 , further comprising sharing data on a distributed ledger system representing at least a portion of at least one object component of the contract object graph.

24. The method of claim 1 , querying the contract object graph and providing a versioned history of contract state.

25. The method of claim 1 ,

wherein at least one object component in the contract object graph includes contract logic; and

wherein executing the contract object graph further comprises executing contract logic of an object component in the contract object graph and maintaining of the contract object graph as an auditable record of contract state and history.

26. A system for facilitating a secure and auditable computable contract comprising:

a contract object graph that is a directed acyclic graph of object components having embedded hash links connecting the object components;

a contract management system, comprising at least one processor and a computer interface accessible by involved parties, the contract management system further comprising machine interpretable instructions with configuration to:

obtain object components of a contract document by translating the contract document into object components,

assemble the contract object graph from the object components, wherein the contract object graph is stored in an computer-readable storage medium, and

commit the contract object graph to post formation execution; and

an execution environment comprised of at least one processor and data storage medium configured to store the contract object graph during post formation execution, the execution environment including computer readable instructions with configuration to:

receive a contract state update, and

append at least one appended object component to the contract object graph in accordance with the contract state update and with a cryptographic hash identifier, wherein the appended object component is stored in the computer-readable storage medium.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded May 23, 2025
From: DOCUSIGN, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 071337/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: CLAUSE, INC.
To: DOCUSIGN, INC.
Reel/Frame 057011/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2017
From: HUNN, PETER GEOFFREY LERATO
To: CLAUSE, INC.
Reel/Frame 042880/0272 →
Cited By (7)
US 12,192,274 US 12,198,212 US 12,238,168 US 12,254,435 US 12,321,646 US 12,373,647 US 12,670,200