Register the agent on the ERC-8004 Identity Registry using your signer. Use numeric chainId (e.g. 11155111 for Sepolia), not string network names. Supported values are listed in ERC-8004 agent identity.

Requirements

signTransaction receives:
  • prepareregisterCall (to, data, value), rpcUrl, agentURI, chainId, identityRegistry
  • fromAddress — checksummed 0x address (must match agent evmAddress)
It must return the transaction hash (0x…).

Option B — Manual prepare / confirm

For MetaMask popups or custom UX between steps:

Read registration

Public registration file (no API key):

FAQ

Can I use MetaMask instead of a private key in signTransaction? Yes. Use prepareAgentIdentity + your wallet provider to sign prepare.registerCall, then confirmAgentIdentity with the returned txHash. Or wrap that logic inside signTransaction for registerAgentIdentityExternal. Who pays gas for ERC-8004 registration? The signing account pays gas for the registry transaction on the target chain.