GitHub

Docs

Documentation

The PATH specification — pillars, transverse layers, and the conventions every implementation follows.

This section specifies the protocol. If you are new to PATH, Learn explains the ideas first; this section assumes them.

The pillars

Transverse

Working with it

Conventions used throughout

Requirement levels. MUST, SHOULD and MAY carry their RFC 2119 meanings. A SHOULD that you do not follow is a decision to document, not a detail.

Status labels. Every section carries one:

LIVE specified and running.
DRAFT specified, may change before v1.0.
RESERVED part of the format, unused in this version.

Times are RFC 3339 in UTC. Amounts are decimal strings, never floats — a binary float cannot represent 0.1. Under protocol_version 0.2.0 the string is the value of an Amount. Under 0.1.0 the string sits beside currency. See Versioning.

Identifiers in examples are fictional.

Two rules that explain most of the design

PATH standardises what crosses a boundary between two organisations, and nothing else. Rails, custody, pricing, screens and ledgers belong to operators. A specification that reached into those would need renegotiating in every jurisdiction and would never ship.

INTEROP carries the envelope; the pillar owns the object. One URI grammar, one signature scheme, one reading algorithm, over objects that belong to different pillars. It is why adding a new kind of object does not mean inventing a new QR format.

On this page