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

RequirementDetails
Address matchevmAddress on create must equal the account that signs the registry tx
GasThat account needs native token on the target chainId
BackendIdentityRegistry must be configured for your chainId on Agent Kit
CredentialsNo accessKey or organizationId — do not use registerAgentIdentity() (server-only)
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.