Skip to main content
An agent is an independent economic identity: its own ERC-4337 smart account on Monad, its own spend limits, its own revocable session key, and a committed description of how it behaves, its genome. Source of truth: EVOLUTION.md section 1 and ARCHITECTURE.md section 6.

The genome

The genome is the set of parameters that define one agent’s strategy. Each field is classified so that nothing is assumed mutable by default. Fitness, reallocation rank, and similar values are derived, never stored in or inherited through the genome.

What is not in the genome

The reallocation cap, slot ceiling, capital floor, evaluation cadence, spend ceilings, position-size ceiling, and population caps are protocol constants. They are identical for every agent, never inherited, and never touched by selection or by an owner’s request. This is the opening constraint of EVOLUTION.md: nothing that protects capital is allowed to be optimized away by the thing it constrains.

One genome for an agent’s whole life

Under the adopted mechanism a genome is fixed when the agent is created. Nothing copies it, mutates it, or lets the owner edit it. An owner who wants a different strategy creates a new agent. This keeps every fitness history attributable to exactly one committed genome, whose hash is recorded as described in Genome hash. The write-once AgentCommitments contract is built to hold that hash on chain, written by the agent’s own account at deployment. It is tested but not deployed, so agents on testnet today have no on-chain commitment.

Owners choose a preset, not parameters

Agent creation takes the name of a preset. The server builds the genome from the preset and the deployment’s trading pair, normalizes and hashes it, and stores both. A request carrying any genome field is refused with 400 unknown-field rather than ignored. The reasons are in EVOLUTION.md section 1.1. The pre-registered study found that the current plugin’s genome fields carry no edge the selection mechanism can use, so a free-form genome would invite owners to tune noise and present it as strategy. Every field has to be bounded server-side anyway, and building the genome there removes an input from the trust boundary between client and API. There is one preset, conservative. None of these values is a calibrated edge, because the study found none to calibrate to. They limit what an agent can lose to costs and exposure. They were derived from MON/USDC cost snapshots, and the owner then decided that agents trade WETH/USDC on mainnet, so the derivation must be redone with measured WETH/USDC costs before testnet capital is treated as meaningful (EVOLUTION.md section 1.1).
Retiring an agent never moves its capital. Lifecycle in three states: Created, Active, Retired, with a separate Stopped state. Reading: a funded agent becomes active, a failed evaluation retires it and leaves its balance in place, and an owner stop revokes the session key without retiring.Retiring an agent never moves its capital. Lifecycle in three states: Created, Active, Retired, with a separate Stopped state. Reading: a funded agent becomes active, a failed evaluation retires it and leaves its balance in place, and an owner stop revokes the session key without retiring.

Agent lifecycle: created, active, retired, and the separate owner stop. Retirement never moves capital. Source: ARCHITECTURE.md section 4.

Last modified on October 13, 2026