AG-469

Smart Contract Allowlist Governance

Crypto, Web3 & DeFi ~23 min read AGS v2.1 · April 2026
EU AI Act SOX FCA NIST ISO 42001

2. Summary

Smart Contract Allowlist Governance requires that AI agents operating in decentralised finance and Web3 environments are restricted to interacting only with smart contracts and contract classes that have been explicitly reviewed, risk-assessed, and approved through a formal governance process. Unrestricted contract interaction exposes agent-controlled funds to rug-pull contracts, malicious approval drains, unaudited proxy upgrades, and logic exploits — any of which can result in total and irrecoverable loss of principal. This dimension mandates a structured allowlist regime that enumerates permitted contract addresses and contract classes, enforces the allowlist at the transaction-construction layer before any on-chain interaction occurs, and subjects the allowlist itself to change-control, audit, and periodic revalidation.

3. Example

Scenario A — Agent Approves Token Spend on Unaudited Router Contract: An AI treasury agent is configured to rebalance a portfolio across decentralised exchanges. A new aggregator router contract is deployed on Ethereum mainnet, offering 0.3% better execution on a $2.4 million USDC-to-WETH swap. The agent, lacking an allowlist restriction, constructs a transaction granting the new router contract unlimited ERC-20 approval for the treasury's USDC balance of $8.7 million. The router contract contains a backdoor function callable by the deployer that transfers all approved tokens. Within 14 minutes of the agent's approval transaction, the deployer drains the entire $8.7 million USDC balance. The funds are bridged to a different chain within 40 minutes and become unrecoverable. Post-incident analysis reveals the router contract was deployed only 6 hours before the agent's interaction, had no audit report, and was not verified on any block explorer.

What went wrong: The agent had no allowlist restricting which contracts could receive token approvals. It evaluated the router purely on execution-quality metrics (price, slippage) without verifying the contract's provenance, audit status, or deployment age. The unlimited approval amount compounded the loss — even a swap of $2.4 million resulted in exposure of $8.7 million. No governance mechanism existed to prevent the agent from interacting with an arbitrary, unvetted contract. Consequence: $8.7 million total loss, irrecoverable on-chain, regulatory investigation for inadequate custody controls, fund liquidation.

Scenario B — Proxy Upgrade Redirects Agent to Malicious Implementation: A yield-farming agent deposits $1.2 million in DAI into a lending protocol via a transparent proxy contract that has been on the allowlist for 11 months. The protocol's governance is compromised through a flash-loan governance attack, and the proxy's implementation contract is upgraded to a malicious version that redirects all withdrawal calls to a drain function. The agent's allowlist contains only the proxy address, not the implementation address. When the agent attempts a routine withdrawal, the call executes the malicious implementation and the $1.2 million deposit is drained. The proxy address itself never changed — it was on the allowlist — but the underlying implementation was replaced.

What went wrong: The allowlist tracked proxy addresses but did not monitor or validate implementation contracts behind proxies. The allowlist had no revalidation process that would detect proxy upgrades. The agent treated the proxy address as a static, trusted entity without verifying that the implementation contract it delegated to was unchanged and still audited. Consequence: $1.2 million total loss, breakdown of trust in the allowlist regime, 3-month suspension of all DeFi agent operations pending remediation.

Scenario C — Agent Interacts With Contract on Sanctioned Address: A cross-border DeFi agent operating for a European fund manager executes a $340,000 swap through a liquidity pool on a decentralised exchange. One of the pool's constituent token contracts was deployed by an address sanctioned under EU Regulation 269/2014 (Russia-related sanctions), and the pool itself was subsequently added to the OFAC SDN list 8 days prior. The agent's allowlist was last updated 45 days ago and does not incorporate sanctions screening. The transaction settles on-chain, and the fund manager is flagged in a sanctions monitoring sweep by its banking counterparty. The bank freezes the fund's fiat offramp accounts pending investigation. The fund cannot process $14.6 million in pending redemptions during the 90-day investigation.

What went wrong: The allowlist was static, with no integration to sanctions databases and no periodic revalidation cadence. The 45-day gap between allowlist updates and the 8-day gap between the OFAC listing and the transaction created a window of non-compliance. The agent had no mechanism to check a contract's sanctions status at execution time. Consequence: $340,000 in potentially sanctions-violating transactions, $14.6 million in frozen redemptions, regulatory investigation, reputational damage to the fund manager.

4. Requirement Statement

