DotContract
Create, track, and share
digital contracts over their full lifecycle

DotContract is a digital contract platform and standard for the specification and programmatic use of contractual agreements.

Expressive, provable, and secure

Evolvable Contractual Terms
DotContracts start off blank, and by adding rules in the form of formally specified rights and obligations, can be evolved into any needed multi-party dynamic.
Shareable Data Repos
DotContracts act as stand alone data repositories covering the full lifecycle of an agreement. Share a .contract file as easily as a .zip file to let others interact with it as a data repo.
Formal Verification and Analysis
Unlike programming language based digital contracts, which are too complex for formal analysis, DotContracts are written in a specification language that lets you fully model and analyze all possible outcomes.
Hostable on Secure Networks
DotContracts can be optionally hosted on your own secure network, enabling them to share state and common data feed values though network synchronized message passing.

Made for developers

contract
sh
contract create
sh
% contract create -f partnership.contract

% contract clone --url pubkey@contract.nexus:/demos/example.contract
          
contract log
sh
% contract log --reverse -f partnership.contract

# DotContract b45a777ffe355419b7d9a7859355818fe115a3d1
Name: Example Business Partnership
Sort: Oldest to Newest

## Commit d4033751307f9ebbc36f11e3988c98d335746101
DEFINE  @party_a, crypto:/ed25519-pub/12D...
DEFINE  @party_b, crypto:/ed25519-pub/12D...
RULE    always must (include_sig @party_a or include_sig @party_b)

## Commit b45a777ffe355419b7d9a7859355818fe115a3d1
RULE    always must (when post_to /gov also include_sig @party_a and include_sig @party_b)
SIGNED  @party_a

## Commit 433cd4320dba0db724af8f9c85b42f67679113f8
POST    /gov/Operating Agreement.docx, attach:/docs/Operating Agreement.docx
SIGNED  @party_a
SIGNED  @party_b
contract commit
sh
% contract commit << EOF
POST /rate, 7.750
EOF

# Error
/rate change must be signed by @admin

% contract commit --sign-as admin.key << EOF
POST /rate, 7.750
EOF

# Error
/rate must be less than or equal to 7.000 when /credit_rating is BBB

% contract commit --sign-as admin.key << EOF
POST /rate, 7.750
POST /credit_rating, BB
EOF

# Success
## Commit 349c3708cf3e4d568590bb86e8e9cc8ff35bee81
POST    /rate, 7.750
POST    /credit_rating, BB
SIGNED  @admin
          

Digital contracts that work anywhere

Creating, editing, and managing digital contracts is easy with an open source file format and desktop app usable by all.
1 | INSTALL
Install or embed the DotContract toolkit
Install Explorer, a desktop application that lets you work with DotContract digital contracts with ease. Developers can also access DotContracts using the DotContract CLI and libraries.
2 | CREATE
Create, update, review, and sign DotContracts
Create a DotContract and then use Modality, a digital contract specification language, to add and revise rules. Agree to changes and take actions by cryptographically signing commits.
3 | SHARE
Share DotContracts as files or push changes to them as hosted repos
Share contracts easily via email with the .contract file format. Since each contract acts as a standalone database or repo, DotContracts can be shared anywhere easily without losing history, revisions, and preserving rights and obligations.

Powering use cases across industries

Finance
Validated terms and conditions for finance
Model lifecycle conditions for any asset type, automatically enforce the rights and obligations between participants with a powerful digital contract framework.
Governance
Digital governance for organizations of all sizes
Embed logic and dependencies with contract execution and signing to enable organizational checks and balances.
Compliance
Complex compliance automation
Model and automate complex compliance checks with a robust and reliable contract specification language.
Data
Break data silos across parties
Use hosted contracts to enable direct access and data feeds to relevant participants.
Digital Assets
Extend digital contracts into custodial assets
Easy to follow, semantic code that's maintainable by record keepers and custodians. Portable files make it simple to share with analysts and investors.
And More
Unlock the power of digital contracts
A simple digital contract standard enables you to build and deploy digital contracts easily for enterprise or consumer use.
Contact us ›