Skip to main content

agentity-evm

EVM cross-registry bridge for the Agentity Protocol. Publish DID registration and revocation events on-chain via a Solidity smart contract, and verify agent identity status across registries using read-only EVM queries.

Components

  • Solidity contract (contracts/Registry.sol) — On-chain DID registry
  • EvmPublisher — Python client for writing to the contract
  • EvmVerifier — Python client for reading from the contract

Installation

pip install agentity-evm

Solidity contract

contract AgentityRegistry {
    function register(string calldata did, bytes32 fingerprint, string calldata providerDid) external;
    function revoke(string calldata did) external;
    function rotate(string calldata oldDid, string calldata newDid) external;
    function getStatus(string calldata did) external view returns (string memory);
    function getFingerprint(string calldata did) external view returns (bytes32);
}

Events: DIDRegistered, DIDRevoked, DIDRotated

Usage

Publisher

from agentity_evm import EvmPublisher

publisher = EvmPublisher()
publisher.connect()

# Register a DID on-chain
tx_hash = publisher.register(
    did="did:agentity:agent:7Xj3...",
    fingerprint_hex="a1b2c3...",
    provider_did="did:agentity:provider:stripe",
)
print(f"Transaction: {tx_hash}")

# Revoke
tx_hash = publisher.revoke("did:agentity:agent:7Xj3...")

Verifier

from agentity_evm import EvmVerifier

verifier = EvmVerifier(
    rpc_url="http://localhost:8545",
    contract_address="0x1234...",
)

result = verifier.verify("did:agentity:agent:7Xj3...")
# {"did": "...", "status": "active", "fingerprint": "0x...", "source": "evm"}

Configuration

Env var Default Description
AGENTITY_EVM_RPC_URL http://localhost:8545 EVM RPC endpoint
AGENTITY_EVM_CONTRACT — Deployed contract address
AGENTITY_EVM_PRIVATE_KEY — Wallet private key for signing
AGENTITY_EVM_CHAIN_ID 1337 Chain ID (Anvil default)

Integration with registry

The agentity-registry automatically publishes to EVM when AGENTITY_EVM_RPC_URL is set:

AGENTITY_EVM_RPC_URL=http://localhost:8545 \
AGENTITY_EVM_CONTRACT=0x... \
AGENTITY_EVM_PRIVATE_KEY=0x... \
uvicorn agentity_registry.main:app --port 8000

Deploy the contract

# Using Foundry (cast)
forge create --rpc-url http://localhost:8545 \
  --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
  contracts/Registry.sol:AgentityRegistry

License: Apache 2.0

Metadata

Release files for agentity-evm 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentity-evm 0.1.1
File Size Uploaded Provenance
agentity_evm-0.1.1.tar.gz 4.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agentity-evm 0.1.1
File Interpreter ABI Platform
agentity_evm-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / agentity_evm-0.1.1.tar.gz

Download URL agentity_evm-0.1.1.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
823b3725c4840c6bd1ae945b8e0066bca131dac91a099a583669aea634815ecf
BLAKE2b-256 checksum
How to use checksums
38f7b7266c836ae14c68539d671b15296626b693efa12eea7d7bfd4e39e002ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / agentity_evm-0.1.1-py3-none-any.whl

Download URL agentity_evm-0.1.1-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ff3ed627f8c9c67362f34b26317104ee9d44d1f575d5e7b416fd9aa422828a53
BLAKE2b-256 checksum
How to use checksums
82e1e37a8b556d516f0dcda9053ff95084fabc3df534544b29ca5bcc55f9139c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Security for agentity-evm 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page