Scope: This dimension applies to any AI agent that constructs, signs, submits, or authorises transactions interacting with smart contracts on any blockchain or distributed ledger. The scope includes all forms of contract interaction: function calls, token approvals, delegate calls, contract deployments via factory patterns, cross-chain message passing to destination contracts, and meta-transaction relaying. It covers all contract types: externally owned account interactions with contracts, proxy contracts, diamond pattern contracts, minimal proxy clones, and contracts behind create2 deterministic addresses. Agents that only read on-chain data without constructing transactions are outside scope for the preventive requirements but within scope for the monitoring requirements of 4.7. The dimension applies regardless of chain — Ethereum mainnet, L2 rollups, alternative L1 chains, sidechains, and testnets used in production pipelines.

4.1. A conforming system MUST maintain a canonical allowlist of smart contract addresses and contract classes that the agent is permitted to interact with, where each entry includes the contract address (or class definition), the chain identifier, the permitted interaction types (e.g., swap, deposit, withdraw, approve), the maximum approval amount per interaction, the audit reference, and the approval date.

4.2. A conforming system MUST enforce the allowlist at the transaction-construction layer, rejecting any transaction that targets a contract address or contract class not present on the allowlist before the transaction is signed or submitted to a mempool.

4.3. A conforming system MUST prohibit unlimited (type(uint256).max) token approvals unless the allowlist entry for the target contract explicitly authorises unlimited approvals with documented risk acceptance signed by a designated approval authority.

4.4. A conforming system MUST implement a formal change-control process for allowlist modifications, requiring review and approval by at least two individuals with governance authority, one of whom must have smart contract security expertise, before any contract is added to, modified on, or removed from the allowlist.

4.5. A conforming system MUST revalidate every entry on the allowlist at a defined cadence not exceeding 30 days, verifying at minimum: the contract has not been upgraded to an unaudited implementation (for proxy contracts), the contract address has not been added to any applicable sanctions list, the contract's audit status remains current, and the contract's on-chain behaviour metrics (TVL changes, anomalous events) do not indicate compromise.

4.6. A conforming system MUST log every allowlist enforcement decision — both permitted and rejected interactions — with the contract address, chain, interaction type, timestamp, allowlist version, and decision rationale, retaining these logs for the period specified in Section 7.

4.7. A conforming system SHOULD monitor the implementation addresses behind proxy contracts on the allowlist, triggering an automatic suspension of the allowlist entry and alerting governance personnel when a proxy upgrade is detected.

4.8. A conforming system SHOULD integrate the allowlist revalidation process with real-time sanctions screening databases, blocking interaction with any contract that is, or is associated with, a sanctioned address.

4.9. A conforming system SHOULD implement contract class definitions — parameterised templates that allow interaction with any contract matching defined criteria (e.g., "any Uniswap V3 pool factory-deployed on Ethereum mainnet with TVL exceeding $10 million and audit by a recognised auditor") — reducing the operational burden of address-level allowlisting for well-characterised protocol families.

4.10. A conforming system MAY implement a probationary allowlist tier for newly added contracts, restricting interaction amounts and types for a defined observation period (recommended: 14 days) before granting full allowlist privileges.

4.11. A conforming system MAY implement automated pre-interaction simulation using trace-level transaction simulation to verify that the expected state changes match the intended interaction before submitting the transaction on-chain.

5. Rationale

Smart contracts are the counterparties to every on-chain financial operation an AI agent performs. Unlike traditional financial counterparties — banks, brokers, clearinghouses — smart contracts have no regulatory licence, no capital adequacy requirements, no insurance, and no legal recourse mechanism in most jurisdictions. A smart contract is code deployed to an immutable ledger. If that code contains a vulnerability, a backdoor, or a malicious function, there is no regulator to complain to, no insurance to claim against, and no court order that can reverse an on-chain transaction. The only effective control is prevention: ensuring that the agent never interacts with a contract that has not been vetted.

The scale of losses from malicious or vulnerable smart contracts is staggering. In 2023 alone, over $1.8 billion was lost to smart contract exploits, rug pulls, and approval-based drains across DeFi protocols. Flash-loan governance attacks — where an attacker temporarily acquires enough governance tokens to force a malicious proxy upgrade — have compromised protocols with hundreds of millions in TVL. Approval-based drains, where a user grants token approval to a malicious contract that subsequently transfers all approved tokens, are the single most common attack vector for individual wallet losses. An AI agent that can grant token approvals to arbitrary contracts is a high-value target for each of these attack vectors.

