Skip to content
Spec version v0.1-draftnormativedraft

Application profile · Passport

FlowBond Protocol

The Passport is an application profile: a named composition of existing primitives, living on Plane 4. It is included in this specification for one reason — it is the composition proof. If a document of record with points, honors, quests and a life path can be built with zero new primitives, the four primitives are sufficient.

Passport conceptBuilt fromNew primitive?
The holderFBP-01 identity + claimsNo
Points / XPFBP-03 economy instance, decimals: 0No
HonorsFBP-04 soulbound bindingsNo
QuestsFBP-00 events + FBP-02 conditionsNo
Stamps and chaptersFBP-00 stream projectionNo
Off-grid issuancePlane 0 local signing + queueNo
Companion navigationPlane 3 agent under a spend gateNo
The Passport as a composition: every element resolves to an existing primitive.
  • The holder is an FBID. A Passport MUST NOT introduce an identifier of its own; the Passport is a view over an identity’s streams.
  • The person owns the document. An issuer writes chapters; it MUST NOT own the book, MUST NOT be able to delete it, and MUST NOT be able to prevent the holder from reading or exporting it in full.
  • Who issues is data. A Passport MUST support many issuers writing into one holder’s document. The issuer is a field on the entry, not a property of the document, and the document MUST NOT be scoped to a single issuer.
  • The holder MUST be able to export the whole document — every entry from every issuer — in a machine-readable form, at any time, without asking an issuer.
  • A holder MUST be able to present any part of the document as a proof rather than as a copy. See §PP.6.

Rationale (non-normative). A document whose issuer can revoke, edit or withhold it is a permission, not a document. The distinction is the whole point of putting a passport on this protocol rather than in a database.

Points are an FBP-03 economy instance and inherit every invariant of that primitive, including the one that matters most here:

  • Each issuer operates its own points instance. Points MUST NOT be fungible across issuers, and no conversion path MUST exist between instances.
  • decimals MUST be 0. Points are counted, not priced.
  • Awarding points is a mint by an authority of that instance, and MUST commit to a reason. An unexplained award is not auditable.
  • Points MAY expire where the instance policy sets expiry. Expiry MUST appear as an attributed burn, with prior notice to the holder (FBP-03 §3.2).
  • Balances are private (FBP-03 §3.6). A public leaderboard is therefore an OPTIONAL feature requiring the holder’s explicit, revocable grant, and MUST NOT be on by default.

Honors are FBP-04 soulbound bindings.

  • An honor MUST be non-transferable. It MUST NOT be sold, lent, wrapped or represented by any transferable token, and the interface MUST NOT be able to express a transfer.
  • Recognition is NEVER equity. An honor MUST NOT carry an economic claim, a revenue share, or any entitlement expressible as FBP-02 or FBP-03. Where value is intended, those primitives MUST be used explicitly and visibly.
  • An honor MUST be revocable only under rules sealed at issuance, and revocation MUST leave the original readable as history.
  • An honor MUST be presentable as a proof of class — “holds an honor of this class from an accepted issuer” — without revealing the issuer, the holder’s other honors, or the rest of the document.

A quest is an FBP-02 condition set whose satisfaction triggers an award.

Quest — profile-level object
{
"id": "qs_01J95…",
"issuer": "fbid:z6Mk…I",
"holder": "fbid:z6Mk…H",
"conditions": ["cond_01J95…"],
"award": {
"points": { "economy": "ec_01J95…", "amount": 40 },
"honor": "bd_class_pathfinder"
},
"state": "in_progress"
}
  • Every quest step MUST be a ledger event. Progress that exists only in an application database is not part of the Passport and MUST NOT be presented as such.
  • Conditions MUST be evaluable from events, per FBP-02 §2.2. time_elapsed MUST use lamport progress, so a quest does not complete early on a device with a wrong clock.
  • The award on completion MUST be an appended event referencing the satisfied conditions. An award with no referenced conditions is a plain mint and MUST be recorded as one.
  • A quest MUST NOT require continuous connectivity to progress. Steps completed off-grid MUST be signable locally and reconciled later.
  • A quest MUST NOT be retroactively voided. Where an issuer determines a quest was completed in error, it appends a corrective event; the original stands as history.

The life path is the holder’s document read as a whole: an ordered projection of every entry, across every issuer.

  • The projection MUST be computed from ledger events. It MUST NOT depend on a reconstruction held by any single issuer.
  • Ordering MUST be by lamport progress, per FBP-00 §0.4 — not by issuer, not by wall clock.
  • The holder MUST be able to grant a scoped view over a slice of the path — a period, an issuer, a class of entry — using FBP-01 scoped grants, and MUST be able to revoke it.
  • The holder MUST be able to prove path facts without disclosing the path: that they completed a class of quest, that they hold an honor of a class, that they have been active with an issuer class over a period.
  • An issuer MUST NOT be able to enumerate a holder’s entries written by other issuers.

The Passport is expected to be used where there is no network — a trail, a venue, a remote site.

  • Stamping, awarding and quest progress MUST work with the device offline: signed locally and queued, per Transport §T.1.
  • A holder-side and an issuer-side device MUST be able to exchange an entry directly, peer to peer, with no infrastructure between them.
  • Entries MUST display as pending until reconciled, and MUST NOT display as final early.
  • Duplicate stamps from repeated offline exchanges MUST be idempotent at the ledger layer, not deduplicated by the application.

A Plane 3 agent MAY navigate a Passport for its holder — suggest quests, explain progress, spend points.

  • Spending points MUST pass the spend gate (FBP-03 §3.5).
  • An agent MUST NOT accept an honor on the holder’s behalf where acceptance is an act of consent, and MUST NOT satisfy any quest condition requiring the holder’s attestation.
  • An agent MUST NOT read parts of the document outside its grant, and its reads SHOULD be visible to the holder.
  • The profile introduces no primitive not already in FBP-00 … FBP-04.
  • A protocol implementation with no knowledge of the Passport can run it.
  • Many issuers write into one holder’s document; the document is not issuer-scoped.
  • The holder can export everything without asking any issuer.
  • Points do not redeem, do not convert across issuers, and have decimals: 0.
  • Honors cannot be transferred and carry no economic claim.
  • Every quest step is a ledger event; nothing lives only in an application database.
  • Stamping works with the device offline, peer to peer.
  • Path facts are provable without disclosing the path.