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.0.tar.gz (242.5 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.0-py3-none-any.whl (276.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swarrm-1.0.0.tar.gz
  • Upload date:
  • Size: 242.5 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.0.tar.gz
Algorithm Hash digest
SHA256 5eb95cfba4fef5a44f7d4ffdbd3cc8109cb69d54a4939fa6d193813a972de9f9
MD5 fee047bfc77b0390b453c463c0571b79
BLAKE2b-256 cbe79771f7010968ef1f03ff07238ec6435448de58bb087247d9e8ebb2c786ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swarrm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 276.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c57cc6bc53e458d8348a29948b406851bbc88fba0e4550c03551cea6e52f3fa0
MD5 855595679b0c10ad7d357f232c539ae8
BLAKE2b-256 0ee83a531024fbead68aa66e4d6f9ed1d8759fca2a47f233eeff6534bef234a0

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