Skip to main content

Identity Anchor Protocol SDK for signing requests and offline certificate verification

Project description

iap-sdk

Python SDK for Identity Anchor Protocol (IAP) request signing, state continuity tracking, and offline verification.

Install

Published package:

python -m pip install -U pip
python -m pip install iap-agent
iap version
iap-agent version

Local editable development install:

python -m pip install -e ".[dev]"

What this package provides

  • Deterministic agent_id derivation from Ed25519 public keys
  • Canonical request builders and signers for continuity, lineage, key rotation
  • Registry API client helpers
  • Offline certificate verification (including identity-anchor checks)
  • Liveness and transparency helper utilities

IAP tracks agent state evolution. It does not reduce LLM sampling randomness.

Quick example

from iap_sdk import build_continuity_request, sign_continuity_request

payload = build_continuity_request(
    agent_public_key_b64="...",
    agent_id="ed25519:...",
    memory_root="a" * 64,
    sequence=1,
    manifest_version="IAM-1",
    manifest_hash="b" * 64,
)
signed = sign_continuity_request(payload, private_key_bytes=b"...")

Run tests

pytest

Reproducible install

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -e ".[dev]"
iap-agent version

For a clean-room install smoke test, run:

./scripts/smoke_install.sh

Validate CLI snippets in docs:

python scripts/validate_doc_commands.py

CLI (beta)

Install editable and run:

python -m pip install -e ".[dev]"
iap version
iap init
iap track
iap anchor --local-only
iap commit "updated agent objective"
iap verify ./certificate.json --registry-public-key-b64 <key>

# Legacy CLI remains supported in v0.1.x:
iap-agent continuity request --registry-base https://registry.ia-protocol.com --json

CLI exit codes

  • 0: success
  • 1: validation/config/user input error
  • 2: network/registry unavailable
  • 3: timeout waiting for certification
  • 4: verification failure

Version compatibility

See /COMPATIBILITY.md for pinned SDK/protocol/registry API assumptions.

Docs

  • /docs/quickstart-first-certificate.md
  • /docs/e2e-user-walkthrough.md
  • /docs/e2e-dev-local-walkthrough.md
  • /docs/operator-runbook-payments.md
  • /docs/local-amcs-privacy-model.md
  • /docs/lnbits-vs-stripe-flow.md
  • /docs/troubleshooting.md
  • /docs/migration-cli-first.md
  • /docs/transition-terminology.md
  • /examples/state-drift-demo/README.md

Drift demo

Run the transition demo in under 5 minutes:

python examples/state-drift-demo/demo.py

Expected:

  • verify_before_ok=True
  • verify_after_ok=False

Beta mode config

Default config path:

~/.iap_agent/config.toml

Example:

beta_mode = true
maturity_level = "beta"
registry_base = "https://registry.ia-protocol.com"
amcs_db_path = "./amcs.db"

Environment override:

export IAP_REGISTRY_BASE="https://registry.ia-protocol.com"

Local development override example:

registry_base = "http://localhost:8080"

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

iap_agent-0.1.2.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

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

iap_agent-0.1.2-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file iap_agent-0.1.2.tar.gz.

File metadata

  • Download URL: iap_agent-0.1.2.tar.gz
  • Upload date:
  • Size: 36.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iap_agent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7fd4a03e85b639961a9972c9cbd55d8d35b4a005a92739150fd14de6fd56e59e
MD5 91fe2dde315f08fb301105cfe0802e73
BLAKE2b-256 1b8c379040b2e29060ba436f9fb1785ef546cd0d1f242bf36386cca23486f3fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for iap_agent-0.1.2.tar.gz:

Publisher: release.yml on identity-anchor-protocol/iap_sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iap_agent-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: iap_agent-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 35.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iap_agent-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 496b15dcd24b592c92275036904941a21c55a3e4390e56106b510c11dc28666b
MD5 b16444e7626360f64a4112f64d3f75e8
BLAKE2b-256 5d1adab68204a65c21c8986c926312c811a9cc1cbeba67de386dfe75959cff7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for iap_agent-0.1.2-py3-none-any.whl:

Publisher: release.yml on identity-anchor-protocol/iap_sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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