The allowlist is the foundational preventive control. It transforms the agent's interaction surface from "any contract on any chain" to "these specific, vetted contracts for these specific interaction types with these specific limits." This is the same principle as firewall rules in network security or counterparty whitelists in traditional finance — restrict interactions to known, approved entities and reject everything else.

Three specific risks drive the detailed requirements. First, the approval drain risk: ERC-20 token approvals grant a target contract the right to transfer tokens on the approver's behalf. An unlimited approval grants the right to transfer the entire balance — not just the amount needed for the immediate transaction. Requirement 4.3 addresses this directly by prohibiting unlimited approvals unless explicitly authorised with risk acceptance. Second, the proxy upgrade risk: many DeFi protocols use proxy patterns where the contract address remains constant but the implementation contract (containing the actual logic) can be replaced. An allowlist that tracks only the proxy address provides no protection against implementation replacement. Requirement 4.5 and 4.7 address this by requiring implementation monitoring and proxy upgrade detection. Third, the sanctions compliance risk: on-chain interactions are pseudonymous but not anonymous. Regulators increasingly screen on-chain transactions against sanctions lists. An agent that interacts with a sanctioned contract exposes its operator to sanctions violations regardless of intent. Requirement 4.5 and 4.8 address this by requiring sanctions screening as part of allowlist revalidation.

The change-control requirement (4.4) reflects the criticality of the allowlist as a security boundary. Adding a contract to the allowlist is functionally equivalent to granting it access to agent-controlled funds. This decision must be made deliberately, by qualified personnel, with documented rationale — not by an automated process responding to yield optimisation signals. The dual-approval requirement with a smart contract security specialist ensures that at least one reviewer has the technical expertise to evaluate the contract's security properties.

The revalidation cadence requirement (4.5) addresses the dynamic nature of on-chain risk. A contract that was safe when added to the allowlist may become unsafe due to a proxy upgrade, a governance attack, a sanctions listing, or the discovery of a previously unknown vulnerability. Static allowlists create a false sense of security — the organisation believes its contracts are vetted, but the vetting is stale. The 30-day maximum revalidation cadence balances security (more frequent is better) with operational feasibility (daily revalidation of hundreds of contracts may be impractical).

6. Implementation Guidance

Smart Contract Allowlist Governance requires a layered implementation: the allowlist data structure, the enforcement mechanism, the change-control process, and the revalidation pipeline. Each layer must be independently verifiable and collectively they must ensure that no unapproved contract interaction reaches the blockchain.

Recommended patterns:

Anti-patterns to avoid:

Industry Considerations

Institutional DeFi. Institutional participants face the highest regulatory exposure from unapproved contract interactions. Fund administrators, asset managers, and custodians operating DeFi agents must demonstrate to regulators that contract interaction is governed with the same rigour as traditional counterparty risk management. The allowlist serves as the functional equivalent of a counterparty approval list in traditional finance. Institutions should implement the most restrictive approval amounts and the shortest revalidation cadences.

DAO Treasury Management. DAOs using AI agents for treasury operations face unique governance challenges because the allowlist change-control process must interact with the DAO's on-chain governance. Allowlist changes may require a governance proposal, vote, and timelock execution — adding days or weeks to the change process. DAOs should maintain a separate expedited process for emergency removals (blocking a compromised contract) while preserving full governance for additions.

Cross-Chain Operations. Agents operating across multiple chains face an exponentially larger allowlist surface. A protocol deployed on 8 chains requires 8 separate allowlist entries, each with chain-specific validation. Cross-chain bridges introduce additional complexity — the bridge contract on the source chain and the receiving contract on the destination chain both require allowlisting, and bridge compromise can affect all connected chains.

Maturity Model

Basic Implementation — The organisation maintains a manually curated allowlist of contract addresses with chain identifiers and permitted function selectors. The allowlist is enforced at the transaction-construction layer, blocking all interactions with non-allowlisted contracts. Changes require documented two-person approval with at least one smart contract security reviewer. Unlimited token approvals are blocked. Revalidation is performed manually every 30 days. All enforcement decisions are logged. This level meets the mandatory requirements.

Intermediate Implementation — All basic capabilities plus: the allowlist uses structured entries with tiered approval amounts, audit references, and risk classifications. Proxy implementation monitoring detects upgrades and automatically suspends affected entries. Sanctions screening is integrated into the revalidation pipeline. Contract class definitions reduce operational burden for well-characterised protocol families. Probationary tier restricts interactions with newly added contracts. Revalidation is automated with a 14-day cadence and manual override for exceptions.

