BEAM·v0.3.0·MACOS · LINUX·SHA-256 VERIFIED

ERC-8004

v1.0.0
Verified publisherby Payy · requires beam ≥ 0.2.4 · 1 chains

Manage ERC-8004 identity registry agents through Beam app permissions, bounded logs, typed-data signing, and action plans.

▸ install
latestbeam apps install erc8004
pinnedbeam apps install erc8004 --version 1.0.0

Beam asks before it acts. On install, Beam shows the app's full permission summary and waits for your approval before the app is activated — and again before any wallet action. Preview it first with beam apps install erc8004 --dry-run.

§1 Commands

Run app commands with beam x erc8004 (short form) or the equivalent beam apps run erc8004. App commands inherit Beam global flags such as --chain, --from, --rpc, and --format.

beam x erc8004 supportShow ERC-8004 support for the active chain.
$ beam x erc8004 support
Show support
$ beam x erc8004 support --chain base

Print the Base ERC-8004 registry addresses.

  • Includes the identity registry and whether it is default or overridden.
beam x erc8004 configShow or persist registry overrides for the active chain.
$ beam x erc8004 config show | config set --identity-registry <address> [--reputation-registry <address>]
ArgumentTypeRequiredDescription
--identity-registry <address>addressoptionalIdentity registry override for the active chain.
--reputation-registry <address>addressoptionalOptional reputation registry override stored for future versions.
Set override
$ beam x erc8004 config set --identity-registry 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432

Persist an identity registry address for the active chain.

  • Registry overrides are stored in app-local Beam storage.
beam x erc8004 registerPrepare a transaction that registers an ERC-8004 agent.
$ beam x erc8004 register [--uri <uri>|--empty-uri] [--identity-registry <address>]
ArgumentTypeRequiredDescription
--uri <uri>stringoptionalHTTPS, IPFS, or data URI for the agent metadata.
--empty-uriflagoptionalRegister without an agent URI.
--identity-registry <address>addressoptionalInvocation-scoped identity registry override.
Register
$ beam x erc8004 register --uri https://agent.example/agent.json

Prepare and approve a registration transaction.

  • Returns an action plan that Beam approves and executes.
beam x erc8004 showRead owner, URI, and agent wallet for an ERC-8004 agent.
$ beam x erc8004 show <agent-id> [--fetch-uri] [--identity-registry <address>]
ArgumentTypeRequiredDescription
<agent-id>integerrequiredERC-8004 token ID.
--fetch-uriflagoptionalFetch HTTPS agent metadata through Beam's safe HTTP host.
--identity-registry <address>addressoptionalInvocation-scoped identity registry override.
Show agent
$ beam x erc8004 show 1 --fetch-uri

Read an agent and fetch HTTPS metadata if available.

  • Non-HTTPS URIs are not fetched.
beam x erc8004 listList ERC-8004 registrations using bounded log reads.
$ beam x erc8004 list [--wallet <wallet>] [--connection owner|agent-wallet|both] [--from-block <n>] [--to-block <n>] [--identity-registry <address>]
ArgumentTypeRequiredDescription
--wallet <wallet>stringoptionalBeam wallet name, ENS name, or EVM address; defaults to the active wallet.
--connection <mode>enumoptionalFilter by owner, agent wallet, or both.
--from-block <number>integeroptionalStart block. Defaults to a bounded recent host window.
--to-block <number>integeroptionalEnd block. Defaults to latest.
List owned agents
$ beam x erc8004 list --wallet alice --from-block 1000000

List agents registered by alice in a bounded block range.

  • The host caps log ranges and response size.
beam x erc8004 set-uriPrepare a transaction that updates an agent URI.
$ beam x erc8004 set-uri <agent-id> <uri> [--identity-registry <address>]
ArgumentTypeRequiredDescription
<agent-id>integerrequiredERC-8004 token ID.
<uri>stringrequiredNew HTTPS, IPFS, or data URI.
--identity-registry <address>addressoptionalInvocation-scoped identity registry override.
Update URI
$ beam x erc8004 set-uri 1 https://agent.example/new.json

Prepare and approve an agent URI update.

  • Returns an action plan.
beam x erc8004 set-walletRequest a typed-data signature from the target wallet and prepare the wallet update transaction.
$ beam x erc8004 set-wallet <agent-id> <wallet> [--deadline-seconds <seconds>] [--identity-registry <address>]
ArgumentTypeRequiredDescription
<agent-id>integerrequiredERC-8004 token ID.
<wallet>stringrequiredBeam wallet name or stored EVM address selector that signs the update.
--deadline-seconds <seconds>integeroptionalSignature validity window, capped at 300 seconds.
--identity-registry <address>addressoptionalInvocation-scoped identity registry override.
Set named wallet
$ beam x erc8004 set-wallet 1 alice

Resolve alice from Beam wallets, request its typed-data signature, then prepare the registry update.

  • The app never receives raw private keys.
beam x erc8004 unset-walletPrepare a transaction that clears an agent wallet.
$ beam x erc8004 unset-wallet <agent-id> [--identity-registry <address>]
ArgumentTypeRequiredDescription
<agent-id>integerrequiredERC-8004 token ID.
--identity-registry <address>addressoptionalInvocation-scoped identity registry override.
Unset wallet
$ beam x erc8004 unset-wallet 1

Prepare and approve clearing the agent wallet.

  • Returns an action plan.

§2 Readme

ERC-8004 Beam App

The ERC-8004 app manages identity-registry agents through Beam's generic app host. It keeps registry defaults and overrides in app space rather than as a native Beam command.

beam x erc8004 support
beam x erc8004 config show
beam x erc8004 config set --identity-registry <address>
beam x erc8004 register [--uri <uri>|--empty-uri] [--identity-registry <address>]
beam x erc8004 show <agent-id> [--fetch-uri] [--identity-registry <address>]
beam x erc8004 list [--wallet <wallet>] [--connection owner|agent-wallet|both] [--identity-registry <address>]
beam x erc8004 set-uri <agent-id> <uri> [--identity-registry <address>]
beam x erc8004 set-wallet <agent-id> <wallet> [--deadline-seconds <seconds>] [--identity-registry <address>]
beam x erc8004 unset-wallet <agent-id> [--identity-registry <address>]

Default ERC-8004 identity registry addresses are manifest-scoped. Custom registry addresses come from app-local config or an explicit --identity-registry flag and are included as invocation-scoped contract rules in host calls and action plans.

list uses eth_getLogs through the Beam host. The host enforces a bounded block range and the app defaults to the active wallet with owner filtering, so it does not scan from genesis unless the user passes a broad explicit range.

set-wallet resolves the wallet argument through Beam and requests an EIP-712 typed-data signature from the host. The app receives only the signature and digest, never raw private keys.