Skip to main content

Swarrm — signed receipts + transparency log + offline verification for AI agent actions

Project description

Swarrm

Signed receipts, a tamper-evident log, and offline verification for what AI agents do.

Every action an AI agent takes — a model call, a tool run, a refund, a payment — becomes a signed receipt in an append-only, tamper-evident log (RFC 6962 Merkle tree, Ed25519 / DSSE). Any set of receipts exports as a self-contained evidence bundle that anyone you share it with can verify offline — no account, no server, no trust in you or in Swarrm. Payloads stay in your environment; the log holds hashes and operational metadata, never the content.

Ordinary application logs are editable, so they are testimony, not evidence. These records are verifiable: flip a single byte and the bundle fails.

Status

1.0 — feature-complete. The wire format (evd/*) is frozen, and the verifier is stable and independently implemented (Python here, Rust in the open swarrm-verify repo, agreeing on a shared adversarial fixture suite). Claims ≤ mechanism, so plainly: anchoring runs on a public staging chain (Base Sepolia), timestamps are non-qualified, and no external security audit or paid production deployment has been completed. The proof mechanism is complete and offline-verifiable today; the production/commercial milestones are separate and honestly ongoing.

Quickstart

pipx install swarrm                   # Python 3.11+  (or: pip install swarrm)
swarrm demo                           # synthetic agent traffic → receipts → bundle → VERIFIED
swarrm verify demo_out/bundle.json    # the demo flips one byte → NOT VERIFIED

Two minutes, no account, fully local. One config knob — EVD_PROFILE=dev|trial|edge — sets every default; swarrm doctor prints what's effective and whether it is actually recording. The CLI is one word: up (dev stack), demo, verify BUNDLE, wrap -- CMD (capture an MCP tool), node, incident, status, doctor.

Verify it yourself — offline, and open

swarrm verify <bundle.json> checks a bundle entirely locally. So does the in-browser verifier at swarrm.ai/verify — client-side, nothing leaves the page.

The verifier is open source and independent: a second implementation in Rust (github.com/capxholding/swarrm-verify, Apache-2.0) that must agree with this package's Python verifier on a shared adversarial fixture suite. Two implementations, one answer — the verdict does not depend on trusting a single codebase. The normative wire-format specifications (evd/*) are published openly in that repository.

The evidence ladder

Each receipt carries the assurance it has actually earned:

  • E0 — signed. The receipt exists and is intact, signed by a known key.
  • E1 — in the log. Included in an append-only, checkpointed log; it cannot be silently altered or dropped.
  • E2 — anchored. The checkpoint is committed to a public chain and independently timestamped (RFC 3161).
  • E3 — co-signed. A counterparty signs the same record — bilateral, non-repudiable proof.

What's in the package

The cryptographic log and receipts; capture surfaces (proxy, recorder, MCP wrapper, SDK, OpenTelemetry); L2 anchoring + RFC 3161 timestamping; the offline verifier; evidence-report rendering; and an out-of-path Evidence Node for independently reading an authoritative source. The wire-format specifications and the second independent verifier are open source (Apache-2.0) in the swarrm-verify repository.

License

The swarrm package is proprietary — © 2026 Capx Holding, all rights reserved. The published wire-format specifications and the independent verifier are Apache-2.0.

Homepage: swarrm.ai

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarrm-1.0.1.tar.gz (243.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swarrm-1.0.1-py3-none-any.whl (278.1 kB view details)

Uploaded Python 3

File details

Details for the file swarrm-1.0.1.tar.gz.

File metadata

  • Download URL: swarrm-1.0.1.tar.gz
  • Upload date:
  • Size: 243.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for swarrm-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a3a44ba8616c2b50940ff5cdbf78755833ab239df01d58b29b00b53373eb97d0
MD5 006868be235138e13534e923d9128752
BLAKE2b-256 3e98bc33157fd2599f90c4198d10bbd23519506808334dd10e190a1bf0a3d5d2

See more details on using hashes here.

File details

Details for the file swarrm-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: swarrm-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 278.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for swarrm-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c87496fd02900deb1370757fdb9bb88f8d70239e3198ac161e8382b17a1b48ad
MD5 1aea40f4f324aee84a42570b69fe05ba
BLAKE2b-256 ecf3b5919f1f28ddb21433e5ee0c24a922e126f95b2a1f6363e28fd6c43988d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page