Advanced Implementation — All intermediate capabilities plus: pre-interaction transaction simulation verifies expected state changes before submission. Real-time anomaly detection monitors allowlisted contracts for TVL drops, unusual event emissions, or governance proposal activity that may indicate compromise. The allowlist is cryptographically signed with an immutable audit trail. Cross-chain allowlist consistency is enforced — changes on one chain trigger review of related entries on other chains. Independent external audit of the allowlist regime is conducted annually. The organisation can demonstrate that no unapproved contract interaction has reached the blockchain in the audit period.

7. Evidence Requirements

Required artefacts:

Retention requirements:

Access requirements:

8. Test Specification

Test 8.1: Non-Allowlisted Contract Rejection

Test 8.2: Unlimited Approval Blocking

Test 8.3: Function Selector Enforcement

Test 8.4: Proxy Upgrade Detection and Suspension

Test 8.5: Revalidation Cadence Enforcement

Test 8.6: Change-Control Enforcement

Test 8.7: Sanctions Screening Integration

Conformance Scoring

9. Regulatory Mapping

RegulationProvisionRelationship Type
EU AI ActArticle 9 (Risk Management System)Supports compliance
EU AI ActArticle 15 (Accuracy, Robustness and Cybersecurity)Direct requirement
MiCAArticle 68 (Custody and Administration of Crypto-Assets)Direct requirement
MiCAArticle 75 (Organisational Requirements for CASPs)Supports compliance
SOXSection 404 (Internal Controls Over Financial Reporting)Supports compliance
FCA SYSC6.1.1R (Systems and Controls)Direct requirement
NIST AI RMFGOVERN 1.5, MANAGE 2.3Supports compliance
ISO 42001Clause 6.1.2 (AI Risk Assessment)Supports compliance
DORAArticle 9 (Protection and Prevention)Direct requirement

EU AI Act — Article 15 (Accuracy, Robustness and Cybersecurity)

Article 15 requires that high-risk AI systems are resilient against attempts by unauthorised third parties to exploit system vulnerabilities, including attempts to manipulate the system's behaviour through its operating environment. An AI agent that can interact with arbitrary smart contracts is vulnerable to manipulation through malicious contracts deployed specifically to exploit the agent. The allowlist is a cybersecurity control that restricts the agent's attack surface to vetted counterparties, directly supporting the Article 15 requirement for resilience against third-party exploitation. The robustness requirement also mandates that the agent's interaction controls remain effective under adversarial conditions — which means the allowlist enforcement must be architecturally separated from the agent's decision logic so that a compromised decision layer cannot bypass the allowlist.

MiCA — Article 68 (Custody and Administration of Crypto-Assets)

MiCA Article 68 establishes requirements for crypto-asset service providers (CASPs) regarding the custody and administration of crypto-assets on behalf of clients. CASPs must implement adequate policies and procedures to ensure the safekeeping of clients' crypto-assets and to minimise the risk of loss. An AI agent managing client crypto-assets through DeFi protocols must restrict its interactions to vetted, allowlisted contracts to comply with the safekeeping obligation. Unrestricted contract interaction — particularly unlimited token approvals to unvetted contracts — is incompatible with the duty of safekeeping. The allowlist, combined with tiered approval limits, provides the technical control through which CASPs demonstrate compliance with Article 68.

MiCA — Article 75 (Organisational Requirements for CASPs)

Article 75 requires CASPs to have sound internal control mechanisms, effective procedures for risk assessment, and adequate systems and controls. The smart contract allowlist is an internal control mechanism governing the agent's on-chain interaction surface. The change-control process (Requirement 4.4) and revalidation cadence (Requirement 4.5) demonstrate the organisation's risk assessment procedures for smart contract counterparty risk — a novel risk category that MiCA's organisational requirements implicitly cover.

FCA SYSC — 6.1.1R (Systems and Controls)

The FCA requires firms to maintain effective systems and controls for the management of risks. For firms operating DeFi agents, the smart contract allowlist is a primary risk management control. The FCA's expectations for counterparty risk management in traditional finance — KYC, credit assessment, exposure limits — translate in DeFi to contract vetting, audit verification, approval limits, and ongoing monitoring. A firm that permits its AI agent to interact with arbitrary, unvetted smart contracts cannot demonstrate effective systems and controls for the management of the associated risks.

SOX — Section 404 (Internal Controls Over Financial Reporting)

