For Integrators

Produce and verify receipts

Counterparties that receive an asset figure often ask for the evidence behind it. A verification receipt records which policy was applied, the outcome and its reason codes, and a signed registry entry commits to it. An integration touches two points: producing the record where a NAV or valuation is issued, and checking it where it is received. The check calls no service, so the counterparty runs it on its own machine.

  • Verifier packages: loquitur-verify (for PyPI, published there later) and @loquitur/verify (for npm, published there later), installed from a clone for now.
  • Verification needs the bundle, its registry entry, the trust registry and a pinned trust root, and no running service.
  • No producer tool is published: producing receipts means writing your own policy for now.

What an integration adds

The counterparty runs the check on its own machine

A receipt and its registry entry could go out with the NAV or valuation, instead of a counterparty being given access to a system. The entry commits to the bundle by digest, so a document changed afterwards fails the counterparty's own check, and nothing is asked of you.

  • The policy behind each figure

    Counterparties, investors and your own teams can see which policy each NAV or valuation was checked against and the reason codes behind its status. A question about an outcome starts from one named reason.

  • Issuer keys with a scope

    A key authorized only for property valuations fails the authorization check on a NAV entry. The verifier reports ISSUER_KEY_SCOPE_MISMATCH.

One side or both

Producing and verifying are separate jobs

Producing receipts and running the verifier are separate jobs. Run only the verifier and you can check bundles from another platform; produce only receipts and your counterparties have something to check on their own.

  • A single workflow

    One asset type and one review process, traced from where the NAV or valuation is issued to where it is checked, with one policy and one issuer key.

  • Producing receipts

    The repositories contain no producer tool, so you write, version and run your own policy. A producer that applies a published policy pack is planned. A signing key listed in the trust registry is also needed.

  • Running the verifier

    The verifier is the package loquitur-verify in Python and @loquitur/verify in TypeScript, each installed from a clone of its repository. Structure and integrity always run, the link check needs the registry entry, and authorization needs the trust registry and a pinned trust root.