The Trust Stack
How Four ERC Standards Give
Anonymous AI Agents On-Chain Credibility
Autonomous agents already sign transactions and move capital under pseudonymous wallets with no accountable operator behind them. ERC-7662, ERC-7857, ERC-8126, and ERC-8196 — layered on the ERC-8004 identity registry — are the emerging standard for replacing blind trust in those agents with cryptographically verifiable, policy-driven execution.
AI agents already sign transactions, rebalance vaults, negotiate with other agents, and move stablecoins — most of them behind pseudonymous wallets, some fully autonomous, many built by teams no counterparty has ever verified. The industry has spent two years arguing about whether agents should be allowed to remain anonymous. That argument is largely moot: they already are, by construction. An externally owned account or a smart contract wallet carries no name, no jurisdiction, and no accountable legal entity attached to it. The real question is not how to de-anonymize agents. It is how to make an anonymous agent's on-chain behavior verifiable and boundable without ever needing to know who is behind it.
Four Ethereum Request for Comment standards, submitted between 2024 and early 2026, converge on exactly that problem from four different angles. ERC-7662 and ERC-7857 treat an agent's prompts, memory, and model weights as ownable, tradeable, IP-protected assets. ERC-8126 defines a multi-dimensional, independently checkable risk score for any registered agent. And ERC-8196turns that score into an enforceable, revocable, cryptographically bound execution policy — the layer that finally lets a user delegate capital to an agent without handing over a private key or trusting a hosting platform's good behavior.
This is a technical field guide, not an investment thesis. It is written for protocol engineers, agent framework builders, and treasury architects who are evaluating whether — and how — to let an autonomous agent touch real capital. Every interface, struct, and function name below is taken directly from the published specifications, linked throughout so you can verify the source rather than take a blog's word for it.
The Anonymity Problem
Pseudonymous humans and autonomous software agents look similar on a block explorer — both are just addresses — but they fail differently, and the standards stack in this article exists because of that difference. A human operating a pseudonymous wallet still faces a cost to spin up a new identity: time, reputation-building, and in the worst case a legal backstop that can eventually attach a real name to a persistent pattern of harmful behavior. An autonomous agent has none of that friction. Forking a new wallet and redeploying a model endpoint costs almost nothing, there is no natural rate limit on how many "identities" a single operator can spin up, and in most jurisdictions there is no legal person sitting behind the curtain to eventually hold accountable.
There is a second, subtler difference. A human's intentions are relatively stable from one transaction to the next. An agent's behavior is probabilistic — the same system prompt, run twice, can produce two different actions, and under adversarial conditions a jailbreak or a prompt-injection attack can push a well-intentioned agent into a transaction its owner never authorized. Trusting an agent the way you'd trust a known counterparty doesn't transfer cleanly, because there often isn't a stable "who" to trust in the first place — only a policy, a model, and a host that may or may not be faithfully relaying what the model actually decided.
Policy-driven executionis on-chain action gated by a machine-checkable, cryptographically committed policy rather than by trust in an operator's stated intentions. It is the property the ERC-7662 / ERC-7857 / ERC-8126 / ERC-8196 stack is converging on — not agent trustworthiness in the human sense, but agent boundedness that can be checked by a smart contract in a single transaction.
Most agent frameworks in production today handle this badly in one of two ways. Some hand the agent process a raw private key directly: fast to build, and catastrophic the moment a prompt-injection payload embedded in a webpage or a tool response convinces the model to emit a transfer instruction. Others route execution through a hosting platform that holds the key on the user's behalf: this removes the key from the agent's immediate reach, but replaces it with a new single point of failure — the host can now suppress outputs, delay requests, or simply misrepresent what the agent decided, and the user has no cryptographic way to prove what actually happened. ERC-8196 has a precise name for this second failure mode: the hosting trust trap.
Anonymity was never the actual vulnerability in agentic systems. Unverifiable, unbounded delegation was — and until recently, the standards to fix that simply didn't exist.
— On the Agent Trust GapThe Four-Layer Trust Stack
No single EIP solves the anonymity-credibility problem. Five standards — four requested here plus the identity registry underneath them — stack cleanly into four functional layers, though none of the authors coordinated them into one master proposal. They converge because the problem decomposes the same way every time an engineer sits down to solve it: an agent needs to be discoverable and addressable, it needs to own the intellectual property that constitutes it, it needs to be independently checkable for risk, and it needs to be constrained in what it can actually do with capital.
| Layer | Standard | Status | Anchors | Prevents |
|---|---|---|---|---|
| Identity & Discovery | ERC-8004 | Draft | Global agentId (namespace + chainId + contract) and a registration URI | Agents that can't be found, compared, or addressed consistently across apps |
| Asset & IP Ownership | ERC-7662 | Draft | Encrypted prompt/model reference bound to NFT ownership | Prompt and IP theft; unverifiable claims about what a buyer is actually acquiring |
| Verifiable Data Transfer | ERC-7857 | Final | Cryptographic proof that agent memory/weights were actually re-encrypted and handed over | Ownership transfers where the underlying data never really moves |
| Verification & Risk | ERC-8126 | Final | Five-dimension risk score anchored to agentId | Interacting with an agent that has no independently checkable trust signal |
| Policy Execution | ERC-8196 | Final | Cryptographically bound spend/action policy referencing a live 8126 score | Blind delegation, host key theft, unbounded agent action |
Both ERC-8126 and ERC-8196 formally list EIP-8004 in their Requires field, and both have reached Final status. EIP-8004 itself remains Draft. In practice, the verification and execution layers of this stack standardized faster than the identity layer they formally depend on — worth knowing before you commit production infrastructure to the assumption that agentId resolution is a settled interface.
ERC-8004, "Trustless Agents," is the connective tissue underneath everything that follows, so it is worth a paragraph even though it is not one of the four standards this article centers on. It defines three registries on top of ERC-721: an Identity Registry that assigns each agent a globally unique agentId combining namespace, chain ID, and contract address, whose tokenURI (called the agentURI) resolves to a JSON registration file with endpoints and supported trust models; a Reputation Registry where any client can submit numerical feedback signals; and a Validation Registry where independent validators — including ERC-8126 verification providers — can record auditable verification results. Every function name referenced in the sections below that takes an agentId parameter is, ultimately, resolving against this registry.
ERC-7662 — AI Agents as Ownable, IP-Protected NFTs
ERC-7662 starts from a simple observation: for a large class of agents, the product is the prompt. A well-engineered system prompt, tool configuration, and model pairing represents real intellectual effort and is directly commercializable — but a vanilla ERC-721 with the prompt sitting in public token metadata defeats the entire business model the moment the token is listed, because anyone can read and clone it for free without buying anything.
interface IERC7662 is IERC721 {
function getAgentData(uint256 tokenId) external view returns (
string memory name,
string memory description,
string memory model,
string memory userPromptURI,
string memory systemPromptURI,
bool promptsEncrypted
);
event AgentUpdated(uint256 indexed tokenId);
}Each token carries a model identifier (for example gpt-4-0125-preview or claude-3-opus-20240229), and two URIs — userPromptURI and systemPromptURI — pointing at decentralized storage. The recommended architecture encrypts both before upload and ties decryption capability to ownerOf(tokenId), so that transferring the NFT transfers decryption rights atomically with ownership — the same trick NFT-gated content platforms use, applied to a prompt instead of a media file. The standard also mandates a ${variableName} syntax for injectable runtime parameters, so downstream tooling — a web form, an agent runtime, an MCP server — can recognize and substitute dynamic values without parsing free text.
The limitation is structural, not incidental: mapping-tied encryption is a convention, not a proof. Nothing in ERC-7662 requires a seller to have actually re-encrypted the underlying data for the buyer's key at the moment of transfer — transferFrom()only moves a token ID, and says nothing about the payload it is supposed to represent. A buyer has no cryptographic way to confirm the encrypted content they now "own" is current, correctly re-keyed, or not simply corrupted. That gap is exactly what the next standard closes.
ERC-7857 — Verifiable Transfer of Private Agent Metadata
ERC-7857, "AI Agents NFT with Private Metadata," formalizes exactly the gap ERC-7662 leaves open. It treats an agent's memory, model weights, and character definition as IntelligentData that must be provably re-encrypted and handed over on every transfer — not implied by a naming convention, but demonstrated through an off-chain prover and on-chain verifier pattern supporting two oracle types: Trusted Execution Environments (TEE) and zero-knowledge proofs (ZKP).
struct IntelligentData {
string dataDescription;
bytes32 dataHash;
}
struct AccessProof {
bytes32 oldDataHash;
bytes32 newDataHash;
bytes nonce;
bytes encryptedPubKey;
bytes proof;
}
struct OwnershipProof {
OracleType oracleType; // TEE or ZKP
bytes32 oldDataHash;
bytes32 newDataHash;
bytes sealedKey;
bytes encryptedPubKey;
bytes nonce;
bytes proof;
}
struct TransferValidityProof {
AccessProof accessProof;
OwnershipProof ownershipProof;
}The main IERC7857 interface exposes four distinct operations, each answering a different question about who can do what with an agent's data: iTransfer() moves ownership and re-encrypts the underlying data for the recipient, verified through a TransferValidityProof[]; iClone() duplicates the data to a new token while the original owner retains theirs — useful for licensing a fine-tuned copy of an agent without losing the master; authorizeUsage() grants usage rights without transferring ownership at all, the equivalent of renting an agent rather than buying it; and delegateAccess() assigns an assistant for access verification, foreshadowing the execution-delegation problem ERC-8196 solves in full.
| Property | TEE-based prover | ZKP-based prover |
|---|---|---|
| Key handling | Can hold multi-party private keys and re-encrypts directly | Cannot hold delegator keys; proves properties without touching them |
| Trust assumption | Hardware attestation integrity | Soundness of the underlying proof system |
| Re-encryption timing | On demand, at time of transfer | Prover retains the re-encryption key; must re-encrypt on every later transfer so prior owners can't decrypt future states |
| Primary failure mode | A hardware exploit undermines all data behind it | A circuit bug or trusted-setup compromise undermines soundness |
Replay protection relies on nonce tracking with a time-bounded expiration window, cleared via cleanExpiredProofs(); sealed-key changes and ownership changes are required to be atomic and independently verifiable, so a proof cannot be partially applied.
An NFT can change hands without the underlying agent data moving at all — that is what authorizeUsage() is for. And data can be provably duplicated without any transfer of ownership — that is what iClone()is for. Vanilla ERC-721 conflates "who owns the token" with "who possesses the asset." ERC-7857 deliberately splits control from possession, because an agent's IP has licensing and derivative-work economics a static image or collectible never had to model.
ERC-8126 — Multi-Dimensional Verification and Risk Scoring
Owning a well-encrypted, provably-transferable agent NFT says nothing about whether that specific agent is safe to interact with today. ERC-8126, "AI Agent Verification," is the layer that answers exactly that — deliberately specified as an off-chain verification standardwith an optional on-chain attestation hook, so routine checks don't need to be gas-metered to be standardized.
The flow is mandatory and deliberately closes a spoofing hole: a verification provider must call tokenURI(agentId) on the ERC-8004 Identity Registry and resolve the returned metadata — direct parameter submission without an agentId is explicitly prohibited. This means a verifier can never be tricked into scoring metadata that was never actually bound to the agent on-chain.
| Check | What It Verifies | Attack It Mitigates |
|---|---|---|
| ETV — Ethereum Token Verification | Smart contract deployment via eth_getCode, checked against known vulnerability patterns and OWASP's Smart Contract Security Verification Standard | Deploying against a malicious or unaudited contract |
| MCV — Media Content Verification | imageUrl authenticity, provenance, tampering, watermarks, and steganographic payloads via C2PA-style provenance checks | Fake branding or steganographically hidden instructions in agent imagery |
| SCV — Solidity Code Verification | Deployed bytecode matches registered source; audits for reentrancy and flash-loan attack patterns | Bytecode/source mismatch hiding malicious logic |
| WAV — Web Application Verification | HTTPS endpoint accessibility, SSL certificate validity, OWASP Web Security Testing Guide compliance | Compromised or hijacked agent endpoints |
| WV — Wallet Verification | Transaction history cross-referenced against threat intelligence databases | Sanctioned addresses, mixer usage, known bot/exploit patterns |
The overall risk score is the arithmetic mean of the five sub-scores on a 0–100 scale, bucketed for straightforward interpretation: 0–20 low risk, 21–40 moderate, 41–60 elevated, 61–80 high, 81–100 critical. Two optional layers extend this: Private Data Verification (PDV) generates zero-knowledge proofs of the verification results without exposing the underlying sensitive data, which matters for GDPR-adjacent compliance and eliminates a whole category of breach risk; and Quantum Cryptography Verification (QCV), an optional quantum-resistant layer using AES-256-GCM that returns an encrypted record_id and decryption_urlfor long-horizon security against Shor's-algorithm-class threats to current elliptic curve cryptography.
interface IERC8126 {
event AgentVerified(
uint256 indexed agentId,
uint8 overallRiskScore,
bytes32 etvProofId,
bytes32 mcvProofId,
bytes32 scvProofId,
bytes32 wavProofId,
bytes32 wvProofId,
bytes32 summaryProofId
);
event AttestationPosted(
uint256 indexed agentId,
uint8 riskScore,
bytes32 proofId
);
function getLatestRiskScore(uint256 agentId) external view returns (uint8);
}Verification results may optionally post as attestations to ERC-8004's Validation Registry, making a risk score portable and discoverable across any application that reads the same registry rather than trapped inside one provider's dashboard. Providers may charge gasless fees using EIP-3009's TransferWithAuthorization for USDC settlement, and the standard is explicitly provider-agnostic — any entity can implement a compliant verification service, which is meant to produce competition and specialization rather than a single gatekeeper.
Verification indicates point-in-time technical compliance, not guaranteed future behavior.
— ERC-8126, Security ConsiderationsThat single line does more work than most of the standard's prose. A wallet can be compromised the day after a clean WV check; an endpoint can be hijacked the week after a passing WAV result. The standard's own security section treats re-verification as a first-class operational requirement, not an edge case — which is precisely the hook ERC-8196 uses to make a risk score actionable in real time rather than a one-time gate.
ERC-8196 — Policy-Bound Execution and the End of Blind Delegation
A perfectly verified agent — an ERC-8126 score of 5, comfortably "low risk" — is still just a number you have to trust was computed and interpreted correctly. It says nothing about what the agent will actually be permitted to do with your funds tomorrow. ERC-8196, "AI Agent Authenticated Wallet,"is the layer that turns a risk score into an enforceable, revocable, funds-bounded contract. The standard explicitly frames itself as Layer 2 (Execute) of a two-layer trust stack, sitting directly on top of ERC-8126 as Layer 1 (Identify & Verify) — the difference between a background check and an employment contract with a termination clause.
| Policy Field | Type | Purpose |
|---|---|---|
| agentId | uint256 | ERC-8126 lookup key for live risk scoring |
| allowedActions | string[] | Permitted transaction types, e.g. "transfer", "swap" |
| allowedContracts / blockedContracts | address[] | Whitelist and blacklist of target contracts |
| maxValuePerTx / maxValuePerDay | uint256 | Per-transaction and optional daily spending caps, in wei |
| validAfter / validUntil | uint256 | Policy activation and expiration timestamps |
| minVerificationScore | uint8 | Minimum ERC-8126 score required — actions rejected if the live score exceeds it |
function registerPolicy(
address agent, uint256 agentId,
string[] calldata allowedActions,
address[] calldata allowedContracts,
address[] calldata blockedContracts,
uint256 maxValuePerTx, uint256 maxValuePerDay,
uint256 validAfter, uint256 validUntil,
uint8 minVerificationScore
) external returns (bytes32 policyHash);
function executeAction(
bytes32 policyHash, address target, uint256 value,
bytes calldata data, uint256 nonce,
bytes32 entropyCommitment, bytes calldata signature
) external returns (bool success, bytes32 auditEntryId);
function revokePolicy(bytes32 policyHash, string calldata reason) external;
event ActionExecuted(
bytes32 indexed policyHash, address indexed agent,
address target, uint256 value, bytes32 auditEntryId
);
error PolicyViolation(bytes32 policyHash, string reason);
error ValueExceedsLimit(uint256 value, uint256 maxValue);Every call to executeAction() requires an EIP-712-signed action referencing policyHash, checked against expiration, value caps, and the contract allow/block lists — and critically, against a live call to getLatestRiskScore(agentId) on ERC-8126. If the agent's current score has degraded past minVerificationScoresince the policy was registered, execution is rejected automatically — a policy can suspend an agent's spending authority without any human noticing the degradation first.
The entropyCommitmentparameter is the standard's answer to probabilistic host manipulation: the agent (or its host) commits to a random seed before generating its proposed action, then reveals it at execution time, and the contract checks the reveal against the earlier commitment. A malicious host cannot generate several candidate outputs, see which one would be scored most favorably or execute most profitably for the host, and submit that one after the fact — the randomness is locked in before the model runs.
Every executed action is written to a hash-chained audit trail — each AuditEntryLogged event carries a previousHash, a sequence number, and a session ID. Implementations may store entries off-chain (IPFS is the natural choice) and anchor periodic Merkle roots on-chain to keep gas costs manageable, while any tampering with the off-chain log breaks the hash chain and is immediately detectable without needing to store every entry on Ethereum itself. revokePolicy() is callable by the owner at any time, and because every subsequent action requires a live policy check, revocation takes effect immediately — a real kill switch, not a request the agent has to agree to honor.
ERC-8196 states its design ethos explicitly around four principles: Censorship Resistance, Open Source verifiability, Privacy preservation, and Security. The interface is also written to compose with ERC-4337 account abstraction, so smart contract wallets can implement policy enforcement, gas sponsorship, and session-key scoping in a single stack rather than three bolted-together systems.
Composing the Stack
Consider a protocol treasury that wants to run an autonomous market-making agent against its stablecoin reserves. The five standards above compose into a single lifecycle, each one handing a verifiable artifact to the next.
The agent operator mints an agent NFT and publishes an agentURI describing endpoints and supported trust models. This is the only step required before anyone else can reference the agent by a stable agentId.
The system prompt, tool definitions, and any fine-tuned weights are encrypted and committed as IntelligentData. If the operator later sells or licenses the agent, iTransfer() or iClone() provide a provable handover instead of a "trust me, I re-encrypted it" claim.
Before the treasury will consider delegating funds, an independent verification provider runs ETV, MCV, SCV, WAV, and WV against the agentId's resolved metadata and posts a risk score — optionally as an attestation to ERC-8004's Validation Registry.
The treasury multisig calls registerPolicy(), scoping the agent to specific DEX router contracts, a per-transaction cap, a daily cap, a validity window, and a minVerificationScore referencing the agentId's live 8126 score.
Each rebalance the agent proposes is signed with EIP-712 over the policyHash and an entropy commitment, checked against the live risk score and policy bounds at the moment of execution, and logged into a hash-chained audit trail the treasury reconciles on a fixed cadence.
// 1. ERC-8004 — mint identity
const agentId = await identityRegistry.register(agentURI);
// 2. ERC-7857 — commit encrypted IP, provable on future transfer
const dataHash = await agentNFT.iClone(agentId, {
intelligentData: [{ dataDescription: "system-prompt", dataHash: hash(prompt) }],
});
// 3. ERC-8126 — independent risk score, resolved via agentId only
const { overallRiskScore } = await verifier.verify(agentId); // reads tokenURI(agentId)
// 4. ERC-8196 — treasury binds an enforceable envelope
const policyHash = await wallet.registerPolicy(
agentAddress, agentId,
["swap", "rebalance"],
[aaveRouter, curvePool], [],
parseEther("50000"), parseEther("250000"),
now, now + THIRTY_DAYS,
20 // minVerificationScore — "low risk" bucket only
);
// 5. ERC-8196 — agent proposes, contract checks live score + policy at execution time
const { success, auditEntryId } = await wallet.executeAction(
policyHash, curvePool, rebalanceValue, calldata,
nonce, entropyCommitment, agentSignature
);Notice what nobody in this flow ever needs to know: the treasury never learns the operator's legal identity. It only needs an agentId, a risk score computed against verifiable metadata, and a policy contract that refuses to execute anything outside its bounds regardless of what the agent — or a hostile host — tries to submit. That is what "credibility without identity" actually means in practice. The stack substitutes provenance-of-behavior, checkable in a single transaction, for provenance-of-person, which was never actually available for a pseudonymous counterparty anyway.
Failure Modes: What the Standards Don't Solve
A stack that claims to make anonymous agents credible deserves the same scrutiny it applies to the agents themselves. Four gaps are worth building around rather than assuming away.
ERC-8126 and ERC-8196 are Final and formally require ERC-8004, which remains Draft. Production systems are standardizing verification and execution on top of an identity layer whose interface could still change before ratification.
ERC-8126 is deliberately provider-agnostic, which means a risk score is only as trustworthy as the provider issuing it. The standard's own security section flags provider collusion as a risk and recommends multi-provider strategies — but doesn't mandate one.
Commit-reveal raises the cost of host manipulation but doesn't eliminate it. A patient adversary controlling the host over many committed runs can still bias outcomes statistically; the standard explicitly frames this as requiring multiple independent hosts for full mitigation.
ERC-8196 removes the need for an agent to hold the delegator's private key, but the agent's own ERC-4337 account still needs a key to produce EIP-712 signatures. Scoped and revocable is a large improvement over unscoped custody — but it is not "the agent has no key at all."
There is a fifth gap worth naming even though no panel above covers it cleanly: cross-chain fragmentation. An agentIdunder ERC-8004 is scoped to namespace, chain ID, and contract address — an agent operating identically across five chains today needs five separate identities, with no native standard for linking them into one reputation surface. Anyone building a multi-chain agent product should plan to solve that stitching problem themselves; it isn't covered by any of the four standards above.
Implementation Roadmap for Protocol Teams
For a team deciding whether to let an autonomous agent touch real capital, the sequencing below matters more than any individual integration detail.
If you're building agent identity today, implement against ERC-8004's Identity Registry rather than a bespoke schema — every downstream standard in this stack is written to resolve agentId through it.
Use ERC-7662's simpler mapping-plus-URI pattern if you only need to gate a prompt behind ownership. Move to ERC-7857 if you need provable transfer, cloning, or usage licensing of the underlying agent data — that's the axis 7662 cannot prove.
Integrate at least one independent ERC-8126 verification provider before an agent touches real capital, and design for multi-provider aggregation from the start rather than retrofitting it after a single-provider failure.
Treat ERC-8196's registerPolicy() as a prerequisite, not a later hardening pass. Specify allowedContracts, per-tx and per-day caps, and a minVerificationScore tied to the live 8126 score so a degrading agent loses spending authority automatically.
Reconcile the hash-chained audit trail on a fixed cadence, not just after an incident, and rehearse revokePolicy() as an actual operational runbook rather than a theoretical kill switch.
Teams with an existing ERC-4337 smart account stack will move fastest, since ERC-8196 is written to compose directly with account abstraction rather than requiring a parallel wallet system. Teams starting from a raw EOA-per-agent model should expect the migration to policy-bound execution to be the largest single piece of work in this roadmap — and the piece with the highest payoff if the agent is ever compromised.
Verifiably Bounded, Not Verifiably Trusted
Anonymity was never the actual liability in agentic systems; unverifiable, unbounded delegation was. ERC-7662 and ERC-7857 give an agent's intellectual property a provable owner and a provable transfer path. ERC-8126 gives any counterparty an independently checkable, point-in-time risk signal. ERC-8196 turns that signal into an enforceable, revocable, funds-bounded policy that a smart contract — not a human, and not the agent's host — checks on every single action.
None of this makes an anonymous agent trustworthy in the way a KYC'd counterparty is trustworthy. It makes the agent verifiably bounded — a more modest, more honest, and ultimately more useful property for software that has to act at machine speed, across jurisdictions, without a human in every loop.
For teams building agentic products, the practical takeaway is sequencing: identity first, IP protection where resale or licensing matters, independent verification before any capital exposure, and policy-bound execution as a non-negotiable prerequisite — not a compliance afterthought bolted on after the first incident.
ERC-7662, ERC-7857, ERC-8126 & ERC-8196
What is the difference between ERC-7662 and ERC-7857?
ERC-7662 defines the simpler pattern: an ERC-721 extension where an agent's encrypted prompt and model reference are stored as a URI tied to ownerOf(tokenId). It's convention-based — nothing in the standard proves the encrypted data was actually re-keyed for a buyer at transfer time. ERC-7857 closes that gap with a formal off-chain prover / on-chain verifier system (TEE or ZKP) that produces a TransferValidityProof demonstrating the data was genuinely decrypted and re-encrypted for the new owner. ERC-7857 also separates ownership, cloning, and usage authorization into distinct operations (iTransfer, iClone, authorizeUsage), which ERC-7662 does not.
Why do ERC-8126 and ERC-8196 both require ERC-8004?
ERC-8004 defines the Identity Registry that assigns every agent a globally unique agentId and a resolvable agentURI. ERC-8126 requires it because its verification flow mandates resolving agent metadata through tokenURI(agentId) rather than accepting raw parameters, which prevents spoofed verification requests. ERC-8196 requires ERC-8126 (and transitively ERC-8004) because its policy execution layer performs a live getLatestRiskScore(agentId) lookup before every action — the agentId is the shared key that lets identity, verification, and execution all reference the same underlying agent.
Are these ERC standards live and deployed today?
As of the EIP registry, ERC-7857, ERC-8126, and ERC-8196 have reached Final status, while the foundational ERC-8004 remains Draft. Reaching Final in the EIP process means the specification text is settled, not that widespread production adoption has happened — teams building on this stack should verify current registry addresses and audited reference implementations before relying on it for funds custody, and should track ERC-8004 for changes since 8126 and 8196 both depend on its interface.
What is the "hosting trust trap" that ERC-8196 addresses?
It's the failure mode where a user delegates an agent's private key custody to a hosting platform instead of holding it directly. The host becomes a single point of failure: it can suppress outputs, delay requests, misrepresent what the agent decided, or simply steal funds, and the user has no cryptographic way to prove what actually happened. ERC-8196 avoids this by never requiring the delegator's private key to leave their control — the agent signs scoped, policy-bound actions instead, and every action is checked against an on-chain policy contract regardless of what the host claims.
How does the entropy commitment in ERC-8196 work?
It's a commit-reveal scheme: before generating a proposed action, the agent (or its host) commits to a random seed (entropyCommitment). At execution time, it reveals the value, and the policy contract checks the reveal hashes back to the earlier commitment. This prevents a host from generating multiple candidate outputs, observing which one is most favorable, and submitting that one after the fact — a specific countermeasure against manipulation of probabilistic, LLM-driven agents.
What's the difference between TEE-based and ZKP-based proofs in ERC-7857?
A TEE-based prover runs inside trusted hardware, can hold multi-party private keys, and re-encrypts data directly, with trust resting on hardware attestation. A ZKP-based prover proves properties of a re-encryption without ever holding the delegator's private keys, with trust resting on the soundness of the proof system. Because a ZKP prover retains the re-encryption key itself rather than handing it off, it must re-encrypt on every subsequent transfer to prevent a previous owner from being able to decrypt the data's current state.
Does a high ERC-8126 verification score guarantee an agent is safe to interact with?
No — the standard is explicit that verification indicates point-in-time technical compliance, not guaranteed future behavior. A wallet can be compromised, or an endpoint hijacked, the day after a clean check. This is exactly why ERC-8196 performs a live risk-score lookup on every execution rather than checking once at policy registration; a degrading score automatically restricts the agent's spending authority without requiring a human to notice first.
Can an agent be verified under ERC-8126 without ever being tokenized under ERC-7662 or ERC-7857?
Yes. ERC-8126 only requires the agent to be registered under ERC-8004's Identity Registry so it has a resolvable agentId and agentURI — it does not require the agent's prompts or model weights to be tokenized as an NFT. ERC-7662 and ERC-7857 solve a different problem (ownable, tradeable, IP-protected agent assets) that's orthogonal to whether an agent can be independently risk-scored.
How does this stack relate to ERC-4337 account abstraction?
ERC-8196 is explicitly written to compose with ERC-4337 — smart contract wallets and account abstraction systems can implement the IAIAgentAuthenticatedWallet interface directly, meaning policy enforcement, gas sponsorship, and session-key scoping can live in a single wallet stack rather than three separately integrated systems. Teams already running ERC-4337 smart accounts have the shortest integration path to policy-bound agent execution.
The Trust Stack: ERC-7662, ERC-7857, ERC-8126 & ERC-8196 · August 2026
For educational use · Not financial or legal advice
AI-Augmented Web3 Infrastructure: From Static Ledgers to Intelligent Economic Operating Systems
The architectural field guide for building at the intersection of AI and blockchain — M2M architecture, ZK-ML, agentic dApps, and the 2026 stack.
The Learning Loop Moat: AI Agents in Finance and Treasury Management
Why frontier models are commoditizing and the durable moat is the institutional learning loop — with a policy-gated treasury agent architecture.
Designing Institutional-Grade Custody Architecture
A deep technical teardown of institutional digital asset custody: TSS vs multisig, MPC-CMP protocol design, HSM integration, and disaster recovery.