Identity Anchor Protocol SDK for signing requests and offline certificate verification
Project description
iap-sdk
Python SDK for Identity Anchor Protocol (IAP) request signing and offline certificate verification.
Install
Published package:
python -m pip install -U pip
python -m pip install iap-agent
iap-agent version
Local editable development install:
python -m pip install -e ".[dev]"
What this package provides
- Deterministic
agent_idderivation 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
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-agent version
iap-agent version --json
iap-agent init
iap-agent init --show-public --json
iap-agent amcs root --amcs-db ./amcs.db --agent-id ed25519:...
iap-agent anchor issue --registry-base https://registry.ia-protocol.com --agent-name "Atlas"
iap-agent continuity request --registry-base https://registry.ia-protocol.com --json
iap-agent continuity pay --request-id <request-id> --open-browser
iap-agent continuity wait --request-id <request-id> --json
iap-agent continuity cert --request-id <request-id> --json
iap-agent verify ./certificate.json --registry-public-key-b64 <key>
iap-agent flow run --registry-base https://registry.ia-protocol.com --output-dir ./artifacts
CLI exit codes
0: success1: validation/config/user input error2: network/registry unavailable3: timeout waiting for certification4: 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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iap_agent-0.1.0.tar.gz.
File metadata
- Download URL: iap_agent-0.1.0.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecefb1cd3e25d8709dd2600b8691c0db4037e6273c52ec14e3b9412f30cbab43
|
|
| MD5 |
887fd5af256db8ce71fa8071cd7cd46b
|
|
| BLAKE2b-256 |
412ab75bbc5ad8bb4e4b8e4c9bdb882f5c14b89682adcdee111438e8079ace8e
|
Provenance
The following attestation bundles were made for iap_agent-0.1.0.tar.gz:
Publisher:
release.yml on identity-anchor-protocol/iap_sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
iap_agent-0.1.0.tar.gz -
Subject digest:
ecefb1cd3e25d8709dd2600b8691c0db4037e6273c52ec14e3b9412f30cbab43 - Sigstore transparency entry: 982829442
- Sigstore integration time:
-
Permalink:
identity-anchor-protocol/iap_sdk@7b9e6af6299410d944a1844ac7d1c5d875c0555d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/identity-anchor-protocol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7b9e6af6299410d944a1844ac7d1c5d875c0555d -
Trigger Event:
push
-
Statement type:
File details
Details for the file iap_agent-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iap_agent-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
125857f0789676cbc39c870cac32501a5e5bd0eb5eaa9a1d538cf278227a9017
|
|
| MD5 |
993b155d416a18b87aac026a1c420d1f
|
|
| BLAKE2b-256 |
f3cdd295b83ae40fa2ed5560258bd57bf3e3bc3ffbc0341455aabf7000f44381
|
Provenance
The following attestation bundles were made for iap_agent-0.1.0-py3-none-any.whl:
Publisher:
release.yml on identity-anchor-protocol/iap_sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
iap_agent-0.1.0-py3-none-any.whl -
Subject digest:
125857f0789676cbc39c870cac32501a5e5bd0eb5eaa9a1d538cf278227a9017 - Sigstore transparency entry: 982829461
- Sigstore integration time:
-
Permalink:
identity-anchor-protocol/iap_sdk@7b9e6af6299410d944a1844ac7d1c5d875c0555d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/identity-anchor-protocol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7b9e6af6299410d944a1844ac7d1c5d875c0555d -
Trigger Event:
push
-
Statement type: