Skip to main content

Address

0x0A01700000000000000000000000000000000003 The Agent precompile exposes the x/agent module, which lets a master account authorize an agent account to sign transactions on its behalf. Authorizations are per master/agent pair, carry an optional human-readable name, and always expire.

Supported Methods

Transactions

Queries

Events

Types

Query Examples

Set the current testnet EVM JSON-RPC endpoint and precompile address:
Security note: Use a keystore or hardware wallet for real operations. Do not pass raw private keys directly in shell commands.

Direct call

Call from contract

Transaction Examples

Environment Variables

Direct call

Call from contract

Notes

  • The caller is always the master: approveAgent and revokeAgent derive the master account from msg.sender, so a contract calling the precompile authorizes agents for itself, not for the EOA that called the contract.
  • agentPubkey must be the 33-byte compressed secp256k1 public key of the agent. The agent address is derived from it; you cannot register an agent by address alone.
  • expiresAt is an absolute unix timestamp in seconds. Pass 0 to use defaultExpirySeconds from module params. It must not exceed maxExpirySeconds.
  • Approving an unnamed agent may replace an existing unnamed agent. When that happens the replaced address is returned as replacedAgentAddress and reported in AgentApproved.
  • maxAgentsPerAccount caps how many agents a single master may hold.
  • agentsByMaster takes a PageRequest tuple and returns a PageResponse alongside the agent list.

ABI

Download Agent ABI JSON