System and method for forming, storing, managing, and executing contracts
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
exact text as granted — not AI-modifiedWe claim:
1 . A method comprising:
in a contract management system accessible by involved parties, managing a formation stage of a contract document comprising:
obtaining object components of the contract document,
assembling a contract object graph from the object components,
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 comprise:
receiving a contract state update, and
appending at least one appended object component to the contract object graph in accordance with the contract state update.
2 . The method of claim 1 , wherein the contract object graph is a directed acyclic graph with an embedded cryptographic hash links connecting the object components.
3 . The method of claim 2 , 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.
4 . The method of claim 3 , wherein the clause objects include natural language clause objects, executable clause objects, and hybrid clause objects.
5 . The method of claim 3 , wherein at least a subset of clause objects are programmable clauses that include configured logic and at least one variable.
6 . The method of claim 2 , further comprising referencing an element of the contract object graph in a transaction of a distributed ledger.
7 . The method of claim 2 , further comprising driving execution of code executable on a distributed ledger system from the contract object graph.
8 . The method of claim 1 , wherein obtaining object components comprises obtaining object components from a contract repository.
9 . The method of claim 1 , comprising in a first instance of execution, the contract state update comprises detecting outbound communication of data to a first distributed ledger system; and comprising in a second instance of execution, the contract state update comprises detecting outbound communication of data to a second distributed ledger system that is distinct from the first distributed ledger.
10 . 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.
11 . The method of claim 1 , wherein committing the graph to post-formation execution comprises executing signatures of the contract object graph by contracting parties.
12 . The method of claim 1 , wherein one instance of execution can comprise receiving a data-initiated state update; wherein a second instance of execution can comprise receiving a party-initiated state update; wherein a third instance of execution can comprise receiving a hybrid state update.
13 . The method of claim 1 , wherein the contract state update is a data-initiated state update.
14 . The method of claim 13 , wherein the data-initiated state update results from receiving data from an outside data source; and wherein the appended object defines altered logic in execution of the contract object graph.
15 . The method of claim 14 , wherein the appended object is part of a pricing clause object where the altered logic alters an active pricing variable.
16 . The method of claim 14 , wherein receiving data from the outside data source comprises receiving data from a distributed ledger.
17 . The method of claim 13 , 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.
18 . The method of claim 17 , 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 of the COG.
19 . The method of claim 17 , wherein the appended object records outbound communication of data through an API of an outside service.
20 . The method of claim 1 , wherein instances of execution further comprise cryptographically validating the contract state update prior to appending the update object.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.