open-standards/openpay/vocab/v1.jsonld
Transaction Science 2354fd9a96 vocab v1 across sister standards: arl + openpay + smart-byte + eoc + wai + joule-code (wave-23 #3)
Carries the third-generation-interop pattern shipped at
jouleclaw/vocab/v1 across every TX Science open standard. Every
sister standard now has a stable IRI for every wire field of
every major data type, plus a Turtle ontology covering classes,
enumerations, and properties.

What ships, per standard:

  arl/vocab/         Claim, Session, Evaluation, Attestation;
                     the four axes (Validation Depth 1–9,
                     Convergence A–E, EnergyProfile, S0–S4);
                     ARL-S isolation tiers 0–3.

  openpay/vocab/     Money, Currency, PaymentMethod, Receipt,
                     Refund, Dispute; the five rails (FedNow / PIX
                     / SEPA Instant / USDC / USDT); the four card
                     schemes; the seven lifecycle states.

  smart-byte/vocab/  Byte, Envelope, Issuer, Holder, KERI AID,
                     LockstepEvent; the cargo-class taxonomy
                     (Value / Coding / Identity / Telemetry /
                     Custom) and the shared HwShunt / ModelBased /
                     Estimator energy-provenance enum.

  eoc/vocab/         Query, Resolution, EOC Receipt, the four
                     cascade stages (Cache / KeyValue / Graph /
                     Neural), CarbonRecord, VendorAPI binding.

  wai/vocab/         Manifest, Capability, Codec; the two paths
                     (NeuralPath shared-prior + ZerothPath
                     registered codec menu); the six modalities;
                     the nine codecs in the v1 menu.

  joule-code/vocab/  README.md complements the LEXICON.md / v1.jsonld
                     / v1.ttl already shipped in b838b86.

Every JSON-LD `@context` pairs with a Turtle ontology. Every
ontology subclasses W3C PROV-O where the alignment is exact
(prov:Activity for sessions / resolutions / lockstep events,
prov:Entity for source trees, prov:Agent for issuers / agents).

Pattern is identical to jouleclaw/vocab/v1 so a downstream
consumer that already loads one vocabulary picks up the others
with no new code: same namespace shape, same JSON-LD context
binding, same Turtle conventions.

Standards documents stay unchanged on the wire: vocabularies are
optional additions, not modifications. A receipt or claim that
doesn't carry `@context` deserialises exactly as before; one that
does gains typed RDF semantics for free.

Licences match each standard's spec text — CC-BY-4.0 for ARL,
Smart Byte, EOC, joule-code; Apache-2.0 for OpenPay, WAI.

Deploy follow-up: extending the Caddyfile @-blocks of arl /
openpay / byte / eoc / wai / joulecode sites to serve `.jsonld`
files as `application/ld+json` is a separate small change. Until
then the vocab is reachable via the GitHub raw URL.
2026-06-02 14:16:58 -04:00

66 lines
2.8 KiB
Text

{
"@context": {
"@version": 1.1,
"op": "https://openpay.transaction.science/vocab/v1#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"Money": "op:Money",
"Currency": "op:Currency",
"PaymentMethod": "op:PaymentMethod",
"Receipt": "op:Receipt",
"Refund": "op:Refund",
"Dispute": "op:Dispute",
"Rail": "op:Rail",
"Driver": "op:Driver",
"Settlement": "op:Settlement",
"Idempotency": "op:Idempotency",
"Authorization": "op:Authorization",
"Capture": "op:Capture",
"Void": "op:Void",
"amount_minor_units": { "@id": "op:amountMinorUnits", "@type": "xsd:integer" },
"currency": { "@id": "op:currency", "@type": "@vocab" },
"method": { "@id": "op:method", "@type": "@vocab" },
"rail": { "@id": "op:rail", "@type": "@vocab" },
"driver_id": { "@id": "op:driverId", "@type": "xsd:string" },
"idempotency_key": { "@id": "op:idempotencyKey", "@type": "xsd:string" },
"captured_at": { "@id": "op:capturedAt", "@type": "xsd:dateTime" },
"authorized_at": { "@id": "op:authorizedAt", "@type": "xsd:dateTime" },
"settled_at": { "@id": "op:settledAt", "@type": "xsd:dateTime" },
"refunded_at": { "@id": "op:refundedAt", "@type": "xsd:dateTime" },
"merchant_id": { "@id": "op:merchantId", "@type": "xsd:string" },
"customer_id": { "@id": "op:customerId", "@type": "xsd:string" },
"vault_ref": { "@id": "op:vaultRef", "@type": "xsd:string" },
"wallet_ref": { "@id": "op:walletRef", "@type": "xsd:string" },
"scheme": { "@id": "op:scheme", "@type": "@vocab" },
"status": { "@id": "op:status", "@type": "@vocab" },
"iso20022_doc": { "@id": "op:iso20022Doc", "@type": "xsd:string" },
"fraud_score": { "@id": "op:fraudScore", "@type": "xsd:double" },
"Card": "op:Card",
"A2A": "op:A2A",
"Stablecoin": "op:Stablecoin",
"Wallet": "op:Wallet",
"EMV": "op:EMV",
"FedNow": "op:FedNow",
"PIX": "op:PIX",
"SEPAInstant": "op:SEPAInstant",
"USDC": "op:USDC",
"USDT": "op:USDT",
"Visa": "op:Visa",
"Mastercard": "op:Mastercard",
"Amex": "op:Amex",
"Discover": "op:Discover",
"Authorized": "op:Authorized",
"Captured": "op:Captured",
"Settled": "op:Settled",
"Refunded": "op:Refunded",
"Voided": "op:Voided",
"Disputed": "op:Disputed",
"Failed": "op:Failed"
}
}