algovoi-retention-chain
Self-verifiable audit chain for payment receipts. Apache-2.0.
Each receipt carries a retention_chain_ref computed as:
retention_chain_ref = SHA-256(JCS({chain_seq, issuer_id, prev_receipt_hash, receipt_hash}))
Any party holding a receipt set can verify chain integrity by recomputing the reference from locally held data alone. No AlgoVoi infrastructure, registry lookup, or network access required.
Satisfies transaction-recording and audit-trail obligations under MiCA Art. 80, DORA Art. 14, and AMLR Art. 56. Normative spec: draft-hopley-x402-retention-chain (IETF Independent Submission).
Install
pip install algovoi-retention-chain
Usage
from algovoi_retention_chain import retention_chain_ref, verify_chain_sequence
# Compute a chain ref for an authorized charge
ref = retention_chain_ref(
prev_receipt_hash="", # "" for the genesis (first) charge
receipt_hash="sha256:<64-hex>", # SHA-256 of your receipt payload
chain_seq=0,
issuer_id="mandate:acct-123", # scope per mandate / account
)
# ref = "sha256:<64-hex>" — embed in the receipt; any holder can recompute it
# Verify a full sequence offline
chain = [
{"chain_seq": 0, "issuer_id": "mandate:acct-123",
"prev_receipt_hash": "", "receipt_hash": "sha256:...", "chain_ref": "sha256:..."},
{"chain_seq": 1, ...},
]
assert verify_chain_sequence(chain)
Conformance vectors
Canonical test vectors (v0 and v1) are published at
chopmob-cloud/algovoi-jcs-conformance-vectors,
verified byte-for-byte across Python, TypeScript, Go, Rust, Ruby, C#, Java, and Kotlin (2026-06-17).
The v1 set covers three invariant classes:
- Part A — 6-link extended chain (seq 0–5, single issuer)
- Part B — multi-issuer isolation (same receipt, different
issuer_id→ differentchain_ref) - Part C — seq-gap adversarial pair (correct vs tampered
prev_receipt_hash→ differentchain_ref)
Use these in your test suite to prove interoperability. If you embed at least one canonical hash in your conformance tests, you qualify for the Adopters programme below.
Adopters — free mandate auditor key
If you build on algovoi-retention-chain and meet the criteria below, you qualify
for a free v0 licence key for algovoi-mandate-auditor
— AlgoVoi's production-grade MiCA/DORA compliance audit service for payment mandate charge chains.
Qualification criteria:
algovoi-retention-chaindeclared as a dependency, pinned to a specific version (==0.1.0)- At least one canonical vector hash from
retention_chain_v0orretention_chain_v1appears in your conformance tests — proving you verified against the canonical vectors, not a reimplementation - A
NOTICEfile in your project preserving the Apache-2.0 attribution
To apply: email chopmob@gmail.com with your project's dependency file, a snippet showing
the canonical hash in your test suite, and a copy of your NOTICE file. If all criteria are met,
a v0 key is issued within one business day. The key is valid for 12 months and gives access to
build_audit_report and the HTTP audit service — verify_audit_report is always free with no
key required.
HTTP service
pip install "algovoi-retention-chain[serve]"
RETENTION_CHAIN_BIND=0.0.0.0:8096 algovoi-retention-chain
# POST /v1/chain-ref POST /v1/verify-link POST /v1/verify-sequence GET /health
Acceptance
python scripts/acceptance.py # exit 0 + "ALL GREEN"
Licence
Apache-2.0. See LICENSE and NOTICE.
Metadata
Release files for algovoi-retention-chain 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| algovoi_retention_chain-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / algovoi_retention_chain-0.3.1-py3-none-any.whl
| Download URL | algovoi_retention_chain-0.3.1-py3-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a2cc475b9b2d53da945d4ae1fc82f51de0739386b7ccc9bdbbda230f7859f605
|
|
BLAKE2b-256 checksum How to use checksums |
5336482c58a3182bb55926aceb9cfba7bea6188fecaa45aa7707c98b525ff8cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for algovoi-retention-chain 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.