Enforcable Contracts for the Web.

Web Contracts is a way to create a contracts using URIs as keys on the web.

Web Contracts are a new type of system for contracts across the web. These new contracts are designed to enable contracts across different platforms, and acts as a glue between eco systms.

This document specifies a format, interoperability guide lines, and operations that Web Contracts may support.

This document in an informal draft discussed in the w3c web payments community group.


A contract is a set of rules that influences web contracts, credits and vouchers.

This document specifies a format, and operations that Web Contracts may support.


This spec is a work in progress.

Design Goals

Web Contracts are a component of larger systems, such as the Linked Data ecosystem [[LINKED-DATA]], which have driven the design goals for this specification. This section summarizes the primary design goals for this specification.

Goal Description
Decentralization The contract should not be server specific, though it may be.
Control Only the entities that know the contract URN can use it.
Privacy The Voucher URN is kept private between those that honor it.
Security Transmission of a URN will be over encrypted formats.
Proof-based Using PKI, hash, or other trap door function, it is possible to identify a URN without being able to spend it.
Discoverability It may be possible to discover more information about a URN in a proof based network, or using an authoritative server.
Interoperability URIs and URNs are used to provide wide interoperability with existing systems on the web.
Portability Be system and network-independent and enable entities to use their digital identifiers with any system that supports Web contracts.
Simplicity Favor a reduced set of simple features in order to make the technology easier to understand, implement, and deploy.
Extensibility When possible, enable extensibility provided it does not greatly hinder interoperability, portability, or simplicity.

Data Model








The editor would like to thank the Web Payments Community Group.

Thanks to the following individuals, in order of their first name, for their input on the specification: