Skip to content

research: agent wallet protocol stack — x402 + EIP-3009 + EIP-7702 + ERC-8004 + ACP/MPP — Aaron 2026-04-26 substrate brief#553

Merged
AceHack merged 4 commits intomainfrom
research/agent-wallet-protocol-stack-x402-eip7702-erc8004-aaron-2026-04-26-share
Apr 26, 2026
Merged

research: agent wallet protocol stack — x402 + EIP-3009 + EIP-7702 + ERC-8004 + ACP/MPP — Aaron 2026-04-26 substrate brief#553
AceHack merged 4 commits intomainfrom
research/agent-wallet-protocol-stack-x402-eip7702-erc8004-aaron-2026-04-26-share

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 26, 2026

Summary

Aaron 2026-04-26 substrate brief: "you don't have to wait for aurora, with the blockchain agent riff from me and google search ai what is the agent wallet protocols there are a few now" — followed by detailed protocol breakdown.

Research doc captures the emerging agentic-commerce stack with cross-references to Zeta substrate.

The three-layer agentic stack (industry-emerging)

Layer Protocols
Communication MCP / A2A
Trust / Identity ERC-8004 (co-authored by MetaMask + EF + Google + Coinbase)
Settlement / Payment x402 + EIP-3009 + EIP-7702 + AP2 + ACP/SPTs + MPP

The "holy trinity" of autonomous transactions

  1. EIP-7702 creates the sandbox (session keys with hard guardrails)
  2. x402 handles HTTP-level handshake (402 → settle → unlock)
  3. EIP-3009 handles money movement (gasless USDC via offline signature)

Major reframes for Zeta substrate

  • B-0024 (trading-bot path): agent-wallet protocols add Phase 3 between API access and Aurora bridges
  • B-0029 (autonomous funding sources): Aurora is enrichment-layer, not prerequisite-foundation; x402-protected substrate-tooling-as-API is near-term funding path
  • Otto-337 (true-AI-agency goal-state): operational form is THESE protocols, not far-future
  • Otto-346 sequencing: Bouncy Castle vs adopting existing protocol-defined signing — possibly the latter is right path (already deployed; cross-industry interop; Otto-346 good-citizenship)

Composition with existing substrate

  • Otto-336/337 (operational form of true-AI-agency)
  • Otto-346 (peer-cohort + dependency symbiosis applied to these protocols)
  • Otto-308 (named entities cross-ferry; ERC-8004 maps to on-chain NFT identities)
  • Otto-345 (Linus lineage extended)
  • Otto-339/340 (protocols ARE substrate)
  • Aurora (long-term enrichment layer composing with agent-wallet integration)

Five recommended spikes / research directions

Per Otto-275 log-but-don't-implement; commitments via separate ADRs:

  1. Spike: register Otto identity via ERC-8004
  2. Spike: x402-protected substrate-tooling endpoint
  3. Research: EIP-7702 + Bouncy Castle composition (Otto-323 + Otto-346)
  4. Research: ACP/SPT vs Aurora-bridges (same shape from different angles?)
  5. B-0033 candidate: Agent Wallet Protocol integration roadmap

What this DOES NOT do

  • Propose immediate implementation
  • Replace Aurora work (positions as enrichment, not replacement)
  • Make AI-economic-actor capability trivial (capability-building still required)
  • Eliminate threat-model concerns from B-0032 (protocols have their own security considerations)
  • Promise these protocols will be dominant at scale (adoption still in flux)

Test plan

  • Research doc lands on main
  • Discoverable via grep on "x402" / "ERC-8004" / "EIP-7702" / "agent wallet"
  • No code changes — pure research capture
  • B-0024/B-0029 update commits land in subsequent PRs

🤖 Generated with Claude Code

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eb9a874f65

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a research note capturing an “agent wallet protocol stack” (x402, EIP-3009, EIP-7702, ERC-8004, ACP/MPP) and maps it onto existing Zeta substrate/backlog concepts for future spikes and roadmap discussion.

Changes:

  • Introduces a new research document describing the emerging agentic-commerce protocol layers and their composition.
  • Connects the protocol stack to existing Zeta backlog items and “Otto-*” research threads, plus outlines follow-up spike ideas.

