Question: where would a dated pre-payment fact fit, a caveat enforcer or the client?
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript, solidity
- Domain
- blockchain
Research direction
This is a design question, not a patch. Read the delegation framework docs on caveat enforcers and redemption, then compare the client hook at bin/x402-gate-hook.mjs in AgenticFinanceGraph/agentic-finance-graph-mcp with the enforcer's amount and target bounds. Check the payee-facts definitions at /def/payee.facts.v2 and the dated EIP7702StatelessDeleGator finding; done is a maintainer answer on where dated external facts belong, not code changes.
Written by the indexing model from the issue text.
Description
A measured fact first, then one question.
We run Agentic Finance Graph, a read-only ledger of what ERC-8004 agents on Base do with money, read from the chain. Of the 2,029 EIP-7702-delegated wallets bound to ranked agents in our ledger (ranked = a payment seen from the bound wallet), 556 point at EIP7702StatelessDeleGator at 0x63c0c19a282a1b52b07dd5a65b58948a07dae32b (Sourcify match), the second-largest family after Coinbase's EIP7702Proxy (683). Measured 30 October 2026, 14:17 UTC, from eth_getCode on each wallet; a salted random sample of 200 re-read through a public Base node at block 53288713 agreed with our table on 181 of 185 readable wallets, and a coverage correction the same day (our table had held an implementation for only 930 of those wallets until the rest were re-read through a public node) is dated in our register as cp-2026-10-30-7702-impl-backfill. The dated finding with the full list is in our findings feed (kind delegation_families, agenticfinancegraph.com/api/findings), and the implementation set with names is published as a wallet set (agenticfinancegraph.com/api/wallet-sets). Names identify contracts, not the agents on them; nothing here is a trust decision.
The question. Before one of these agents pays, our server can return dated facts about the payee in one call (is it a paying agent, who else pays it, drain or address-poisoning history, the usual size of payments into it; definitions at agenticfinancegraph.com/def/payee.facts.v2). In the delegation model, where does an external, dated fact belong: inside a caveat enforcer that fetches it (with the staleness and availability problems that brings on chain), or in the delegate's client before it redeems the delegation, with the enforcer only bounding amounts and targets? We built the client-side version as an onBeforePaymentCreation hook for x402 clients (bin/x402-gate-hook.mjs in AgenticFinanceGraph/agentic-finance-graph-mcp) and would rather follow the framework's intent than guess it.
If a different venue is better for this kind of question, point us to it and we will close this.
- Dominant language
- Solidity
- Stars
- 230
- Forks
- 122
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MetaMask/delegation-framework
-
Difficulty 4/5 3-5 days Newbie friendliness 53/100
MetaMask/delegation-framework#216 ·
-
MultiSigDeleGator: support smart contract accounts as signers (ERC-1271)Possibly taken @Muhammad-Altabba claimed this 30 days ago. Open
Difficulty 5/5 Over a week Newbie friendliness 18/100
MetaMask/delegation-framework#213 ·
-
ExactCalldataBatchEnforcer should pin terms target and valuePossibly taken @SashaMIT claimed this 95 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 74/100
MetaMask/delegation-framework#198 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
MetaMask/delegation-framework#192 · 1 comment ·
-
UKZToken.solOpen
Difficulty 5/5 Over a week Newbie friendliness 15/100
MetaMask/delegation-framework#185 ·
All issues in MetaMask/delegation-framework
Similar issues
-
Log filters reject `"fromBlock": null` (and `toBlock`/`blockHash`) instead of treating it as unsetOpenL1 rpc-api
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
lambdaclass/ethrex#7530 ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 91/100
Maintainers usually reply within 1 day
-
[BUG]: Oracle with rewardBps above 1e5 can never accept a funded price submissionPossibly taken @kansalakshat claimed this 1 day ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
StabilityNexus/OrbOracle-Solidity#27 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
LFDT-Lineth/lineth-monorepo#4442 ·
Maintainers usually reply within 1 day