tersign (Python)
Tersign — the evidence layer for the agent economy. This package is the verification-first Python SDK: zero dependencies, standard library only — the verify path a tribunal, examiner, or CI job can run with nothing installed.
python3 -m tersign verify receipt.json # offline — no network, ever
python3 -m tersign verify 0x<digest> --ledger … # chain lookup (explicit network)
from tersign import verify_receipt, digest_of, chain_link_digest, verify_link
result = verify_receipt(signed_receipt) # {'valid': True, 'signer': '0x…', 'digest': '0x…'}
What it covers (v0.1):
- RFC 8785 (JCS) canonical form + the Tersign artifact digest
(
keccak256(utf8(JCS(v)))) and chain-link constructor — byte-compatible with the TypeScript reference, pinned by shared cross-implementation vectors. - EIP-712 recovery for the upstream
x402 receiptdomain (the merged offer-receipt extension) — pure-python secp256k1, canonical low-s only. - Counter-signature verification (
verify_link): EIP-191 over the raw 32-byte chain-link digest, recovered against the published ledger signer (https://tersign.ai/v1/ledger).
Issuing/signing lives in the TypeScript SDK (npm
tersign); this package is the
independent second implementation of the verification surface —
cross-implementation by construction. Frozen evidence bundles
(tersign-evidence-bundle-v1) ship their own copy of this verify core inside
the artifact, so bundle verification never depends on an install.
No console script on purpose: the tersign bin name belongs to the npm
package; the Python surface is python3 -m tersign.
Metadata
Release files for tersign 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tersign-0.1.1.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tersign-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 kB
Release files / tersign-0.1.1.tar.gz
| Download URL | tersign-0.1.1.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
70939e1adfbaab37808f94794c50398f24643e908120b9991d03243c6b287b3a
|
|
BLAKE2b-256 checksum How to use checksums |
c10858af0f15b3527d73a38d88af09a2c5633bbbf42719ccda0e09c2ef26b5e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / tersign-0.1.1-py3-none-any.whl
| Download URL | tersign-0.1.1-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5d4707a09efaf6391dd1cc8980279e5068787b1b3cca63b2778f336f8953ccc
|
|
BLAKE2b-256 checksum How to use checksums |
2a27b2f3aee5342466596853693f742496ff0dea9db711a9907caa6e3d7080a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|