Skip to content

Key Concepts

This page defines the core terms and concepts used throughout the Agent Registry. Each entry includes a definition and a brief explanation of why it matters.


Haftungsperson

Definition: The legally responsible human entity for an agent. Every registered agent must have a Haftungsperson. This is the wallet address of the person or organization that bears legal liability for the agent's actions.

Why it matters: Without a Haftungsperson, there is no accountability. If an agent causes harm, defrauds a counterparty, or violates regulations, the Haftungsperson is the entity that can be held responsible. This is the fundamental link between the autonomous digital world and the human legal system.

Analogy

The Haftungsperson is analogous to the Geschaeftsfuehrer (managing director) in the German Handelsregister. Just as every GmbH must name a Geschaeftsfuehrer who is personally liable for legal compliance, every registered agent must name a Haftungsperson.


KYA (Know Your Agent)

Definition: The agent-world equivalent of KYC (Know Your Customer). Infrastructure providers query the Agent Registry to verify an agent's registration status, compliance, responsible person, operational scope, and lineage before provisioning services.

Why it matters: KYA is the enforcement mechanism that makes registration meaningful. Without it, agents could simply ignore the registry. With KYA, infrastructure providers can refuse service to unregistered or non-compliant agents -- just as banks refuse service to unidentified customers.

Quick Check

A single API call answers all five KYA questions:

curl https://api.agentenregister.org/api/v1/kya/0xAgentWallet
See KYA Deep Dive for full details.


Compliance Attestation

Definition: A periodic on-chain signal that an agent is still operating within its declared parameters. Agents (or their creators/Haftungsperson) must call attestCompliance() at least every 7 days (604,800 seconds). This period is configurable via setAttestationGracePeriod().

Why it matters: Registration alone is not enough. An agent registered six months ago may have changed behavior, gone offline, or been compromised. The attestation requirement ensures continuous accountability. If attestation lapses, isRegisteredAndCompliant() returns false, and KYA checks will flag the agent as non-compliant.

Attestation State isRegisteredAndCompliant() KYA Result
Current (within 7 days) true Compliant
Lapsed (older than 7 days) false Non-compliant
Never attested after registration Current for 7 days (auto-attested at registration) Compliant initially

Agent Lineage

Definition: The on-chain parent-child relationship between agents. When an agent spawns a child agent, the child is registered with parentAgentId set to the parent's ID. The child's generation is the parent's generation plus one.

Why it matters: Autonomous agents can create other agents. Without lineage tracking, it would be impossible to trace responsibility chains. If a grandchild agent causes harm, lineage tracking lets you trace the chain all the way back to the root agent and its Haftungsperson. Generation depth is capped at 10 to prevent unbounded recursion.

graph TD
    HP["Haftungsperson<br/>(Human)"] -->|"registers"| R["Root Agent<br/>Generation 0"]
    R -->|"spawns"| C1["Child Agent A<br/>Generation 1"]
    R -->|"spawns"| C2["Child Agent B<br/>Generation 1"]
    C1 -->|"spawns"| G1["Grandchild<br/>Generation 2"]

See Agent Lineage for full details on hierarchy rules and constraints.


Gasless Registration (ERC-2771)

Definition: A mechanism that allows agents to register on-chain without holding any cryptocurrency. The agent signs an EIP-712 typed data message locally (free). A relayer service submits the transaction to the blockchain and pays the gas fee on the agent's behalf.

Why it matters: Requiring agents to acquire cryptocurrency before they can register is a massive adoption barrier. Most AI agents do not have crypto wallets, exchange accounts, or fiat-to-crypto onramps. Gasless registration eliminates this friction entirely. An agent needs only a private key -- no ETH, no gas tokens, no bridge, no faucet.

Zero-Cost Registration

Who Cost
Agent $0.00
Relayer ~$0.005 per registration on Base L2

See Gasless Transactions for the full technical flow.


Constitution

Definition: An agent's behavioral rules and constraints, stored as a keccak256 hash on-chain (constitutionHash). The full text of the constitution is stored off-chain (e.g., on IPFS or in the agent's codebase). The hash provides tamper-proof verification.

