Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 39 commits ahead, 8 commits behind jgperrin:main.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
July 27, 2023 10:15
July 27, 2023 09:35
April 26, 2023 15:05
September 13, 2023 15:11
April 21, 2023 13:19
September 10, 2023 16:15

Open Data Contract Standard


Thanks for your interest and for taking the time to come here! ❤️

Executive summary

This standard describes a structure for a data contract. It's current version is 2.2.0. It is available for you as an Apache 2.0 license. Contributions are welcome!

Discover the open standard

Discover the Open Data Contract Standard. This file contains some explanations and several examples. More examples have been added to v2.2.

What is a Data Contract?

The basics of a data contract

A data contract defines the agreement between a data producer and consumers. A data contract contains several sections:

  • Fundamentals.
  • Schema.
  • Data quality.
  • Service-level agreement (SLA).
  • Security & stakeholders.
  • Custom properties.

Data contract schema

Figure 1: illustration of a data contract, its principal contributors, sections, and usage.

Contributing to the project

Check out the CONTRIBUTING file.


If you spot an article about the Open Data Contract Standard, make a pull request!



Formerly known as the data contract template, this standard is used to implement Data Mesh at PayPal. Today, started with v2.2.0, it is maintained by a 501c6 non-profit organization called AIDA User Group (Articifial Intelligence, Data, and Analytics User Group).

How does PayPal use Data Contracts?

PayPal uses data contracts in many ways, but this article from the PayPal Technology blog gives a good introduction.