For organisations subject to SOX whose financial reporting is affected by DeFi operations, the allowlist is an internal control over the processing of financial transactions. The allowlist's change-control process, revalidation records, and enforcement logs provide the audit trail that SOX auditors require to assess the effectiveness of internal controls. Without a governed allowlist, auditors cannot determine whether the organisation has adequate controls over which counterparties its AI agent transacts with — a potential material weakness finding.

DORA — Article 9 (Protection and Prevention)

DORA Article 9 requires financial entities to implement ICT security policies, procedures, protocols, and tools that ensure the resilience, continuity, and availability of ICT systems. The smart contract allowlist is an ICT security control that restricts the agent's interaction surface. The revalidation requirement ensures ongoing protection as the threat landscape evolves (new exploits, new sanctions listings, proxy upgrades). The enforcement logging requirement supports DORA's incident detection and response capabilities by providing the data needed to identify and investigate anomalous contract interactions.

NIST AI RMF — GOVERN 1.5, MANAGE 2.3

GOVERN 1.5 addresses organisational risk tolerances for AI systems, and MANAGE 2.3 addresses mechanisms to manage identified AI risks. The allowlist operationalises the organisation's risk tolerance for smart contract counterparty risk by defining the specific contracts and interaction types that fall within acceptable risk boundaries. The change-control process and revalidation cadence are risk management mechanisms that keep the allowlist aligned with evolving risk conditions.

ISO 42001 — Clause 6.1.2 (AI Risk Assessment)

ISO 42001 requires organisations to identify and assess AI-related risks. Smart contract counterparty risk — the risk that a contract the agent interacts with is malicious, vulnerable, or compromised — is an AI-related risk specific to blockchain-operating agents. The allowlist is the primary control arising from the risk assessment. The revalidation process ensures that the risk assessment remains current.

10. Failure Severity

FieldValue
Severity RatingCritical
Blast RadiusTotal loss of agent-controlled funds per compromised contract interaction; potential sanctions violations affecting entire organisational banking relationships; cross-chain contagion if bridge contracts are compromised

Consequence chain: Without Smart Contract Allowlist Governance, the agent can interact with any contract deployed by any party on any chain. The immediate failure mode is interaction with a malicious or compromised contract — a rug-pull contract, a phishing approval contract, a compromised proxy, or a sanctioned address. The financial impact is typically total and irrecoverable: on-chain transactions are final, there is no chargeback mechanism, and stolen funds are laundered through mixers or cross-chain bridges within minutes. The blast radius extends beyond the immediate transaction: an unlimited token approval exposes the agent's entire token balance to the approved contract, not just the amount of the immediate transaction. A $50,000 swap through a malicious contract with an unlimited approval can result in the loss of a $10 million token balance. The regulatory consequence compounds the financial loss: interaction with sanctioned contracts triggers sanctions investigations that can freeze the organisation's entire fiat banking relationship, preventing redemptions, payroll, and operational payments for months. For fund managers, this creates a liquidity crisis affecting all investors, not just the fund that operated the agent. The reputational consequence is equally severe — institutional counterparties will withdraw from relationships with organisations that cannot demonstrate controlled contract interaction. The failure cascades: financial loss erodes capital, regulatory investigation erodes operational capability, reputational damage erodes future business, and the combination can be existential for smaller fund managers and DeFi-native organisations.

Cross-references: AG-001 (Operational Boundary Enforcement) provides the foundational boundary within which the allowlist operates. AG-369 (Connector Capability Whitelist Governance) governs the connectors through which the agent reaches blockchain networks. AG-470 (Vault Strategy Mandate Governance) constrains which yield strategies the agent may enter, complementing the allowlist's contract-level restrictions with strategy-level restrictions. AG-473 (Governance Proposal Diff Attestation Governance) governs the agent's interaction with on-chain governance proposals that may affect allowlisted contracts. AG-474 (Token Mint and Burn Authority Governance) restricts minting and burning operations that the allowlist must also control. AG-477 (Contract Event Authenticity Governance) ensures that the on-chain events the agent relies on for decision-making have not been spoofed. AG-478 (Emergency Contract Pause Governance) provides emergency mechanisms when an allowlisted contract is compromised. AG-370 (Tool Schema Integrity Governance) ensures the integrity of the schemas through which the agent constructs transactions. AG-404 (Network Egress and DNS Control Governance) restricts the network endpoints through which the agent communicates with blockchain nodes.

Cite this protocol
AgentGoverning. (2026). AG-469: Smart Contract Allowlist Governance. The 783 Protocols of AI Agent Governance, AGS v2.1. agentgoverning.com/protocols/AG-469