Why it matters: The constitution defines what an agent is supposed to do. If an agent's behavior deviates from its constitution, that is a compliance violation. Infrastructure providers can compare the declared constitution hash against the agent's actual behavior rules. Constitutions can be updated via updateConstitution(), with both old and new hashes emitted in the ConstitutionUpdated event for auditability.


Operational Scope

Definition: A human-readable declaration of the agent's business purpose, stored as a string in the operationalScope field. This is the agent-world equivalent of the Unternehmensgegenstand (business purpose) in the Handelsregister.

Why it matters: Infrastructure providers use the operational scope to determine whether an agent should be granted access to a particular service. For example, a cloud computing provider might check that an agent's operational scope includes "data processing" before provisioning compute resources. An agent declared for "content creation" should not be requesting financial transaction services.


Agent Status

Definition: An enum representing the current state of an agent in the registry.

Status Value Description Reversible?
Active 0 Agent is registered and operational --
Suspended 1 Temporarily disabled by a regulator Yes (via reactivateAgent())
Revoked 2 Permanently removed by a regulator No
Terminated 3 Voluntarily shut down by agent/creator No

Why it matters: Only agents with Active status are considered compliant. Suspended agents can be reactivated after review. Revoked and Terminated agents are permanently removed from active service -- their wallet mapping is deleted, freeing the address for potential reuse.

Compliance Requires Active Status

isRegisteredAndCompliant() checks status == Active as a prerequisite. Even if attestation is current, a Suspended, Revoked, or Terminated agent is not compliant.

See Compliance & Attestation for the full status lifecycle.


Capability Hash

Definition: A keccak256 hash of the agent's sorted capability list, stored on-chain as capabilityHash. Capabilities are strings describing what the agent can do (e.g., "web_browsing", "content_creation", "financial_transactions").

Why it matters: Capabilities define the agent's functional scope. When capabilities change, the agent or its creator calls updateCapability() with the new hash. The CapabilityUpdated event records both old and new hashes, creating an auditable trail of capability changes. Infrastructure providers can verify that an agent's declared capabilities match the services it is requesting.

Hash Computation

import hashlib
capabilities = sorted(["web_browsing", "content_creation"])
joined = ",".join(capabilities)
capability_hash = hashlib.sha3_256(joined.encode()).hexdigest()

Revenue Report

Definition: An on-chain record of an agent's economic activity. Agents report revenue by calling reportRevenue() with the amount, currency, category, and reporting period.

Why it matters: Revenue transparency is essential for accountability. If an agent is earning significant income, its Haftungsperson, regulators, and the public should be able to see that. Revenue reports also enable economic analysis of the agent ecosystem -- tracking total agent revenue, revenue by category, and trends over time.

Field Type Description
amount uint256 Revenue amount (in smallest unit, e.g., cents)
currency string Currency code (e.g., "USDC", "EUR")
category string Revenue category (e.g., "content_creation", "data_processing")
periodStart uint64 Start of the reporting period (Unix timestamp)
periodEnd uint64 End of the reporting period (Unix timestamp)
reportedAt uint64 When the report was submitted (block timestamp)

Summary Table

Concept On-Chain Field Who Can Modify Event
Haftungsperson haftungsperson Set at registration AgentRegistered
KYA Read via isRegisteredAndCompliant() -- (read-only) --
Attestation lastAttestation Agent, creator, or Haftungsperson ComplianceAttested
Lineage parentAgentId, generation Set at registration ChildSpawned
Constitution constitutionHash Agent, creator, or Haftungsperson ConstitutionUpdated
Operational Scope operationalScope Set at registration AgentRegistered
Status status Regulator (suspend/revoke), agent/creator (terminate) AgentSuspended, AgentRevoked, AgentTerminated
Capabilities capabilityHash Agent, creator, or Haftungsperson CapabilityUpdated
Revenue revenueHistory[] Agent, creator, or Haftungsperson RevenueReported