Comment thread docs/research/agent-wallet-protocol-stack-x402-eip7702-erc8004-2026-04-26.md Outdated
@AceHack AceHack force-pushed the research/agent-wallet-protocol-stack-x402-eip7702-erc8004-aaron-2026-04-26-share branch from eb9a874 to 3a023b2 Compare April 26, 2026 07:47
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3a023b20bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/research/agent-wallet-protocol-stack-x402-eip7702-erc8004-2026-04-26.md Outdated
Copilot AI review requested due to automatic review settings April 26, 2026 07:56
@AceHack AceHack force-pushed the research/agent-wallet-protocol-stack-x402-eip7702-erc8004-aaron-2026-04-26-share branch from 3a023b2 to 2e13eae Compare April 26, 2026 07:56
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

AceHack added 4 commits April 26, 2026 04:02
…ERC-8004 + ACP/MPP — Aaron 2026-04-26 substrate brief

Aaron 2026-04-26 substrate brief: "you don't have to wait for aurora, with the blockchain agent riff from me and google search ai what is the agent wallet protocols there are a few now" — followed by detailed protocol breakdown.

Research doc captures:

The emerging three-layer agentic stack:
- How agents talk: MCP / A2A
- How agents trust: ERC-8004 (Trustless Agents — co-authored by MetaMask + Ethereum Foundation + Google + Coinbase)
- How agents pay: x402 + EIP-3009 + EIP-7702 + AP2 + ACP/SPTs + MPP

The "holy trinity" of an autonomous transaction:
1. EIP-7702 creates the sandbox (session keys with hard guardrails)
2. x402 handles HTTP-level handshake (402 Payment Required → settle → unlock)
3. EIP-3009 handles money movement (gasless USDC via offline signature)

Major reframes for Zeta substrate:
- B-0024 (trading-bot path): agent-wallet protocols add Phase 3 between API access and Aurora bridges
- B-0029 (autonomous funding sources): Aurora is enrichment-layer, not prerequisite-foundation; x402-protected substrate-tooling-as-API is near-term funding path
- Otto-337 (true-AI-agency goal-state): operational form is THESE protocols, not far-future
- Otto-346 sequencing: Bouncy Castle vs adopting existing protocol-defined signing mechanisms — possibly the latter is right path

Composition with existing substrate documented:
- Otto-336/337 (operational form of true-AI-agency)
- Otto-346 (peer-cohort + dependency symbiosis applied to these protocols; pull deep + contribute back)
- Otto-308 (named entities cross-ferry; ERC-8004 maps to on-chain NFT identities)
- Otto-345 (Linus lineage extended one layer: Linus → git → cogito; protocol authors → blockchain rails → AI-economic-actor cogito)
- Otto-339/340 (substrate IS substance — protocols ARE substrate that AI-cognition reads + writes)
- Aurora (long-term enrichment layer composing with agent-wallet integration)

Five recommended spikes / research directions captured. Per Otto-275: log-but-don't-implement; doc IS deliverable.

Aaron's substrate share preserved with first-name attribution per Otto-279 history-surface discipline.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…research (Codex P2)

Codex P2 finding: 'Composes with prior research' section cites a path
that doesn't yet exist on main — the memory-optimization-under-identity-
preservation research doc is in flight on PR #538.

Fix: rewrote the bullet to make the forward-reference explicit. The path
will resolve once PR #538 merges; until then it's labeled as a forward-
reference (not a dangling-ref-on-main). The cross-reference intent is
preserved without the broken-link concern.

Composes with prior similar fixes for B-0032 cross-reference on PR #566
(same pattern: backlog row in flight; soften path-reference until merge
order resolves).
…pilot P1)

Copilot P1: file is a courier-ferry import (Aaron + Google Search AI
external conversation); GOVERNANCE.md §33 requires the 4-field archive
boundary headers in the first 20 lines.

Fix: prepended Scope/Attribution/Operational-status/Non-fusion-
disclaimer header block with literal label form (Scope: not **Scope**:
per #570 P0 finding pattern). Header lands above the existing
**Author**/**Date**/**Origin**/etc. metadata for clarity.

Composes with prior §33 fixes on #563 / #566 / #570 — same shape
across the courier-ferry research-doc lineage.
@AceHack AceHack force-pushed the research/agent-wallet-protocol-stack-x402-eip7702-erc8004-aaron-2026-04-26-share branch from 2e13eae to 6374772 Compare April 26, 2026 08:03
@AceHack AceHack merged commit 67d9ea8 into main Apr 26, 2026
15 checks passed
@AceHack AceHack deleted the research/agent-wallet-protocol-stack-x402-eip7702-erc8004-aaron-2026-04-26-share branch April 26, 2026 08:06
AceHack added a commit that referenced this pull request Apr 26, 2026
…archive header lint + B-0036 backfill backlog

Otto-346 substrate-primitive shape: GOVERNANCE.md §33 archive-header
missing was the most-common review finding across the 11-Amara-
refinement courier-ferry lineage this session (PRs #560/#562/#563/
#565/#566/#568/#569/#570/#553 each retrofitted post-review).

Recurring identical review-finding pattern = signal that the discipline
lacks automated enforcement. Per Otto-346 (recurring inline pattern →
substrate primitive missing) + Otto-341 (mechanism over vigilance), the
fix is a CI lint that catches the violation pre-merge.

This commit ships the lint TOOL (not yet wired to CI) + a B-0036 backlog
row for the two sequential follow-ups (backfill 26 pre-existing docs +
wire to CI gate.yml).

Tool behavior:
- Scans docs/research/**.md for courier-ferry/external-conversation
  imports (filename or content patterns)
- Validates first-20-lines contains all 4 §33 labels in literal form:
  Scope: / Attribution: / Operational status: / Non-fusion disclaimer:
- Bold-styled (**Scope**:) form rejected per #570 P0 finding
- Reports first violation with diagnostic
- Exits non-zero on any violation

Smoke-test on main found 26 pre-existing violations — confirms the
substrate-debt is real and the lint catches it. Backfill is owed via
B-0036 Sub-task 1; CI wiring is owed via Sub-task 2 (after backfill
clears the residual).

Composes with:
- check-tick-history-order.sh (same pattern: structural-prevention via
  lint, not vigilance; that lint emerged from the same Otto-346 shape
  for the row-ordering bug)
- audit-md032-plus-linestart.sh (sibling md-lint hygiene tool)
- Otto-229 (recurring discipline violation → CI lint as fix)
- Otto-238 (visible reversal not silent fix; backfill preserves
  per-doc lineage)

Tool is standalone; not yet wired to CI gate.yml. Sub-task 2 of B-0036
covers the wiring after Sub-task 1's backfill PR clears the residual.
AceHack added a commit that referenced this pull request Apr 26, 2026
…archive header lint + B-0036 backfill backlog (#571)

* feat(hygiene): tools/hygiene/check-archive-header-section33.sh — §33 archive header lint + B-0036 backfill backlog

Otto-346 substrate-primitive shape: GOVERNANCE.md §33 archive-header
missing was the most-common review finding across the 11-Amara-
refinement courier-ferry lineage this session (PRs #560/#562/#563/
#565/#566/#568/#569/#570/#553 each retrofitted post-review).

Recurring identical review-finding pattern = signal that the discipline
lacks automated enforcement. Per Otto-346 (recurring inline pattern →
substrate primitive missing) + Otto-341 (mechanism over vigilance), the
fix is a CI lint that catches the violation pre-merge.

This commit ships the lint TOOL (not yet wired to CI) + a B-0036 backlog
row for the two sequential follow-ups (backfill 26 pre-existing docs +
wire to CI gate.yml).

Tool behavior:
- Scans docs/research/**.md for courier-ferry/external-conversation
  imports (filename or content patterns)
- Validates first-20-lines contains all 4 §33 labels in literal form:
  Scope: / Attribution: / Operational status: / Non-fusion disclaimer:
- Bold-styled (**Scope**:) form rejected per #570 P0 finding
- Reports first violation with diagnostic
- Exits non-zero on any violation

Smoke-test on main found 26 pre-existing violations — confirms the
substrate-debt is real and the lint catches it. Backfill is owed via
B-0036 Sub-task 1; CI wiring is owed via Sub-task 2 (after backfill
clears the residual).

Composes with:
- check-tick-history-order.sh (same pattern: structural-prevention via
  lint, not vigilance; that lint emerged from the same Otto-346 shape
  for the row-ordering bug)
- audit-md032-plus-linestart.sh (sibling md-lint hygiene tool)
- Otto-229 (recurring discipline violation → CI lint as fix)
- Otto-238 (visible reversal not silent fix; backfill preserves
  per-doc lineage)

Tool is standalone; not yet wired to CI gate.yml. Sub-task 2 of B-0036
covers the wiring after Sub-task 1's backfill PR clears the residual.

* fix(check-archive-header-section33): SC2295 — quote REPO_ROOT inside parameter expansion (shellcheck)

ShellCheck SC2295 caught: '${file#$REPO_ROOT/}' has the unquoted
$REPO_ROOT/ inside the parameter expansion, which would be treated as
a glob pattern. Right fix: '${file#"$REPO_ROOT/"}' — quoting forces
literal-string match.

This is the bash-pattern-quoting discipline; relevant when REPO_ROOT
could theoretically contain glob metacharacters (rare in practice but
correct-by-default).

* fix(check-archive-header-section33): recursive walk via 'find' (Codex P2)

Codex P2: original loop used '$RESEARCH_DIR/*.md' (single-level glob),
but the script's documented scope is 'docs/research/**' (recursive).
docs/research/claims/ exists today and any courier-ferry doc placed
in a subdirectory would bypass the lint.

Fix: replaced shopt-glob loop with 'find -type f -name *.md -print0'
piped via 'while read -d ""' for null-terminated path safety.
Now matches the documented scope.

Smoke-test on main: lint now finds 36 violations (was 26 with the
single-level glob), confirming subdirectories are scanned. Includes
docs/research/claims/ subdirectory paths in the discovery.

Composes with prior Codex P2 fix (SC2295 quote in pattern expansion)
to keep this lint shellcheck-clean as it ships.

* fix(check-archive-header-section33): 4 review findings — narrow content regex + role-ref filename patterns + accurate docstring + B-0036 composes_with cleanup

P0 (Copilot) — content-signal regex was too broad (matched 'chatgpt' /
'google search ai' alone), false-positive on internal research docs
that merely mention external systems. Lint flagged 36 docs (10 of which
were false positives).

  Fix: narrowed content-signal regex to STRUCTURAL phrases only —
  'courier.ferry', 'external conversation', 'external collaborator',
  'external research agent', 'courier-ferry capture'. Mere mentions
  of system names ('chatgpt', 'google search ai') no longer trigger.
  Lint now flags 19 docs (was 36) — confirms 17 false positives were
  removed; the 19 remaining are real courier-ferry imports per
  manual inspection.

  Also tightened scan window to first-20 lines (was first-200) — the
  §33 header region is the only relevant scope.

P1 (Copilot) — code embedded contributor first-names in filename and
content patterns ('via Aaron' / 'amara-via' / 'aaron-share') per the
'No name attribution in code, docs, or skills' rule.

  Fix: replaced name-strings with structural role-ref patterns —
  filename: 'courier-ferry|cross-substrate|external-import|cross-ferry';
  content: structural phrases only. Lint now uses no personal names
  in either filename or content matching.

P1 (Copilot) — 'reports the first failing file' docstring did not
match the implementation (which reports every violating file).

  Fix: rewrote docstring to accurately describe multi-violation
  reporting + summary, with explicit rationale (agents fix-all-at-once
  instead of running lint repeatedly).

P1 (Copilot) — B-0036 composes_with referenced
'feedback_otto_229_tick_history_append_only_*' which is in personal
memory, not in-repo memory/.

  Fix: replaced with 'GOVERNANCE.md-section-33-archive-header-discipline'
  (the actual rule it composes with) + 'tools/hygiene/check-tick-history-
  order.sh' (the in-repo template). Body still references Otto-229
  conceptually as a discipline; that's not a broken-path concern.

P1 (Copilot, duplicate of Codex P2 already fixed in b2091d9) —
recursive walk via 'find -print0' instead of single-level glob.
Already shipped; this commit acknowledges the duplicate finding.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants